{"service":"mcp","name":"PlatPhormNews MCP Gateway","version":"0.1.0","baseUrl":"https://mcp.platphormnews.com","description":"Canonical MCP gateway, registry, micro-factory, MCP/API bridge, and agent tool gateway for the PlatPhormNews network. 140 tools, 16 resources, 23 prompts.","mcp":{"endpoint":"https://mcp.platphormnews.com/api/mcp","transport":["streamable-http"],"protocol_version":"2024-11-05","supported_protocol_versions":["2025-06-18","2024-11-05"],"preferred_client_protocol_version":"2025-06-18","authentication":"Public read-only introspection. Protected write/proxy/admin actions require PLATPHORM_API_KEY.","tools_count":140,"resources_count":16,"prompts_count":23},"auth":{"env":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"public":["initialize","ping","tools/list","resources/list","resources/read","prompts/list","prompts/get"],"protected":["tools/call for protected tools","registration","sync","proxy","reports","test triggers"]},"endpoints":{"mcp":"https://mcp.platphormnews.com/api/mcp","health":"https://mcp.platphormnews.com/api/health","docs":"https://mcp.platphormnews.com/docs","docs_json":"https://mcp.platphormnews.com/api/docs","openapi":"https://mcp.platphormnews.com/openapi.yaml","test":"https://mcp.platphormnews.com/api/v1/test/mcp","dashboard":"https://mcp.platphormnews.com/mcp","llms_txt":"https://mcp.platphormnews.com/llms.txt","llms_full":"https://mcp.platphormnews.com/llms-full.txt","llms_index":"https://mcp.platphormnews.com/llms-index.json","discovery":"https://mcp.platphormnews.com/.well-known/mcp.json","agents":"https://mcp.platphormnews.com/.well-known/agents.json","ai_plugin":"https://mcp.platphormnews.com/.well-known/ai-plugin.json","trust":"https://mcp.platphormnews.com/.well-known/trust.json","claws":"https://claws.platphormnews.com","faq":"https://mcp.platphormnews.com/faq","sitemap_main":"https://mcp.platphormnews.com/sitemap-main.xml","registry_snapshot":"https://mcp.platphormnews.com/api/v1/registry/snapshot","registry_reconcile":"https://mcp.platphormnews.com/api/v1/registry/reconcile","discovery_compliance":"https://mcp.platphormnews.com/api/v1/network/discovery-compliance","demo_readiness":"https://mcp.platphormnews.com/api/v1/demo/suite","shared_demo_readiness":"https://mcp.platphormnews.com/api/demo/readiness","registry_counts":"https://mcp.platphormnews.com/api/v1/registry/counts","federated_tools":"https://mcp.platphormnews.com/api/v1/registry/federated-tools?live=1","capability_graph":"https://mcp.platphormnews.com/api/v1/discovery/graph","discovery_sites":"https://mcp.platphormnews.com/api/v1/discovery/sites","factory_tools":"https://mcp.platphormnews.com/api/v1/factory/tools","gateway_status":"https://mcp.platphormnews.com/api/v1/gateway/status","integrations_status":"https://mcp.platphormnews.com/api/v1/integrations/status","agent_policy":"https://mcp.platphormnews.com/.well-known/agent-policy.json","ai_policy":"https://mcp.platphormnews.com/.well-known/ai-policy.json","registry_drift":"https://mcp.platphormnews.com/api/v1/registry/drift","web_manifest":"https://mcp.platphormnews.com/.well-known/web.json","web_status":"https://mcp.platphormnews.com/api/web/status","web_scorecard":"https://mcp.platphormnews.com/api/web/scorecard","web_fingerprints":"https://mcp.platphormnews.com/api/web/fingerprints","web4_manifest":"https://mcp.platphormnews.com/.well-known/web4.json","web4_status":"https://mcp.platphormnews.com/api/web4/status","web4_scorecard":"https://mcp.platphormnews.com/api/web4/scorecard","web4_fingerprints":"https://mcp.platphormnews.com/api/web4/fingerprints","provenance":"https://mcp.platphormnews.com/.well-known/provenance.json","provenance_lookup":"https://mcp.platphormnews.com/api/provenance/lookup","provenance_verify":"https://mcp.platphormnews.com/api/provenance/verify","asyncapi":"https://mcp.platphormnews.com/asyncapi.yaml"},"publicAccess":{"enabled":true,"methods":["initialize","ping","tools/list","resources/list","resources/read","prompts/list","prompts/get"],"note":"Public-safe read-only introspection is enabled by default."},"tools":[{"name":"get_network_info","description":"Get metadata about the PlatPhorm News network: owner, orgs, verticals, stats, and MCP hub info. Always available (no database dependency).","inputSchema":{"type":"object","properties":{}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"network_status","description":"Check the status of the entire PlatPhorm News network or specific sites.","inputSchema":{"type":"object","properties":{"domain":{"type":"string"}}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"get_network_sites","description":"List known sites in the PlatPhorm News network (*.platphormnews.com, *.ph3ar.com). Merges Redis overlay, root graph, base sitemap index, bootstrap fallback, and configured extras with source labels.","inputSchema":{"type":"object","properties":{"vertical":{"type":"string"},"mcpOnly":{"type":"boolean"},"withApiDocs":{"type":"boolean"}}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"discover_network_sites","description":"Discover trusted PlatPhormNews sites automatically from the root graph, base sitemap index, bootstrap fallback, and EXTRA_DISCOVERY_DOMAINS. Public-safe: does not mutate registry state.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"},"timeoutMs":{"type":"number"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"list_federated_mcp_tools","description":"List source-labeled remote MCP tools discovered from trusted PlatPhormNews MCP endpoints. Remote tools are not local callable tools unless delegated through policy.","inputSchema":{"type":"object","properties":{"live":{"type":"boolean"},"limit":{"type":"number"},"concurrency":{"type":"number"},"timeoutMs":{"type":"number"},"query":{"type":"string"}}},"category":"MCP Federation","authRequired":false,"mutability":"read","status":"active"},{"name":"resolve_trusted_site","description":"Resolve a trusted PlatPhormNews or ph3ar domain from automatic discovery sources and return public discovery artifact URLs.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Trusted site domain or URL, such as searchops.platphormnews.com"}},"required":["domain"]},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"get_network_mcp_servers","description":"List known and candidate MCP servers in the PlatPhorm News federation from automatic trusted-site discovery plus optional Redis overlay.","inputSchema":{"type":"object","properties":{}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"resolve_network_domain","description":"Resolve any *.platphormnews.com or *.ph3ar.com domain to its site data. Uses Redis and graph/bootstrap discovery with explicit source labels.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to resolve (e.g. ascii.platphormnews.com)"}},"required":["domain"]},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"fetch_network_sitemap","description":"Fetch and parse platphormnews.com/sitemap-main.xml to discover all URLs across the network. Returns structured sitemap data with lastmod, changefreq, and priority.","inputSchema":{"type":"object","properties":{"sitemapUrl":{"type":"string"},"headers":{"type":"object","additionalProperties":true},"timeout":{"type":"number"},"maxRetries":{"type":"number"}}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"discover_site_api","description":"Fetch /api/docs from any *.platphormnews.com site to discover its available API endpoints, tools, and capabilities. Supports quake.platphormnews.com, calendar.platphormnews.com, ascii.platphormnews.com, and any other network site with API docs.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain or URL of the site (e.g. quake.platphormnews.com or https://calendar.platphormnews.com)"},"headers":{"type":"object","additionalProperties":true},"timeout":{"type":"number"},"maxRetries":{"type":"number"}},"required":["domain"]},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"get_site_health","description":"Fetch /api/health from any network site to check its current status, uptime, and capabilities. Works with any *.platphormnews.com or *.ph3ar.com site.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to health-check (e.g. quake.platphormnews.com)"},"headers":{"type":"object","additionalProperties":true},"timeout":{"type":"number"},"maxRetries":{"type":"number"}},"required":["domain"]},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"list_articles","description":"List articles with pagination and optional filtering by category, tag, or status.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"category":{"type":"string"},"tag":{"type":"string"},"status":{"type":"string","enum":["draft","published","archived"]}}},"category":"Content","authRequired":false,"mutability":"read","status":"active"},{"name":"get_article","description":"Get a single article by ID or slug. Returns full content and increments view counter.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"}}},"category":"Content","authRequired":false,"mutability":"read","status":"active"},{"name":"create_article","description":"Create a new article. Slug auto-generated from title. Defaults to draft.","inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"Article title"},"content":{"type":"string","description":"Article body (markdown)"},"excerpt":{"type":"string","description":"Short excerpt"},"author":{"type":"string","description":"Author name"},"category":{"type":"string","description":"Category slug"},"tags":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["draft","published"]}},"required":["title","content","excerpt","author","category"]},"category":"Content","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"update_article","description":"Update an existing article by ID. Only provided fields are changed.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Article ID to update"},"title":{"type":"string"},"content":{"type":"string"},"excerpt":{"type":"string"},"author":{"type":"string"},"category":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}},"required":["id"]},"category":"Content","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"delete_article","description":"Soft-delete an article by archiving it.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Article ID to archive"}},"required":["id"]},"category":"Content","authRequired":true,"mutability":"admin","status":"auth_required"},{"name":"publish_article","description":"Publish a draft article and record the publish timestamp.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Article ID to publish"}},"required":["id"]},"category":"Content","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"list_categories","description":"List all content categories.","inputSchema":{"type":"object","properties":{}},"category":"Categories","authRequired":false,"mutability":"read","status":"active"},{"name":"create_category","description":"Create a new content category. Slug auto-generated from name.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Category display name"},"description":{"type":"string","description":"Category description"}},"required":["name","description"]},"category":"Categories","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"update_category","description":"Update an existing category by ID.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Category ID"},"name":{"type":"string"},"description":{"type":"string"}},"required":["id"]},"category":"Categories","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"delete_category","description":"Delete a category by ID.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Category ID"}},"required":["id"]},"category":"Categories","authRequired":true,"mutability":"admin","status":"auth_required"},{"name":"list_faqs","description":"List all FAQs, optionally filtered by category.","inputSchema":{"type":"object","properties":{"category":{"type":"string"}}},"category":"FAQ","authRequired":false,"mutability":"read","status":"active"},{"name":"create_faq","description":"Create a new FAQ entry.","inputSchema":{"type":"object","properties":{"question":{"type":"string","description":"The FAQ question"},"answer":{"type":"string","description":"The FAQ answer"},"category":{"type":"string","description":"FAQ category"},"order":{"type":"number","description":"Display order (lower = first)"}},"required":["question","answer","category","order"]},"category":"FAQ","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"update_faq","description":"Update an existing FAQ entry by ID.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"FAQ ID"},"question":{"type":"string"},"answer":{"type":"string"},"category":{"type":"string"},"order":{"type":"number"}},"required":["id"]},"category":"FAQ","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"delete_faq","description":"Permanently delete an FAQ entry by ID.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"FAQ ID"}},"required":["id"]},"category":"FAQ","authRequired":true,"mutability":"admin","status":"auth_required"},{"name":"search_articles","description":"Full-text search across articles by title, content, excerpt, and tags.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query string"},"limit":{"type":"number"}},"required":["query"]},"category":"Content","authRequired":false,"mutability":"read","status":"active"},{"name":"get_analytics","description":"Get view counts for a specific article or trending articles across the platform.","inputSchema":{"type":"object","properties":{"articleId":{"type":"string"},"trendingLimit":{"type":"number"}}},"category":"Analytics","authRequired":false,"mutability":"read","status":"active"},{"name":"list_org_repos","description":"List repositories for a GitHub org (mbarbine, process-co, ph3ar).","inputSchema":{"type":"object","properties":{"org":{"type":"string","enum":["mbarbine","process-co","ph3ar"],"description":"GitHub org"},"sort":{"type":"string","enum":["updated","created","pushed","full_name"]},"per_page":{"type":"number"},"page":{"type":"number"},"include_archived":{"type":"boolean"}},"required":["org"]},"category":"GitHub","authRequired":false,"mutability":"read","status":"active"},{"name":"get_repo_details","description":"Get detailed info about a specific repo including README, languages, contributors.","inputSchema":{"type":"object","properties":{"owner":{"type":"string","description":"Repo owner"},"repo":{"type":"string","description":"Repo name"},"include_readme":{"type":"boolean"},"include_contributors":{"type":"boolean"}},"required":["owner","repo"]},"category":"GitHub","authRequired":false,"mutability":"read","status":"active"},{"name":"get_org_info","description":"Get profile info for a supported GitHub org (mbarbine, process-co, ph3ar).","inputSchema":{"type":"object","properties":{"org":{"type":"string","enum":["mbarbine","process-co","ph3ar"],"description":"GitHub org"}},"required":["org"]},"category":"GitHub","authRequired":false,"mutability":"read","status":"active"},{"name":"search_org_code","description":"Search code across supported orgs (mbarbine, process-co, ph3ar). Requires GITHUB_TOKEN.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Code search query"},"org":{"type":"string","enum":["mbarbine","process-co","ph3ar"],"description":"Org to search"},"language":{"type":"string"},"per_page":{"type":"number"}},"required":["query","org"]},"category":"Search","authRequired":false,"mutability":"read","status":"active"},{"name":"get_trending_repos","description":"Get trending repos on GitHub by recent stars. Useful for discovering popular projects.","inputSchema":{"type":"object","properties":{"language":{"type":"string"},"since":{"type":"string","enum":["daily","weekly","monthly"]},"per_page":{"type":"number"}}},"category":"GitHub","authRequired":false,"mutability":"read","status":"active"},{"name":"list_sites","description":"List all registered sites in the platform registry with optional vertical filter.","inputSchema":{"type":"object","properties":{"vertical":{"type":"string"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"get_site","description":"Get site metadata by ID or domain. Returns full site record including aliases and MCP config.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"domain":{"type":"string"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"register_site","description":"Register a new Vercel-hosted site in the platform inventory.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Site display name"},"domain":{"type":"string","description":"Primary domain"},"aliases":{"type":"array","items":{"type":"string"}},"vertical":{"type":"string","description":"Vertical category"},"description":{"type":"string","description":"Site description"},"mcpEnabled":{"type":"boolean"},"mcpUrl":{"type":"string"}},"required":["name","domain","vertical","description"]},"category":"Sites","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"generate_site_token","description":"Generate a secure bearer token for a site to authenticate future MCP requests.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Site ID"},"ttlDays":{"type":"number"}},"required":["siteId"]},"category":"Sites","authRequired":false,"mutability":"write","status":"active"},{"name":"register_capability","description":"Register a tool, resource, or prompt capability for a site.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Site ID"},"type":{"type":"string","enum":["tool","resource","prompt"],"description":"Capability type"},"name":{"type":"string","description":"Capability name"},"description":{"type":"string","description":"What this capability does"},"schema":{"type":"object","additionalProperties":true},"exampleUsage":{"type":"string"}},"required":["siteId","type","name","description"]},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"update_site","description":"Update site metadata for a registered site.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Site ID to update"},"name":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["active","inactive","maintenance"]},"mcpEnabled":{"type":"boolean"},"mcpUrl":{"type":"string"}},"required":["id"]},"category":"Sites","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"resolve_domain","description":"Resolve any domain or subdomain to its canonical site record.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to resolve"}},"required":["domain"]},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"list_site_domains","description":"List all domain aliases for a given site.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Site ID"}},"required":["id"]},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"sync_sitemap","description":"Sync a site's sitemap by appending its URL to a GitHub repository.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Site ID"},"owner":{"type":"string","description":"GitHub owner/org"},"repo":{"type":"string","description":"GitHub repo name"},"path":{"type":"string"}},"required":["siteId","owner","repo"]},"category":"Sites","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"crawl_site_capabilities","description":"Crawl and index tools, resources, and prompts from all MCP-enabled sites in the network.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string"}}},"category":"Sites","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"validate_site_mcp","description":"Live health check of a site's MCP endpoint. Verifies protocol compatibility and tool availability.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Site ID to validate"}},"required":["siteId"]},"category":"Sites","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"list_events","description":"List recent platform events from the outbox with optional type filter.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"},"type":{"type":"string"}}},"category":"Analytics","authRequired":false,"mutability":"read","status":"active"},{"name":"get_audit_trail","description":"Get the audit trail for a specific site, showing all write operations with timestamps and changes.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string"},"limit":{"type":"number"}}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"emit_event","description":"Emit a platform event to the outbox for downstream consumers.","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Event type (e.g. site.created, article.published)"},"source":{"type":"string","description":"Event source (e.g. mcp-server, api)"},"data":{"type":"object","additionalProperties":true,"description":"Event payload data"}},"required":["type","source","data"]},"category":"Analytics","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"list_deployments","description":"List recent deployments, optionally scoped to a specific site.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string"},"limit":{"type":"number"}}},"category":"Deployments","authRequired":false,"mutability":"read","status":"active"},{"name":"record_deployment","description":"Record a new deployment event. Writes audit log and emits an event to the outbox.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string","description":"Site ID being deployed"},"url":{"type":"string","description":"Deployment URL"},"status":{"type":"string","enum":["building","ready","error","canceled"],"description":"Deploy status"},"gitRef":{"type":"string"},"commitMessage":{"type":"string"}},"required":["siteId","url","status"]},"category":"Deployments","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"get_deployment","description":"Get deployment details by ID.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Deployment ID"}},"required":["id"]},"category":"Deployments","authRequired":false,"mutability":"read","status":"active"},{"name":"search_all_sites","description":"Cross-site full-text search across all registered sites. Currently searches the local content store; will extend to federate across MCP-enabled remote sites.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"limit":{"type":"number"}},"required":["query"]},"category":"Search","authRequired":false,"mutability":"read","status":"active"},{"name":"aggregate_analytics","description":"Roll up analytics (view counts, trending articles) across the platform.","inputSchema":{"type":"object","properties":{"trendingLimit":{"type":"number"}}},"category":"Analytics","authRequired":false,"mutability":"read","status":"active"},{"name":"get_platform_stats","description":"Get platform-wide statistics: total sites, articles, deployments, events, and audit entries.","inputSchema":{"type":"object","properties":{}},"category":"Federation","authRequired":false,"mutability":"read","status":"active"},{"name":"search_producthunt","description":"Search Product Hunt posts by topic/keyword. Requires PRODUCTHUNT_TOKEN env var.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query or topic"},"first":{"type":"number"}},"required":["query"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_producthunt_post","description":"Get details of a specific Product Hunt post by ID.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Product Hunt post ID"}},"required":["id"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"trending_producthunt","description":"Get today's trending Product Hunt launches sorted by votes.","inputSchema":{"type":"object","properties":{"first":{"type":"number"}}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"list_mcp_servers","description":"List all known MCP servers across the platform, including status and endpoints.","inputSchema":{"type":"object","properties":{}},"category":"MCP Federation","authRequired":false,"mutability":"read","status":"active"},{"name":"proxy_mcp_call","description":"Call a tool on a remote MCP server. Enables cross-subdomain MCP federation (e.g. mcp.platphormnews.com -> mcp.ph3ar.com).","inputSchema":{"type":"object","properties":{"server":{"type":"string","description":"Target MCP server name (from list_mcp_servers)"},"tool":{"type":"string","description":"Tool name to call on remote server"},"args":{"type":"object","additionalProperties":true}},"required":["server","tool"]},"category":"MCP Federation","authRequired":true,"mutability":"proxy","status":"auth_required"},{"name":"track_event","description":"Track a custom platform event for orchestration and analytics.","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Event type (e.g. tool_invocation, site_registration, error)"},"source":{"type":"string","description":"Source of the event (e.g. site_id, user_id)"},"data":{"type":"object","additionalProperties":true,"description":"Event payload"}},"required":["type","source","data"]},"category":"Analytics","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"list_recent_events","description":"List recent platform events with optional type filtering.","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"limit":{"type":"number"}}},"category":"Analytics","authRequired":false,"mutability":"read","status":"active"},{"name":"list_neon_infrastructure","description":"List all Neon serverless Postgres projects and their status.","inputSchema":{"type":"object","properties":{}},"category":"Infrastructure","authRequired":false,"mutability":"infrastructure","status":"active"},{"name":"list_render_infrastructure","description":"List all Render services (web services, crons, DBs) and their live status.","inputSchema":{"type":"object","properties":{}},"category":"Infrastructure","authRequired":false,"mutability":"infrastructure","status":"active"},{"name":"list_vercel_infrastructure","description":"List all Vercel projects and their basic metadata.","inputSchema":{"type":"object","properties":{"teamId":{"type":"string"}}},"category":"Infrastructure","authRequired":false,"mutability":"infrastructure","status":"active"},{"name":"get_vercel_project_details","description":"Get detailed information and domains for a specific Vercel project.","inputSchema":{"type":"object","properties":{"projectId":{"type":"string","description":"Vercel project ID or name"},"teamId":{"type":"string"}},"required":["projectId"]},"category":"Infrastructure","authRequired":false,"mutability":"infrastructure","status":"active"},{"name":"search_capability_graph","description":"Search across the global inventory of tools, resources, and prompts. Provides proxy call instructions.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search term for tool names or descriptions"}},"required":["query"]},"category":"Search","authRequired":false,"mutability":"read","status":"active"},{"name":"get_subdomain_orchestration_profile","description":"Get a unified profile for a subdomain: registry info, capabilities, and infrastructure links.","inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Subdomain to profile (e.g. fashion.platphormnews.com)"}},"required":["domain"]},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"get_network_health_summary","description":"Provides a high-level orchestration health summary for the entire network. Ideal for monitor dashboards.","inputSchema":{"type":"object","properties":{}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"get_quake_stats","description":"Get live server statistics and player counts for quake.platphormnews.com.","inputSchema":{"type":"object","properties":{}},"category":"Verticals","authRequired":false,"mutability":"read","status":"active"},{"name":"search_platform_jobs","description":"Search for job openings across the PlatphormNews network via jobs.platphormnews.com API.","inputSchema":{"type":"object","properties":{"query":{"type":"string"}}},"category":"Verticals","authRequired":false,"mutability":"read","status":"active"},{"name":"get_fashion_trends","description":"Fetch AI-analyzed fashion trends from fashion.platphormnews.com API.","inputSchema":{"type":"object","properties":{}},"category":"Verticals","authRequired":false,"mutability":"read","status":"active"},{"name":"get_claws_intelligence","description":"Query CLAWS (claws.platphormnews.com) security intelligence platform for threat data and policy information.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"type":{"type":"string","enum":["threats","policies","domains","status"]}}},"category":"Security","authRequired":false,"mutability":"read","status":"active"},{"name":"sync_network_graph","description":"Fetch the canonical root network graph and return a bounded sync snapshot. Durable writes require configured persistence.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"list_network_sites","description":"List trusted PlatPhormNews sites discovered from root graph, base sitemap index, bootstrap sites, and configured extras with source labels.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"list_trusted_domains","description":"Return the public-safe trusted-domain policy and current graph-derived trusted-domain count.","inputSchema":{"type":"object","properties":{}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"get_route_compliance","description":"Return a public-safe route-compliance summary for the MCP hub route standard.","inputSchema":{"type":"object","properties":{}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"get_discovery_compliance","description":"Return a public-safe discovery-compliance summary for MCP discovery surfaces.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_network_capability_matrix","description":"Summarize local registry counts and known MCP federation endpoints from canonical state.","inputSchema":{"type":"object","properties":{}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"list_capabilities","description":"List canonical local tools, resources, and prompts as capability records.","inputSchema":{"type":"object","properties":{"kind":{"type":"string","enum":["tool","resource","prompt"]}}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_capability","description":"Get one canonical capability by tool name, resource URI/name, or prompt name.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Capability id, tool name, resource URI, resource name, or prompt name"}},"required":["id"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"deprecate_capability","description":"Mark a capability deprecated when durable registry persistence is configured.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"reason":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":true,"mutability":"admin","status":"auth_required"},{"name":"validate_capability","description":"Validate that a capability exists in the canonical registry and has public/protected classification.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"reconcile_registry_counts","description":"Reconcile canonical registry counts across dashboard, health, docs, llms, OpenAPI, well-known, and JSON-RPC surfaces.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_mcp_server","description":"Get one known MCP server by name or URL from the trusted federation registry.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"MCP Federation","authRequired":false,"mutability":"read","status":"active"},{"name":"sync_mcp_server","description":"Fetch and validate a trusted remote MCP server. Durable federation snapshots require configured persistence.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"MCP Federation","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"validate_mcp_server","description":"Initialize a trusted registered MCP server and report public protocol readiness.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"MCP Federation","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"validate_discovery_files","description":"Validate MCP's own public discovery files without requiring protected access.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"read_llms_file","description":"Read llms.txt or llms-full.txt from the public MCP discovery surface.","inputSchema":{"type":"object","properties":{"full":{"type":"boolean"}}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"read_llms_index","description":"Read and parse llms-index.json from the public MCP discovery surface.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"validate_openapi","description":"Validate that OpenAPI YAML and JSON public endpoints are reachable and describe MCP.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"validate_rss","description":"Validate public RSS and Atom feed endpoints are reachable and parseable enough for discovery.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"validate_sitemap","description":"Validate public sitemap endpoints and return bounded URL counts.","inputSchema":{"type":"object","properties":{}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"validate_well_known_files","description":"Validate well-known MCP, agents, policy, trust, security, and ai-plugin discovery files.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"validate_no_dead_sitemap_links","description":"Bounded dead-link check for URLs generated into MCP sitemap files.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"create_docs_report","description":"Create a Docs remediation report when report persistence is configured.","inputSchema":{"type":"object","properties":{"scope":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"create_sheet_report","description":"Create a Sheets structured registry report when report persistence is configured.","inputSchema":{"type":"object","properties":{"scope":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"create_deck_summary","description":"Create a Decks executive capability summary when report persistence is configured.","inputSchema":{"type":"object","properties":{"scope":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"summarize_capability","description":"Return a deterministic capability summary; model provider enhancement is scaffolded separately.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"recommend_tools","description":"Deterministically recommend matching tools by name or description without requiring a model provider.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":"number"}},"required":["query"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"explain_tool_risk","description":"Explain a tool's deterministic auth, mutability, and risk posture from registry metadata.","inputSchema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"generate_client_config","description":"Generate deterministic MCP client config examples. Private model-assisted generation is scaffolded separately.","inputSchema":{"type":"object","properties":{"client":{"type":"string","enum":["cursor","windsurf","vscode","claude-desktop"]}}},"category":"Registry","authRequired":false,"mutability":"write","status":"active"},{"name":"generate_remediation_summary","description":"Return a deterministic registry remediation summary; model provider enhancement is scaffolded separately.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"write","status":"active"},{"name":"get_network_graph","description":"Return the current root network graph summary and bounded site list from the canonical graph source.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"category":"Network","authRequired":false,"mutability":"read","status":"active"},{"name":"list_registered_sites","description":"List public-safe registered/discovered sites from merged trusted-site discovery.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"list_tools","description":"List tools from the canonical MCP registry.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_tool","description":"Get one tool from the canonical MCP registry.","inputSchema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"list_resources","description":"List resources from the canonical MCP registry.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_resource","description":"Get one resource by URI or name from the canonical MCP registry.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"list_prompts","description":"List prompts from the canonical MCP registry.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_prompt","description":"Get one prompt from the canonical MCP registry.","inputSchema":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_gateway_status","description":"Return public-safe MCP gateway status, proxy guardrails, and JA4 redaction policy.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_integration_status","description":"Return public-safe integration matrix status for Spec, Evals, Sandbox, BrowserOps, JSON, XML, AgentUI, OpenContent, Docs, Podcasts, and Catalog.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_client_config","description":"Return a deterministic MCP client config for supported IDE/client profiles.","inputSchema":{"type":"object","properties":{"client":{"type":"string","enum":["cursor","windsurf","vscode","claude-desktop","codex","curl","node","python"]}}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_ide_instructions","description":"Return supported IDE/client instructions and troubleshooting links.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_agent_policy","description":"Return the versioned public-safe agent access policy.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"list_agent_platforms","description":"List supported agent platform families with source-labeled user-agent policy.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_agent_platform","description":"Get one agent platform family policy by id.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"evaluate_agent_access","description":"Evaluate whether an agent operation is public-safe or requires PLATPHORM_API_KEY.","inputSchema":{"type":"object","properties":{"operation":{"type":"string"},"platformId":{"type":"string"}},"required":["operation"]},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_robots_policy","description":"Return the robots.txt policy as structured JSON.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_ai_policy","description":"Return the versioned public AI access and content-use policy.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_trust_policy","description":"Read the public trust policy manifest.","inputSchema":{"type":"object","properties":{}},"category":"Security","authRequired":false,"mutability":"read","status":"active"},{"name":"get_discovery_manifest","description":"Return the public llms-index discovery manifest.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_public_access_summary","description":"Summarize MCP public-safe and protected-action boundaries.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_health","description":"Read the public health summary for the MCP gateway.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"get_info","description":"Return MCP hub product identity, counts, gateway, factory, and discovery endpoints.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":false,"mutability":"read","status":"active"},{"name":"unregister_site","description":"Unregister a site when durable registry storage is configured.","inputSchema":{"type":"object","properties":{"siteSlug":{"type":"string"}},"required":["siteSlug"]},"category":"Sites","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"refresh_site_discovery","description":"Refresh one site's discovery artifacts when protected sync storage is configured.","inputSchema":{"type":"object","properties":{"siteSlug":{"type":"string"}},"required":["siteSlug"]},"category":"Sites","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"generate_tools_from_site","description":"Generate draft MCP tools from a site's public discovery artifacts; drafts are not active until validated.","inputSchema":{"type":"object","properties":{"siteSlug":{"type":"string"}},"required":["siteSlug"]},"category":"Sites","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"validate_generated_tool","description":"Validate a generated draft tool's schema and provenance before publication.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"publish_generated_tool","description":"Publish a generated tool after validation, eval, sandbox, and operator approval.","inputSchema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"run_eval","description":"Run an MCP/tool eval through evals.platphormnews.com when configured.","inputSchema":{"type":"object","properties":{"target":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"run_sandbox_test","description":"Run a generated tool in sandbox.platphormnews.com when configured.","inputSchema":{"type":"object","properties":{"target":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"run_browserops_test","description":"Run a BrowserOps UI/client test when configured.","inputSchema":{"type":"object","properties":{"target":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"update_agent_policy","description":"Update agent policy records when durable governance storage is configured.","inputSchema":{"type":"object","properties":{"platformId":{"type":"string"}},"required":["platformId"]},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"refresh_agent_platform_registry","description":"Refresh agent platform registry from verified sources when governance sync is configured.","inputSchema":{"type":"object","properties":{}},"category":"Registry","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"export_agent_audit_report","description":"Export a protected agent policy audit report when report storage is configured.","inputSchema":{"type":"object","properties":{"scope":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"read","status":"auth_required"},{"name":"create_agent_policy_report","description":"Create a protected agent policy report for Docs/Sheets/Decks when integrations are configured.","inputSchema":{"type":"object","properties":{"scope":{"type":"string"}}},"category":"Registry","authRequired":true,"mutability":"write","status":"auth_required"},{"name":"dynamo_list_sites","description":"List registered sites from DynamoDB when configured. DynamoDB may be read-only or degraded and is not the canonical MCP count source. Returns available site metadata including domains, MCP status, and API docs URLs.","inputSchema":{"type":"object","properties":{"vertical":{"type":"string"},"limit":{"type":"number"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"dynamo_get_site","description":"Get a single site from DynamoDB by siteId or domain. Returns full metadata, MCP configuration, aliases, and status. Falls back to resolve_network_domain if DynamoDB is unavailable.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string"},"domain":{"type":"string"}}},"category":"Sites","authRequired":false,"mutability":"read","status":"active"},{"name":"dynamo_list_articles","description":"List articles from DynamoDB by site or category. Returns article metadata (title, slug, excerpt, author, status, dates). Use for cross-site content queries and monitor dashboards.","inputSchema":{"type":"object","properties":{"siteId":{"type":"string"},"category":{"type":"string"},"limit":{"type":"number"}}},"category":"Content","authRequired":false,"mutability":"read","status":"active"},{"name":"dynamo_list_events","description":"List platform events from DynamoDB — deployment notifications, content changes, audit entries. Supports filtering by event type and status. Essential for monitor.platphormnews.com dashboards.","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"status":{"type":"string","enum":["pending","delivered","failed"]},"limit":{"type":"number"}}},"category":"Analytics","authRequired":false,"mutability":"read","status":"active"},{"name":"dynamo_table_info","description":"Get DynamoDB table health and connectivity status. Returns table name, region, connection status, and latency. Used by monitor.platphormnews.com for infrastructure monitoring.","inputSchema":{"type":"object","properties":{}},"category":"DynamoDB","authRequired":false,"mutability":"read","status":"active"}],"resources":[{"uri":"platphormnews://config","name":"site-config","description":"Site configuration: name, description, URL, locales, version.","mimeType":"application/json"},{"uri":"platphormnews://articles","name":"articles-feed","description":"All published articles as a JSON feed.","mimeType":"application/json"},{"uri":"platphormnews://categories","name":"categories","description":"All content categories with name, slug, and description.","mimeType":"application/json"},{"uri":"platphormnews://faqs","name":"faqs","description":"All FAQs with answers, organized by category.","mimeType":"application/json"},{"uri":"platphormnews://sites","name":"sites","description":"All registered sites in the platform registry.","mimeType":"application/json"},{"uri":"platphormnews://events","name":"events","description":"Recent platform events from the outbox.","mimeType":"application/json"},{"uri":"platphormnews://deployments","name":"deployments","description":"Recent deployment records across all sites.","mimeType":"application/json"},{"uri":"platphormnews://platform-stats","name":"platform-stats","description":"Platform-wide statistics: site count, articles, tools, version.","mimeType":"application/json"},{"uri":"platphormnews://domain-map","name":"domain-map","description":"Full domain-to-site mapping for all registered sites.","mimeType":"application/json"},{"uri":"platphormnews://mcp-servers","name":"mcp-servers","description":"All MCP servers in the federation registry.","mimeType":"application/json"},{"uri":"platphormnews://audit-trail","name":"audit-trail","description":"Recent audit trail entries for all write operations.","mimeType":"application/json"},{"uri":"platphormnews://llms","name":"llms-discovery","description":"LLM discovery metadata for the platform.","mimeType":"application/json"},{"uri":"platphormnews://capabilities","name":"site-capabilities","description":"All registered tools, resources, and prompts across the site network.","mimeType":"application/json"},{"uri":"platphormnews://health","name":"network-health","description":"Unified health status of network subdomains and infrastructure.","mimeType":"application/json"},{"uri":"platphormnews://icons/{vertical}","name":"site-icons","description":"Dynamic SVG icons generated from Unicode emojis for network branding.","mimeType":"image/svg+xml"},{"uri":"platphormnews://system-prompt","name":"platform-system-prompt","description":"The ultimate system prompt for an AI agent to orchestrate the network.","mimeType":"text/markdown"}],"prompts":[{"name":"write-article","description":"Generate a well-structured article on a given topic with SEO optimization","arguments":[{"name":"topic","description":"Article topic or headline","required":true},{"name":"tone","description":"Writing tone (formal, casual, technical)","required":false},{"name":"length","description":"Target word count","required":false}]},{"name":"summarize-article","description":"Create a concise summary of an article preserving key insights","arguments":[{"name":"content","description":"Article content to summarize","required":true},{"name":"format","description":"Summary format (bullets, paragraph, tldr)","required":false}]},{"name":"generate-faq","description":"Generate FAQ entries for a topic or product","arguments":[{"name":"topic","description":"Topic to generate FAQs for","required":true},{"name":"count","description":"Number of FAQ items","required":false}]},{"name":"seo-optimize","description":"Optimize content for search engines","arguments":[{"name":"content","description":"Content to optimize","required":true},{"name":"keywords","description":"Target keywords","required":false}]},{"name":"editorial-review","description":"Perform editorial review with improvement suggestions","arguments":[{"name":"content","description":"Content to review","required":true},{"name":"style_guide","description":"Style guide to follow","required":false}]},{"name":"network-health-report","description":"Generate comprehensive network health report","arguments":[{"name":"include_details","description":"Include detailed metrics","required":false}]},{"name":"cross-site-search","description":"Search across all network sites","arguments":[{"name":"query","description":"Search query","required":true},{"name":"sites","description":"Specific sites to search","required":false}]},{"name":"site-health-check","description":"Deep health check for a specific site","arguments":[{"name":"domain","description":"Site domain to check","required":true}]},{"name":"discover-network","description":"Discover and map the entire network","arguments":[]},{"name":"register-new-site","description":"Register a new site in the network","arguments":[{"name":"subdomain","description":"Site subdomain","required":true},{"name":"name","description":"Display name","required":true},{"name":"vertical","description":"Site vertical/category","required":true},{"name":"description","description":"Site description","required":true}]},{"name":"migration-plan","description":"Generate migration plan for site updates","arguments":[{"name":"site","description":"Site to migrate","required":true},{"name":"changes","description":"Changes to implement","required":true}]},{"name":"platform-overview","description":"Generate platform overview report","arguments":[]},{"name":"json-format","description":"Format and validate JSON using json.platphormnews.com","arguments":[{"name":"json","description":"JSON to format","required":true},{"name":"indent","description":"Indentation spaces","required":false}]},{"name":"json-diff","description":"Compare two JSON documents","arguments":[{"name":"json1","description":"First JSON document","required":true},{"name":"json2","description":"Second JSON document","required":true}]},{"name":"desa-analyze","description":"Analyze data with desa.platphormnews.com","arguments":[{"name":"dataset","description":"Dataset identifier or URL","required":true},{"name":"analysis_type","description":"Type of analysis","required":true}]},{"name":"desa-query","description":"Query data from DESA","arguments":[{"name":"query","description":"SQL or data query","required":true}]},{"name":"atlas-map","description":"Create geographic visualizations with atlas.platphormnews.com","arguments":[{"name":"data","description":"Geographic data","required":true},{"name":"map_type","description":"Map type (choropleth, marker, heatmap)","required":false}]},{"name":"atlas-geocode","description":"Geocode addresses to coordinates","arguments":[{"name":"addresses","description":"Addresses to geocode","required":true}]},{"name":"monitor-status","description":"Check deployment and service status with monitor.platphormnews.com","arguments":[{"name":"service","description":"Service to check","required":false}]},{"name":"monitor-alerts","description":"List active alerts and incidents","arguments":[{"name":"severity","description":"Filter by severity","required":false}]},{"name":"ascii-convert","description":"Convert image to ASCII art","arguments":[{"name":"image_url","description":"Image URL to convert","required":true},{"name":"width","description":"Output width in characters","required":false}]},{"name":"calendar-schedule","description":"Schedule an event","arguments":[{"name":"title","description":"Event title","required":true},{"name":"datetime","description":"Event date and time","required":true},{"name":"duration","description":"Duration in minutes","required":false}]},{"name":"quake-stats","description":"Get gaming statistics from quake.platphormnews.com","arguments":[{"name":"server","description":"Server to query","required":false}]}],"phase2Counts":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":142,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11},"canonicalSources":{"registry":"in-process MCP registry from registered handlers","registeredSites":"https://platphormnews.com/api/network/graph","sitemapIndex":"https://base.platphormnews.com/sitemap-index.xml","storage":"Redis/DynamoDB are dependency and cache surfaces, not canonical MCP count sources"},"health":{"status":"healthy","checkedAt":"2026-06-11T07:06:24.394Z","redis":{"status":"connected","latencyMs":623,"canonical":false,"note":"Redis is connected for live/cache state and storage metadata. MCP counts still come from the canonical registry."},"dynamodb":{"status":"degraded","latencyMs":9,"table":"aws-dynamodb-fuchsia-yacht","accessMode":"READ_ONLY","canonical":false,"note":"DynamoDB is unavailable/read-only and is not the canonical registry for live MCP counts."}},"factory":{"status":"degraded","lifecycle":["draft","validate","eval","sandbox","approve","publish"],"generatedTools":[{"id":"draft-spec-discovery","sourceSite":"https://spec.platphormnews.com","sourceArtifact":"https://spec.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_spec_discovery","generatedDescription":"Inspect public discovery metadata for Spec and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"spec","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-evals-discovery","sourceSite":"https://evals.platphormnews.com","sourceArtifact":"https://evals.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_evals_discovery","generatedDescription":"Inspect public discovery metadata for Evals and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"evals","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-sandbox-discovery","sourceSite":"https://sandbox.platphormnews.com","sourceArtifact":"https://sandbox.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_sandbox_discovery","generatedDescription":"Inspect public discovery metadata for Sandbox and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"sandbox","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-browserops-discovery","sourceSite":"https://browserops.platphormnews.com","sourceArtifact":"https://browserops.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_browserops_discovery","generatedDescription":"Inspect public discovery metadata for BrowserOps and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"browserops","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-json-discovery","sourceSite":"https://json.platphormnews.com","sourceArtifact":"https://json.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_json_discovery","generatedDescription":"Inspect public discovery metadata for JSON and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"json","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-xml-discovery","sourceSite":"https://xml.platphormnews.com","sourceArtifact":"https://xml.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_xml_discovery","generatedDescription":"Inspect public discovery metadata for XML and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"xml","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-agentui-discovery","sourceSite":"https://agentui.platphormnews.com","sourceArtifact":"https://agentui.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_agentui_discovery","generatedDescription":"Inspect public discovery metadata for AgentUI and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"agentui","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-opencontent-discovery","sourceSite":"https://opencontent.platphormnews.com","sourceArtifact":"https://opencontent.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_opencontent_discovery","generatedDescription":"Inspect public discovery metadata for OpenContent and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"opencontent","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-docs-discovery","sourceSite":"https://docs.platphormnews.com","sourceArtifact":"https://docs.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_docs_discovery","generatedDescription":"Inspect public discovery metadata for Docs and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"docs","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-podcasts-discovery","sourceSite":"https://podcasts.platphormnews.com","sourceArtifact":"https://podcasts.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_podcasts_discovery","generatedDescription":"Inspect public discovery metadata for Podcasts and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"podcasts","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}},{"id":"draft-catalog-discovery","sourceSite":"https://catalog.platphormnews.com","sourceArtifact":"https://catalog.platphormnews.com/llms-index.json","sourceOperation":"public_discovery_introspection","generatedName":"inspect_catalog_discovery","generatedDescription":"Inspect public discovery metadata for Catalog and return an honest capability/import readiness summary.","inputSchema":{"type":"object","properties":{"includeOpenApi":{"type":"boolean","default":true},"includeMcp":{"type":"boolean","default":true}},"additionalProperties":false},"outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"artifacts":{"type":"array"}},"required":["ok","status"],"additionalProperties":true},"authPolicy":"public","status":"draft","validationStatus":"pending","evalStatus":"not_run","sandboxStatus":"not_run","publishStatus":"draft","confidence":0.55,"provenance":{"generator":"phase2-deterministic-public-discovery-template","integration":"catalog","publishedAsActive":false,"reason":"Generated tools remain drafts until public artifact fetches, schema validation, evals, and sandbox checks pass.","sourceStatus":"degraded"},"traceId":null,"createdAt":"2026-06-11T07:06:25.038Z","updatedAt":"2026-06-11T07:06:25.038Z","metadata":{"publicSafe":true,"downstreamMutation":false,"ja4DigestPolicy":"hash/redact only; raw values are never exposed publicly"}}],"counts":{"generatedTools":11,"draftTools":11,"publishedTools":0,"degradedTools":11},"publicationPolicy":"Generated tools are never active until validation, eval, and sandbox statuses pass and an operator publishes with PLATPHORM_API_KEY."},"validationManifests":{"status":"degraded","publicSummaryOnly":true,"resultsClaimed":false,"counts":{"evals":11,"sandboxTests":11,"browserOpsTests":11,"total":33,"ready":0,"degraded":33,"blocked":0,"notRun":33},"endpoints":{"evals":"https://mcp.platphormnews.com/api/v1/evals","sandbox":"https://mcp.platphormnews.com/api/v1/sandbox/tests","browserops":"https://mcp.platphormnews.com/api/v1/browserops/tests"},"note":"Validation manifests are derived from current generated draft tools and bounded public artifact probes. They are not downstream eval, sandbox, or BrowserOps execution results."},"gateway":{"status":"degraded","publicReadProxy":"active_for_trusted_discovery_artifacts_and_read_only_mcp_methods","protectedProxy":"guarded_by_PLATPHORM_API_KEY","trustedTargets":["*.platphormnews.com","mcp.platphormnews.com","*.ph3ar.com","ascii.platphormnews.com"],"blockedTargets":["localhost","private-ip-ranges","127.0.0.0/8","10.0.0.0/8","172.16.0.0/12","192.168.0.0/16","link-local","metadata-services","metadata services","file://","ftp://","gopher://","URLs with embedded credentials","untrusted external domains","redirects to blocked targets"],"policies":{"auth":"Public-safe read calls can be described and validated. Mutating/protected downstream calls require PLATPHORM_API_KEY.","secretHandling":"PLATPHORM_API_KEY is never forwarded unless a trusted target operation explicitly requires and allows it.","tracePropagation":["traceparent","tracestate","X-PlatPhorm-Trace-Id","X-PlatPhorm-Span-Id","X-PlatPhorm-Request-Id"],"ja4Digest":"capture when present, hash/redact for public summaries, never expose raw values publicly"},"routes":{"status":"/api/v1/gateway/status","policies":"/api/v1/gateway/policies","routes":"/api/v1/gateway/routes","call":"/api/v1/gateway/call","proxyMcp":"/api/v1/gateway/proxy-mcp"}},"sites":{"source":"https://platphormnews.com/api/network/graph","totalKnown":142,"nodeCount":178,"edgeCount":227,"status":"active","fallback":false},"network":{"source":"https://platphormnews.com/api/network/graph","knownSubdomains":["platphormnews.com","404.platphormnews.com","a1bibles.platphormnews.com","admin.platphormnews.com","agentops.platphormnews.com","airrow.platphormnews.com","altnews.platphormnews.com","analytics.platphormnews.com","api.platphormnews.com","ascii.platphormnews.com","backyardbrawl.platphormnews.com","barbine-worldwide-webby.platphormnews.com","barbineworldwide.platphormnews.com","base.platphormnews.com","bbw.platphormnews.com","beermuseum.platphormnews.com","bibles.platphormnews.com","biblesworldwide.platphormnews.com","biocyber-demo.platphormnews.com","biocyber.platphormnews.com","blog.platphormnews.com","burritodealer.platphormnews.com","calendar.platphormnews.com","change4u.platphormnews.com","chat.platphormnews.com","chatv2.platphormnews.com","claws.platphormnews.com","cobol.platphormnews.com","demo.biocyber.platphormnews.com","deployments.platphormnews.com","desa.platphormnews.com","docs.platphormnews.com","dogstar-cybernetics.platphormnews.com","dronereel.platphormnews.com","echo.platphormnews.com","email2letter.platphormnews.com","emailreading.platphormnews.com","emoji.platphormnews.com","fashion.platphormnews.com","fasion.platphormnews.com","finance.platphormnews.com","flamethrower.platphormnews.com","flows.platphormnews.com","forprez.platphormnews.com","fortune-cookie.platphormnews.com","fortune.platphormnews.com","frontrunners.platphormnews.com","games.platphormnews.com","glassblowing.platphormnews.com","globalshop.platphormnews.com","grand-theft-auto-6.platphormnews.com","greens.platphormnews.com","gta.platphormnews.com","gta6.platphormnews.com","insights.platphormnews.com","ja4-atlas-www.platphormnews.com","ja4-atlas.platphormnews.com","ja4-vercel-lab-2.platphormnews.com","ja4lab.platphormnews.com","jobs.platphormnews.com","json.platphormnews.com","jules.platphormnews.com","lab.platphormnews.com","layout.platphormnews.com","lego-marketplace.platphormnews.com","legos.platphormnews.com","logslash.platphormnews.com","lovedrove.platphormnews.com","magnets.platphormnews.com","mail-api.platphormnews.com","mail.platphormnews.com","mailthing.platphormnews.com","markdown.platphormnews.com","mcp.platphormnews.com","mermaids.platphormnews.com","microwave.platphormnews.com","monitor.platphormnews.com","nad-investments.platphormnews.com","nad.platphormnews.com","newdittyswag.platphormnews.com","news.platphormnews.com","nomad.platphormnews.com","npaas.platphormnews.com","onboard.platphormnews.com","opencontent.platphormnews.com","ph0to.platphormnews.com","ph3ar-admin-dashboard.platphormnews.com","ph3ar-blog.platphormnews.com","ph3ar-chatbot.platphormnews.com","phear.platphormnews.com","phearnews.platphormnews.com","platphorm-news.platphormnews.com","platphormnews-vercel.platphormnews.com","polymarkets.platphormnews.com","polymaths.platphormnews.com","portal.platphormnews.com","portz.platphormnews.com","preview.platphormnews.com","process.platphormnews.com","projects.platphormnews.com","quake.platphormnews.com","quantum-fashion.platphormnews.com","radio.platphormnews.com","raindeer.platphormnews.com","raindeerleads.platphormnews.com","real-estate.platphormnews.com","reflux.platphormnews.com","register.platphormnews.com","reliablebible.platphormnews.com","reliablebibles.platphormnews.com","roboclothes.platphormnews.com","robotwrestling.platphormnews.com","sandbox.platphormnews.com","searchops.platphormnews.com","sheets.platphormnews.com","shop.platphormnews.com","space.platphormnews.com","spec.platphormnews.com","spectrum-k9.platphormnews.com","spectrumcanine.platphormnews.com","sports.platphormnews.com","starphone-web-svelte.platphormnews.com","starphone.platphormnews.com","strippermug.platphormnews.com","sveltekit-one-tau.platphormnews.com","thestarphone.platphormnews.com","thetwo.platphormnews.com","threatrelay.platphormnews.com","trace.platphormnews.com","training-labs-boilerplate-nextra.platphormnews.com","trustops.platphormnews.com","two.platphormnews.com","uberpidgeons.platphormnews.com","universal-sign-language.platphormnews.com","usl.platphormnews.com","warm.platphormnews.com","worldwide.platphormnews.com","wrestling.platphormnews.com","xml.platphormnews.com","zillow.platphormnews.com","ph3ar.com","blog.ph3ar.com"],"knownSubdomainsSource":"https://platphormnews.com/api/network/graph","mcpServers":["https://mcp.platphormnews.com/api/mcp","https://ascii.platphormnews.com/api/mcp"],"mcpServersSource":"curated MCP endpoint registry; not a complete network site list. Use /api/v1/discovery/sites for merged root graph, base sitemap, bootstrap, and configured extras, and /api/v1/registry/federated-tools?live=1 for live remote tools/list probes."},"mcpServers":[{"name":"platphormnews-mcp","url":"https://mcp.platphormnews.com/api/mcp","status":"active","description":"Primary MCP federation hub for the PlatPhorm News network."},{"name":"ascii-mcp","url":"https://ascii.platphormnews.com/api/mcp","status":"active","description":"ASCII Art Converter MCP server — image-to-ASCII conversion tools."}],"trustedDomains":["*.platphormnews.com"],"agentPolicy":{"version":"2.0.0","service":"PlatPhormNews MCP Gateway","baseUrl":"https://mcp.platphormnews.com","publicSafeDefault":true,"allowedPlatforms":[{"id":"openai-chatgpt","name":"OpenAI / ChatGPT","family":"OpenAI","access":"public_safe_allowed","verificationStatus":"verified","officialDocs":"https://platform.openai.com/docs/bots","exactUserAgents":["OAI-SearchBot","GPTBot","ChatGPT-User"],"userAgentPolicy":"OpenAI crawler tokens are source-labeled from OpenAI crawler documentation; full strings are not repeated in robots.txt.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"Public-safe read-only discovery is allowed. Protected actions require PLATPHORM_API_KEY."},{"id":"anthropic-claude","name":"Anthropic / Claude","family":"Anthropic","access":"unknown_public_safe_allowed","verificationStatus":"unverified","exactUserAgents":[],"userAgentPolicy":"Family is allowed for public-safe access; exact crawler/user-agent names are not asserted by this registry.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"No exact user-agent strings are published until official docs are verified."},{"id":"xai-grok","name":"xAI / Grok","family":"xAI","access":"unknown_public_safe_allowed","verificationStatus":"unverified","exactUserAgents":[],"userAgentPolicy":"Family is allowed for public-safe access; exact crawler/user-agent names are not asserted by this registry.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"No exact user-agent strings are published until official docs are verified."},{"id":"meta-ai","name":"Meta / Meta AI","family":"Meta","access":"unknown_public_safe_allowed","verificationStatus":"unverified","exactUserAgents":[],"userAgentPolicy":"Family is allowed for public-safe access; exact crawler/user-agent names are not asserted by this registry.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"No exact user-agent strings are published until official docs are verified."},{"id":"google","name":"Google","family":"Google","access":"public_safe_allowed","verificationStatus":"source_labeled","exactUserAgents":[],"userAgentPolicy":"Google family access is allowed for public-safe content; exact crawler strings are not asserted here.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"Uses robots.txt alignment and public-safe route policy."},{"id":"microsoft","name":"Microsoft","family":"Microsoft","access":"public_safe_allowed","verificationStatus":"source_labeled","exactUserAgents":[],"userAgentPolicy":"Microsoft family access is allowed for public-safe content; exact crawler strings are not asserted here.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"Uses robots.txt alignment and public-safe route policy."},{"id":"perplexity","name":"Perplexity","family":"Perplexity","access":"unknown_public_safe_allowed","verificationStatus":"unverified","exactUserAgents":[],"userAgentPolicy":"Family is allowed for public-safe access; exact crawler/user-agent names are not asserted by this registry.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"No exact user-agent strings are published until official docs are verified."},{"id":"apple","name":"Apple","family":"Apple","access":"unknown_public_safe_allowed","verificationStatus":"unverified","exactUserAgents":[],"userAgentPolicy":"Family is allowed for public-safe access; exact crawler/user-agent names are not asserted by this registry.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"No exact user-agent strings are published until official docs are verified."},{"id":"mcp-clients","name":"MCP clients","family":"MCP","access":"public_safe_allowed","verificationStatus":"source_labeled","exactUserAgents":[],"userAgentPolicy":"MCP clients use the JSON-RPC endpoint and should send a clientInfo object during initialize.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"Public list/read methods are enabled. Protected tools/call paths require PLATPHORM_API_KEY."},{"id":"browser-agents","name":"Browser agents","family":"Browser automation","access":"public_safe_allowed","verificationStatus":"source_labeled","exactUserAgents":[],"userAgentPolicy":"Browser agents may inspect public pages and discovery files. Mutating tests and executions are protected.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"BrowserOps execution requires PLATPHORM_API_KEY."},{"id":"generic-crawlers","name":"Generic crawlers","family":"Generic crawler","access":"public_safe_allowed","verificationStatus":"source_labeled","exactUserAgents":[],"userAgentPolicy":"Robots.txt allows public-safe routes and disallows admin/private/protected paths and secret-bearing URLs.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"No generic crawler may bypass PLATPHORM_API_KEY for protected actions."},{"id":"platphorm-services","name":"PlatPhormNews network services","family":"PlatPhormNews","access":"platform_internal","verificationStatus":"source_labeled","exactUserAgents":[],"userAgentPolicy":"Internal services use standard PlatPhorm trace headers and PLATPHORM_API_KEY for protected actions.","allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"notes":"Cross-site protected actions are explicitly authenticated and trace-linked."}],"allowedOperations":["discover public pages","read llms files","read OpenAPI","read well-known manifests","read RSS and sitemap files","run MCP initialize","run MCP ping","run MCP tools/list","run MCP resources/list","run MCP prompts/list","call public-safe read-only MCP tools"],"protectedOperations":["site registration","tool creation","tool publishing","tool deprecation","capability registry mutation","protected gateway proxying","sandbox execution","BrowserOps execution","eval execution","report generation","sync jobs","private traces","raw audit logs","trusted-domain mutation"],"disallowedOperations":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"protectedAuth":{"env":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"]},"publicRoutes":["/","/mcp","/demo","/client","/discovery","/mcp/discovery","/testing","/mcp/test","/tools","/resources","/prompts","/categories","/network","/integrations","/factory","/gateway","/gateway/policies","/gateway/routes","/policies","/agents","/trust","/security","/privacy","/terms","/data","/storage","/health","/web/status","/docs","/openapi","/faq","/tests","/federation","/audit","/capability-graph","/client-profiles","/web4","/web4/status","/web4/capabilities","/web4/fingerprints","/web4/provenance","/api/docs","/api/health","/api/v1/health","/api/mcp","/api/v1/registry/snapshot","/api/v1/registry/reconcile","/api/v1/registry/counts","/api/v1/registry/drift","/api/v1/registry/federated-tools","/api/v1/discovery/sites","/api/v1/discovery/graph","/api/v1/capability-graph","/api/v1/factory/tools","/api/v1/factory/status","/api/v1/gateway/status","/api/v1/demo/suite","/api/v1/integrations/status","/api/v1/agent-policy","/api/v1/client-profiles","/api/v1/network/discovery-compliance","/api/demo/readiness","/api/web/status","/api/web/manifest","/api/web/scorecard","/api/web/fingerprints","/api/web4/status","/api/web4/manifest","/api/web4/scorecard","/api/web4/fingerprints","/api/provenance/lookup","/api/provenance/verify","/openapi.yaml","/openapi.json","/asyncapi.yaml","/llms.txt","/llms-full.txt","/llms-index.json","/rss.xml","/feed.xml","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/robots.txt","/manifest.webmanifest","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/agent-policy.json","/.well-known/ai-policy.json","/.well-known/ai-plugin.json","/.well-known/platphorm.json","/.well-known/security.txt","/.well-known/trust.json","/.well-known/web.json","/.well-known/web4.json","/.well-known/provenance.json"],"rateLimits":{"publicRead":"bounded by platform and Vercel runtime limits","protectedMutation":"operator authenticated and audited","crawlDelay":"respect robots.txt and downstream rate limits"},"fetchLimits":{"publicDiscovery":"bounded route and sitemap inventories only","unboundedCrawling":false},"attribution":{"required":true,"guidance":"Attribute PlatPhormNews MCP and cite source URLs when using public capability metadata."},"contentUse":{"searchAndAnswerUse":"allowed for public-safe pages and discovery files with attribution","trainingPreference":"public discovery is allowed; protected/private data is never authorized for training","caching":"cache public discovery files subject to Cache-Control; refresh stale capability data"},"alignment":{"robots":"/robots.txt","llms":"/llms.txt","openapi":"/openapi.yaml","mcp":"/api/mcp"},"traceRequirements":{"accepted":["traceparent","tracestate","X-PlatPhorm-Trace-Id","X-PlatPhorm-Span-Id","X-PlatPhorm-Request-Id"],"propagatedForPlatformCalls":true},"ja4DigestHandling":{"header":"x-vercel-ja4-digest","policy":"capture when present, hash/redact for public display, never expose raw values in public artifacts","publicRawValueAllowed":false},"updatedAt":"2026-06-11T07:06:25.066Z"},"aiPolicy":{"version":"2.0.0","service":"PlatPhormNews MCP Gateway","baseUrl":"https://mcp.platphormnews.com","publicContentAccess":"allowed for public-safe pages, discovery files, API docs, OpenAPI, RSS/feed, sitemap, and read-only MCP introspection","trainingPreference":"public discovery metadata may be crawled; private/protected/action data is not authorized for model training","searchIndexingPreference":"allowed for public-safe routes","answerEnginePreference":"allowed with source attribution and freshness checks","citationRequirement":"cite the MCP public URL or source discovery artifact used","cachingGuidance":"respect Cache-Control and refresh dynamic registry metadata","freshnessGuidance":"prefer llms-index.json, OpenAPI, health, and MCP list methods for current counts","protectedActionPolicy":"PLATPHORM_API_KEY is required for mutations, proxy, sync, tests, reports, and private details","prohibitedUses":["secret discovery","provider credential access","unredacted JA4 digest access","private audit export without PLATPHORM_API_KEY","destructive or mutating actions without PLATPHORM_API_KEY","unbounded crawling"],"alignment":{"robots":"/robots.txt","llms":"/llms.txt","openapi":"/openapi.yaml","mcp":"/api/mcp","agentPolicy":"/.well-known/agent-policy.json"},"contact":"https://mcp.platphormnews.com/.well-known/security.txt","updatedAt":"2026-06-11T07:06:25.066Z"},"registryReconciliation":{"status":"reconciled","canonicalSource":"in-process MCP registry","generatedAt":"2026-06-11T06:54:06.711Z","counts":{"tools":140,"resources":16,"prompts":23,"categories":16},"phase2Counts":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":24,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11},"surfaces":{"dashboard":{"tools":140,"resources":16,"prompts":23,"categories":16},"health":{"tools":140,"resources":16,"prompts":23,"categories":16},"docs":{"tools":140,"resources":16,"prompts":23,"categories":16},"llms":{"tools":140,"resources":16,"prompts":23,"categories":16},"openapi":{"tools":140,"resources":16,"prompts":23,"categories":16},"wellKnown":{"tools":140,"resources":16,"prompts":23,"categories":16},"jsonRpc":{"tools":140,"resources":16,"prompts":23,"categories":16}},"phase2Surfaces":{"gateway":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":24,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11},"factory":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":24,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11},"agentPolicy":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":24,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11},"integrations":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":24,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11},"capabilityGraph":{"tools":140,"resources":16,"prompts":23,"categories":16,"registeredSites":24,"generatedTools":11,"draftTools":11,"protectedTools":39,"publicTools":101,"degradedTools":11,"integrations":11,"policyPlatforms":12,"mcpClientsSupported":13,"evals":11,"sandboxTests":11,"browserOpsTests":11}},"storage":{"canonical":"local MCP registry","persistence":"degraded_unless_database_configured","note":"Public registry introspection is generated from real registered handlers. Protected writes require durable storage and PLATPHORM_API_KEY."},"drift":[]},"routeStandard":{"health":"/api/health","mcp":"/api/mcp","docs":"/api/docs","openapi":"/openapi.yaml","llms":["/llms.txt","/llms-full.txt","/llms-index.json"],"wellKnown":["/.well-known/mcp.json","/.well-known/agents.json","/.well-known/trust.json","/.well-known/security.txt"],"webStatus":["/.well-known/web.json","/.well-known/provenance.json","/api/web/status","/api/web/scorecard","/api/web/fingerprints"],"legacyWeb4":["/.well-known/web4.json","/api/web4/status","/api/web4/scorecard","/api/web4/fingerprints"],"agentPolicy":["/.well-known/agent-policy.json","/.well-known/ai-policy.json"]},"discoveryCompliance":{"endpoint":"/api/v1/network/discovery-compliance","status":"degraded","note":"Public summary is available; full compliance refresh requires protected sync/test execution."},"integrations":[{"slug":"spec","name":"Spec","url":"https://spec.platphormnews.com","purpose":"OpenAPI/spec artifact import and schema conformance","discovery":{"health":"https://spec.platphormnews.com/api/health","openapi":"https://spec.platphormnews.com/openapi.yaml","mcp":"https://spec.platphormnews.com/api/mcp","llmsIndex":"https://spec.platphormnews.com/llms-index.json","trust":"https://spec.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"evals","name":"Evals","url":"https://evals.platphormnews.com","purpose":"MCP/tool/schema/readiness eval cases and release gates","discovery":{"health":"https://evals.platphormnews.com/api/health","openapi":"https://evals.platphormnews.com/openapi.yaml","mcp":"https://evals.platphormnews.com/api/mcp","llmsIndex":"https://evals.platphormnews.com/llms-index.json","trust":"https://evals.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"sandbox","name":"Sandbox","url":"https://sandbox.platphormnews.com","purpose":"Bounded generated-tool dry-runs and schema validation","discovery":{"health":"https://sandbox.platphormnews.com/api/health","openapi":"https://sandbox.platphormnews.com/openapi.yaml","mcp":"https://sandbox.platphormnews.com/api/mcp","llmsIndex":"https://sandbox.platphormnews.com/llms-index.json","trust":"https://sandbox.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"browserops","name":"BrowserOps","url":"https://browserops.platphormnews.com","purpose":"Browser journey validation and UI proof","discovery":{"health":"https://browserops.platphormnews.com/api/health","openapi":"https://browserops.platphormnews.com/openapi.yaml","mcp":"https://browserops.platphormnews.com/api/mcp","llmsIndex":"https://browserops.platphormnews.com/llms-index.json","trust":"https://browserops.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"json","name":"JSON","url":"https://json.platphormnews.com","purpose":"JSON manifest and tool-output validation","discovery":{"health":"https://json.platphormnews.com/api/health","openapi":"https://json.platphormnews.com/openapi.yaml","mcp":"https://json.platphormnews.com/api/mcp","llmsIndex":"https://json.platphormnews.com/llms-index.json","trust":"https://json.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"xml","name":"XML","url":"https://xml.platphormnews.com","purpose":"RSS, Atom, sitemap, and XML artifact validation","discovery":{"health":"https://xml.platphormnews.com/api/health","openapi":"https://xml.platphormnews.com/openapi.yaml","mcp":"https://xml.platphormnews.com/api/mcp","llmsIndex":"https://xml.platphormnews.com/llms-index.json","trust":"https://xml.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"agentui","name":"AgentUI","url":"https://agentui.platphormnews.com","purpose":"Agent-facing workflow UI and MCP tool-flow testing","discovery":{"health":"https://agentui.platphormnews.com/api/health","openapi":"https://agentui.platphormnews.com/openapi.yaml","mcp":"https://agentui.platphormnews.com/api/mcp","llmsIndex":"https://agentui.platphormnews.com/llms-index.json","trust":"https://agentui.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"opencontent","name":"OpenContent","url":"https://opencontent.platphormnews.com","purpose":"Public content and example ingestion with citations","discovery":{"health":"https://opencontent.platphormnews.com/api/health","openapi":"https://opencontent.platphormnews.com/openapi.yaml","mcp":"https://opencontent.platphormnews.com/api/mcp","llmsIndex":"https://opencontent.platphormnews.com/llms-index.json","trust":"https://opencontent.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"docs","name":"Docs","url":"https://docs.platphormnews.com","purpose":"Capability docs, onboarding guides, and remediation notes","discovery":{"health":"https://docs.platphormnews.com/api/health","openapi":"https://docs.platphormnews.com/openapi.yaml","mcp":"https://docs.platphormnews.com/api/mcp","llmsIndex":"https://docs.platphormnews.com/llms-index.json","trust":"https://docs.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"podcasts","name":"Podcasts","url":"https://podcasts.platphormnews.com","purpose":"Public podcast/feed discovery where real feeds exist","discovery":{"health":"https://podcasts.platphormnews.com/api/health","openapi":"https://podcasts.platphormnews.com/openapi.yaml","mcp":"https://podcasts.platphormnews.com/api/mcp","llmsIndex":"https://podcasts.platphormnews.com/llms-index.json","trust":"https://podcasts.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true},{"slug":"catalog","name":"Catalog","url":"https://catalog.platphormnews.com","purpose":"Capability catalog sync and reuse scoring","discovery":{"health":"https://catalog.platphormnews.com/api/health","openapi":"https://catalog.platphormnews.com/openapi.yaml","mcp":"https://catalog.platphormnews.com/api/mcp","llmsIndex":"https://catalog.platphormnews.com/llms-index.json","trust":"https://catalog.platphormnews.com/.well-known/trust.json"},"status":"degraded","statusReason":"Configured as a trusted integration target. Runtime health, ingestion, and write operations require bounded protected sync/test runs.","publicSafe":true,"protectedActions":["sync","test","run","publish","mutate","export"],"traceLinked":true}],"demoReadiness":{"page":"https://mcp.platphormnews.com/demo","api":"https://mcp.platphormnews.com/api/v1/demo/suite","sharedApi":"https://mcp.platphormnews.com/api/demo/readiness","services":["platphormnews.com","mcp.platphormnews.com","agentui.platphormnews.com","spec.platphormnews.com","sandbox.platphormnews.com","evals.platphormnews.com"],"rule":"Demo handoffs are dry-run envelopes unless downstream services confirm execution.","protectedActionsRequire":"PLATPHORM_API_KEY"},"ide_configs":{"cursor":{"mcpServers":{"platphormnews":{"url":"https://mcp.platphormnews.com/api/mcp"}}},"windsurf":{"mcpServers":{"platphormnews":{"serverUrl":"https://mcp.platphormnews.com/api/mcp"}}},"vscode":{"mcp.servers":{"platphormnews":{"type":"http","url":"https://mcp.platphormnews.com/api/mcp"}}},"claudeDesktop":{"mcpServers":{"platphormnews":{"url":"https://mcp.platphormnews.com/api/mcp"}}}},"trustPolicy":"Public-safe MCP introspection, browser-based MCP client usage, trusted-domain discovery, standard route compliance, Vercel metadata capture, trace-linked MCP calls, capability discovery, and AI-assisted capability explanation are intentionally supported for public read-only debugging and operator workflows. Mutating, administrative, proxy, registration, infrastructure, deployment, sync, test-triggering, reporting, protected model actions, and write actions require PLATPHORM_API_KEY.","updatedAt":"2026-06-11T06:54:06.711Z"}