{"name":"com.plainrouter/mcp","namespace":"com.plainrouter","leaf":"mcp","title":"PlainRouter","description":"Inspect an approved ad account and first-party signal health, then propose policy-gated actions.","verdict":"healthy","reasons":[],"checks":[{"name":"registry status","status":"pass","detail":"active"},{"name":"server.json valid","status":"pass","detail":"validates against its declared JSON Schema"},{"name":"repo reachable","status":"skip","detail":"no repository declared"},{"name":"remote reachable","status":"pass","detail":"HTTP 200 via initialize"},{"name":"MCP conformance","status":"pass","detail":"initialize handshake ok"},{"name":"tools/list","status":"pass","detail":"10 tools: get_account_state, get_signal_health, get_performance, verify_signal_ingestion, propose-actions, get-creative-library, upload-asset, duplicate-ad-with-creative, ..."},{"name":"remote reachable","status":"pass","detail":"HTTP 200 via initialize"},{"name":"MCP conformance","status":"pass","detail":"initialize handshake ok"},{"name":"tools/list","status":"pass","detail":"4 tools: get_account_state, get_signal_health, get_performance, validate_sandbox_event"},{"name":"at least one live entrypoint","status":"pass","detail":"2 alive"},{"name":"spec 2026-07-28","status":"warn","detail":"needs-migration: still mints Mcp-Session-Id, routing headers not enforced"}],"signals":{"repo":{"kind":"none","status":"none"},"packages":null,"remotes":[{"url":"https://plainrouter.com/mcp","type":"streamable-http","status":"reachable","httpStatus":200,"conformance":"initialize_ok","probe":"initialize","idEchoed":true,"toolsStatus":"ok","toolCount":10,"toolNames":["get_account_state","get_signal_health","get_performance","verify_signal_ingestion","propose-actions","get-creative-library","upload-asset","duplicate-ad-with-creative"],"protocolVersion":"2025-06-18","capabilities":["extensions","io.modelcontextprotocol/ui","resources","tools"],"sessionIssued":true},{"url":"https://plainrouter.com/mcp/sandbox","type":"streamable-http","status":"reachable","httpStatus":200,"conformance":"initialize_ok","probe":"initialize","idEchoed":true,"toolsStatus":"ok","toolCount":4,"toolNames":["get_account_state","get_signal_health","get_performance","validate_sandbox_event"],"protocolVersion":"2025-06-18","capabilities":["extensions","io.modelcontextprotocol/ui","resources","tools"],"sessionIssued":true}],"serverJson":{"status":"valid","schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json"}},"aliveEntrypoints":2,"probedEntrypoints":2,"registryStatus":"active","checkedAt":"2026-09-13","tier":"A","firstSeenCensus":"2026-09-09","url":"https://roninforge.org/data/state-of-mcp/servers/com.plainrouter/mcp/","license":"CC-BY-4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","cite":"RoninForge.org, \"State of MCP: a dated census of the official Model Context Protocol registry\", 2026-09-13. CC BY 4.0. https://roninforge.org/data/state-of-mcp/","dataset":"https://roninforge.org/data/state-of-mcp/","methodology":"https://roninforge.org/data/state-of-mcp/methodology/"}
