{"service":"mcp","name":"PlatPhormNews MCP","version":"0.1.0","baseUrl":"https://mcp.platphormnews.com","purpose":"Canonical MCP micro-factory, gateway, registry, capability graph, integration broker, and machine-readable orchestration layer for PlatPhormNews.","counts":{"tools":140,"resources":16,"prompts":23,"categories":16},"endpoints":{"mcp":"/api/mcp","health":"/api/health","docs":"/api/docs","openapi":"/openapi.yaml","llmsIndex":"/llms-index.json","capabilityGraph":"/api/v1/discovery/graph","factory":"/api/v1/factory/tools","gateway":"/api/v1/gateway/status","agentPolicy":"/.well-known/agent-policy.json","aiPolicy":"/.well-known/ai-policy.json","trust":"/.well-known/trust.json"},"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"}},"factory":{"generatedTools":11,"draftTools":11,"publishedTools":0,"degradedTools":11},"capabilityGraph":{"tools":140,"resources":16,"prompts":23,"categories":16,"nodes":278,"edges":277},"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","/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","/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/integrations/status","/api/v1/agent-policy","/api/v1/client-profiles","/api/v1/network/discovery-compliance","/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/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-05-27T13:02:42.445Z"},"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-05-27T13:02:42.445Z"},"updatedAt":"2026-05-27T13:02:02.002Z"}