{"ok":true,"data":{"scope":"local","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"}],"total":140,"federation":{"endpoint":"/api/v1/registry/federated-tools?live=1","query":"/api/v1/registry/tools?scope=federated&live=1","policy":"Local tools are callable by this MCP server. Federated tools are remote capabilities discovered from trusted PlatPhormNews MCP endpoints and must remain source-labeled."}},"meta":{"generatedAt":"2026-05-27T13:41:36.377Z","traceId":"fe78a00e-e056-4528-9df9-ecb59a33afb3","degraded":false,"source":"registry"},"warnings":[],"errors":[]}