{"name":"OpenContent","description":"Attribution-first open media/content ingestion, metadata generation, share-card, discovery, and MCP/API layer","version":"0.4.0","generated_at":"2026-09-01T03:57:45.876Z","base_url":"https://opencontent.platphormnews.com","stats":{"total_documents":0,"total_categories":0,"unique_sources":0},"endpoints":{"api":{"content":"https://opencontent.platphormnews.com/api/v1/content","content_metadata":"https://opencontent.platphormnews.com/api/v1/content/{id}/metadata","content_share_links":"https://opencontent.platphormnews.com/api/v1/content/{id}/share-links","content_share_card":"https://opencontent.platphormnews.com/api/v1/content/{id}/share-card","url_preview":"https://opencontent.platphormnews.com/api/v1/url-preview","content_preview":"https://opencontent.platphormnews.com/api/v1/content/preview","documents":"https://opencontent.platphormnews.com/api/v1/documents","search":"https://opencontent.platphormnews.com/api/v1/search","submissions":"https://opencontent.platphormnews.com/api/v1/submissions","categories":"https://opencontent.platphormnews.com/api/v1/categories","web_status":"https://opencontent.platphormnews.com/api/web/status","web_scorecard":"https://opencontent.platphormnews.com/api/web/scorecard","web_manifest":"https://opencontent.platphormnews.com/api/web/manifest","web_fingerprints":"https://opencontent.platphormnews.com/api/web/fingerprints"},"mcp":"https://opencontent.platphormnews.com/api/mcp","discovery":{"llms_txt":"https://opencontent.platphormnews.com/llms.txt","llms_full":"https://opencontent.platphormnews.com/llms-full.txt","llms_index":"https://opencontent.platphormnews.com/llms-index.json","sitemap":"https://opencontent.platphormnews.com/sitemap.xml","sitemap_index":"https://opencontent.platphormnews.com/sitemap-index.xml","sitemap_network":"https://opencontent.platphormnews.com/sitemap-network.xml","sitemap_full":"https://opencontent.platphormnews.com/sitemap-full.xml","rss":"https://opencontent.platphormnews.com/rss.xml","graph":"https://opencontent.platphormnews.com/graph.json","opencontent_graph":"https://opencontent.platphormnews.com/opencontent.graph.json","web_status":"https://opencontent.platphormnews.com/web/status","ai_plugin":"https://opencontent.platphormnews.com/.well-known/ai-plugin.json"}},"mcp":{"protocol_version":"2024-11-05","tools":[{"name":"list_documents","description":"List published content with filtering, search, and pagination. Returns title, slug, emoji summary, reading time.","parameters":["category","search","tag","limit","offset","sort"]},{"name":"get_document","description":"Get a single document by slug, including full Markdown content and metadata.","parameters":["slug"]},{"name":"create_document","description":"Create a new document. Returns the created document with slug and generated SEO metadata.","parameters":["title","content","description","category","tags","source_url","author_name","target_audience","status"]},{"name":"update_document","description":"Update an existing document by slug. Only provided fields are updated.","parameters":["slug","title","content","description","category","tags","status"]},{"name":"delete_document","description":"Soft-delete a document by slug.","parameters":["slug"]},{"name":"search","description":"Full-text search across all documents using PostgreSQL tsvector.","parameters":["query","limit","offset","category"]},{"name":"list_categories","description":"List all document categories with document counts.","parameters":[]},{"name":"list_content","description":"List public OpenContent media/content entries with filtering, search, and pagination.","parameters":["type","platform","category","tag","query","limit","offset","sort"]},{"name":"get_content","description":"Get a public OpenContent entry by slug or id with attribution, metadata, share-card data, and dynamic share links.","parameters":["id"]},{"name":"preview_url","description":"Safely preview a public URL with SSRF protection and generated attribution, SEO/AEO, OG/Twitter, JSON-LD, share-card, and share-link metadata without persisting it.","parameters":["url"]},{"name":"regenerate_metadata","description":"Regenerate and persist SEO/AEO/OG/Twitter/JSON-LD/metatag/share-link metadata for an existing OpenContent entry. Requires PLATPHORM_API_KEY.","parameters":["id"]},{"name":"regenerate_share_card","description":"Regenerate and persist share-card and dynamic share-link metadata for an existing OpenContent entry. Requires PLATPHORM_API_KEY.","parameters":["id"]},{"name":"get_share_links","description":"Get dynamic share links for an existing OpenContent entry without re-ingestion.","parameters":["id"]},{"name":"get_attribution","description":"Get the generated attribution block for an existing OpenContent entry.","parameters":["id"]},{"name":"search_content","description":"Search public OpenContent entries by title, description, creator, source URL, category, platform, and tags.","parameters":["query","type","platform","category","limit","offset"]},{"name":"list_sources","description":"List public content source domains with real content counts.","parameters":["limit"]},{"name":"list_platforms","description":"List OpenContent platforms with real public content counts.","parameters":[]},{"name":"list_tags","description":"List public OpenContent tags with real content counts.","parameters":["limit"]},{"name":"validate_content_metadata","description":"Validate whether an existing OpenContent entry has the required attribution, SEO/AEO, OG/Twitter, share-card, metatag, JSON-LD, and share-link metadata.","parameters":["id"]},{"name":"create_docs_report","description":"Create a public-safe OpenContent inventory, metadata, and share-card coverage report for Docs publication or operator review.","parameters":["format"]},{"name":"create_sheet_report","description":"Create a structured OpenContent inventory report payload suitable for Sheets export; returns an honest degraded state if Sheets export is not configured.","parameters":["format"]},{"name":"create_deck_summary","description":"Create an executive OpenContent summary payload suitable for Decks export; returns an honest degraded state if Decks export is not configured.","parameters":["format"]},{"name":"get_related_content","description":"Get documents related to a specific document by slug based on category and tags.","parameters":["slug","limit"]},{"name":"list_media_content","description":"List approved media content with filtering by type, platform, category, featured state, and sort order.","parameters":["type","platform","category","featured","limit","sort"]},{"name":"get_media_content","description":"Get a single approved media content item with attribution and ingestion metadata.","parameters":["slug"]},{"name":"submit_content","description":"Submit external content for review and potential publication.","parameters":["source_url","title","content","author_name","author_email"]},{"name":"ingest_url","description":"Automatically fetch and ingest content from a URL.","parameters":["url","category","tags","auto_publish"]},{"name":"ingest_media_url","description":"Ingest a media URL into media_content using the platform extractor pipeline.","parameters":["url","category","tags","auto_publish","submitter_name","submitter_email","source_identifier"]},{"name":"get_emoji","description":"Get a descriptive emoji summary for a given text.","parameters":["text"]},{"name":"add_emoji_to_doc","description":"Generate and add an emoji summary to an existing document.","parameters":["slug"]},{"name":"bulk_import","description":"Import multiple documents at once.","parameters":["documents"]},{"name":"regenerate_seo","description":"Regenerate SEO metadata (og_title, og_description) for all documents.","parameters":[]},{"name":"generate_optimization","description":"Generate SEO optimization suggestions for a document.","parameters":["slug"]},{"name":"export_content","description":"Export documents matching criteria in a specific format.","parameters":["format","category","status"]},{"name":"get_stats","description":"Get overall documentation platform statistics.","parameters":[]},{"name":"get_analytics_overview","description":"Get analytics, ingestion quality, submission queue, and content-health coverage for the full platform.","parameters":[]},{"name":"get_discovery_hub","description":"Get the unified discovery map for human, builder, and machine-readable project surfaces.","parameters":[]},{"name":"get_web_status","description":"Get public-safe OpenContent Web Status with source-labeled counts, route readiness, auth boundary, and degraded states.","parameters":[]},{"name":"trigger_webhook","description":"Trigger a test webhook event.","parameters":["event","payload"]},{"name":"list_integrations","description":"List all configured external integrations.","parameters":[]},{"name":"call_integration","description":"Call a specific external integration endpoint.","parameters":["name","action","payload"]},{"name":"parse_markdown","description":"Parse Markdown content and return HTML with table of contents","parameters":["content","enable_emoji"]},{"name":"generate_share_links","description":"Generate social sharing links for a document or OpenContent media/content entry.","parameters":["slug","entry_type"]},{"name":"list_project_content","description":"List static root documentation files exposed publicly by this project.","parameters":["category"]},{"name":"get_project_doc","description":"Get a specific static root documentation file from this project by slug.","parameters":["slug","format"]},{"name":"trigger_automation","description":"Trigger an automation workflow via Claws","parameters":["workflow_id","payload"]},{"name":"get_automation_status","description":"Get status of an automation workflow via Claws","parameters":["execution_id"]}],"resources":[{"uri":"project-content://{slug}","name":"Project content","description":"Access documentation for specific projects","mimeType":"application/json"},{"uri":"content://index","name":"Documentation Index","description":"Index of all published documentation pages","mimeType":"application/json"},{"uri":"content://media","name":"Media Index","description":"Index of approved public media content","mimeType":"application/json"},{"uri":"content://categories","name":"Categories","description":"All documentation categories","mimeType":"application/json"},{"uri":"content://recent","name":"Recent Documents","description":"Recently published documentation","mimeType":"application/json"},{"uri":"content://popular","name":"Popular Documents","description":"Most viewed documentation","mimeType":"application/json"},{"uri":"content://tags","name":"Tags","description":"All unique tags used in documentation","mimeType":"application/json"},{"uri":"content://stats","name":"Platform Statistics","description":"Overall statistics for the documentation platform","mimeType":"application/json"},{"uri":"content://analytics","name":"Analytics Snapshot","description":"Analytics, ingestion quality, and content-health summary","mimeType":"application/json"},{"uri":"content://discover","name":"Discovery Hub","description":"Unified discovery map for human, builder, and machine-readable surfaces","mimeType":"application/json"},{"uri":"content://sitemap","name":"Sitemap","description":"XML sitemap representation of all content","mimeType":"application/json"},{"uri":"content://llms","name":"LLMs Text","description":"AI-friendly representation of all documentation","mimeType":"text/plain"},{"uri":"opencontent://content","name":"OpenContent Entries","description":"Public media/content entries with attribution-first metadata","mimeType":"application/json"},{"uri":"opencontent://content/{id}","name":"OpenContent Entry","description":"Single content entry by slug or id","mimeType":"application/json"},{"uri":"opencontent://sources","name":"OpenContent Sources","description":"Public source domains with content counts","mimeType":"application/json"},{"uri":"opencontent://platforms","name":"OpenContent Platforms","description":"Supported and observed content platforms with counts","mimeType":"application/json"},{"uri":"opencontent://categories","name":"OpenContent Categories","description":"Content categories with media counts","mimeType":"application/json"},{"uri":"opencontent://tags","name":"OpenContent Tags","description":"Public content tags with counts","mimeType":"application/json"},{"uri":"opencontent://content/{id}/metadata","name":"OpenContent Metadata","description":"SEO/AEO/OG/Twitter/share-card/JSON-LD metadata for a content entry","mimeType":"application/json"},{"uri":"opencontent://content/{id}/share-links","name":"OpenContent Share Links","description":"Dynamic share links for an existing content entry","mimeType":"application/json"},{"uri":"opencontent://content/{id}/attribution","name":"OpenContent Attribution","description":"Generated attribution block for an existing content entry","mimeType":"application/json"},{"uri":"opencontent://openapi","name":"OpenContent OpenAPI","description":"OpenAPI discovery URL and endpoint inventory","mimeType":"application/json"},{"uri":"opencontent://llms","name":"OpenContent LLMs Index","description":"LLM discovery URLs for OpenContent","mimeType":"application/json"},{"uri":"opencontent://trust-policy","name":"OpenContent Trust Policy","description":"Public/protected boundary, auth, attribution, metadata, and trace policy summary","mimeType":"application/json"},{"uri":"opencontent://web-status","name":"OpenContent Web Status","description":"Public-safe Web Status with source-labeled counts, route readiness, and degraded states","mimeType":"application/json"}],"prompts":[{"name":"explain_doc","description":"Explain a documentation page in simple terms","arguments":[{"name":"slug","description":"The document slug","required":true}]},{"name":"summarize_category","description":"Summarize all documents in a category","arguments":[{"name":"category","description":"The category slug","required":true}]},{"name":"compare_content","description":"Compare two documentation pages","arguments":[{"name":"slug1","description":"First document slug","required":true},{"name":"slug2","description":"Second document slug","required":true}]},{"name":"generate_faq","description":"Generate FAQ from document content","arguments":[{"name":"slug","description":"The document slug","required":true}]},{"name":"translate_doc","description":"Translate document to another language","arguments":[{"name":"slug","description":"The document slug","required":true},{"name":"language","description":"Target language","required":true}]},{"name":"improve_seo","description":"Suggest SEO improvements for a document","arguments":[{"name":"slug","description":"The document slug","required":true}]},{"name":"summarize_content","description":"Summarize an OpenContent media/content entry with attribution context","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"generate_attribution","description":"Generate or review an attribution block for an OpenContent entry","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"generate_seo_metadata","description":"Generate SEO metadata guidance for an OpenContent entry","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"generate_aeo_metadata","description":"Generate answer-engine metadata guidance for an OpenContent entry","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"generate_share_copy","description":"Generate social share copy from OpenContent share-card metadata","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"create_content_brief","description":"Create a human-machine handoff brief for an OpenContent entry","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"explain_ingestion_failure","description":"Explain an ingestion or metadata generation failure in operator-friendly terms","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"generate_content_remediation","description":"Generate remediation steps for missing attribution, metadata, or share-card coverage","arguments":[{"name":"id","description":"Content slug or id","required":true}]},{"name":"human_machine_content_handoff","description":"Prepare a handoff note for humans and agents working on a content entry","arguments":[{"name":"id","description":"Content slug or id","required":true}]}]},"categories":[],"documents":[],"authentication":{"type":"bearer","header":"Authorization","format":"Bearer $PLATPHORM_API_KEY or X-PlatPhorm-API-Key: $PLATPHORM_API_KEY","scopes":["read","write","admin"],"bootstrap_endpoint":"https://opencontent.platphormnews.com/api/v1/keys"},"metadataCapabilities":["seo_metadata","aeo_metadata","open_graph_metadata","twitter_x_card_metadata","json_ld","metatags","share_card","dynamic_share_links","attribution"],"webStatus":{"schemaVersion":"web.status.v1","page":"https://opencontent.platphormnews.com/web/status","api":"https://opencontent.platphormnews.com/api/web/status","scorecard":"https://opencontent.platphormnews.com/api/web/scorecard","manifest":"https://opencontent.platphormnews.com/api/web/manifest","fingerprints":"https://opencontent.platphormnews.com/api/web/fingerprints"},"shareCapabilities":{"platforms":["x","linkedin","facebook","reddit","email","copy","bluesky","mastodon","threads","generic"],"regeneration":"Protected by PLATPHORM_API_KEY; does not require re-ingestion."},"webhooks":{"events":["document.created","document.updated","document.deleted","submission.created","submission.approved","submission.rejected"],"signature_header":"X-OpenContent-Signature","signature_format":"sha256={hmac}"}}