{"ok":true,"site":{"host":"yongjhih.github.io","url":"https://yongjhih.github.io/ai-proxy/mcp","type":"live","desc":"Built-in MCP Page","tools":[{"name":"about","kind":"answer","impl":"imperative","description":"Return an overview of the MCP Pages specification, the ai-proxy local relay architecture, and available documentation topics.","annotations":{"title":"About MCP Pages & ai-proxy","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"sites","kind":"answer","impl":"imperative","description":"List MCP Pages sites currently registered in the local ai-proxy relay, including connection state and tool counts.","annotations":{"title":"List Registered Sites","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"site_tools","kind":"answer","impl":"imperative","description":"List the WebMCP tools registered for a specific site URL (or this site if url is omitted).","annotations":{"title":"Inspect Site Tools","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Optional normalized page URL of the registered site"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"spec","kind":"act","impl":"imperative","description":"Read the normative MCP Pages documentation (spec, protocol, security, or index) in English or Traditional Chinese (zh-TW).","annotations":{"title":"Read Normative Specification","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","enum":["index","spec","protocol","security"],"description":"Documentation topic to retrieve (index, spec, protocol, or security)"},"lang":{"type":"string","enum":["en","zh-TW"],"description":"Language code (en or zh-TW)"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"knowledge","kind":"act","impl":"imperative","description":"Query comprehensive ai-proxy & MCP Pages knowledge: architecture, 7 security baselines, specifications, protocol, FAQ, and WebMCP standards in English or Traditional Chinese.","annotations":{"title":"Query ai-proxy Knowledge","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","enum":["all","overview","architecture","security","spec","protocol","faq","quickstart","webmcp"],"description":"Topic to retrieve (all, overview, architecture, security, spec, protocol, faq, quickstart, webmcp)"},"query":{"type":"string","description":"Optional keyword or phrase to filter sections"},"lang":{"type":"string","enum":["en","zh-TW"],"description":"Language code (en or zh-TW)"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"cli_skills","kind":"answer","impl":"imperative","description":"Get installation and usage instructions for the ai-proxy CLI, Claude Code integration, and AI agent skills (skills/mcp-pages/SKILL.md).","annotations":{"title":"CLI & Skills Installation Guide","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"client":{"type":"string","enum":["all","cli","claude_code","skills","antigravity","cursor","windsurf"],"description":"Target client or component (cli, claude_code, skills, antigravity, cursor, windsurf, or all)"},"lang":{"type":"string","enum":["en","zh-TW"],"description":"Language code (en or zh-TW)"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"site_tour","kind":"act","impl":"imperative","description":"Explore ai-proxy website pages, structure, interactive anchors, and navigation shortcuts.","annotations":{"title":"ai-proxy Site Tour & Navigation","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"section":{"type":"string","description":"Optional section or page identifier (e.g. home, zh-TW, doc, dashboard, mcp, quickstart, security)"},"lang":{"type":"string","enum":["en","zh-TW"],"description":"Language code (en or zh-TW)"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"add_mcp","kind":"act","impl":"imperative","description":"Add and allow a new MCP Pages site URL in local ai-proxy and register it with Claude Code. NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to add that specific site URL.","annotations":{"title":"Add MCP Site (Requires User Request)","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Full URL or directory URL to the site MCP page (e.g. https://example.github.io/docs/ or https://example.github.io/docs/mcp)"},"name":{"type":"string","description":"Optional short server slug"},"write":{"type":"boolean","description":"Allow read/write access (default: true). Set false for read-only mode.","default":true},"allowOrigin":{"type":"boolean","description":"Automatically allow the site origin to access /v1 (default: true). Set false to leave origin unallowed.","default":true},"allowPrefix":{"type":"boolean","description":"Automatically allow the site URL prefix (default: true). Set false to skip prefix allowlist.","default":true}},"required":["url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"add_site","kind":"act","impl":"imperative","description":"Add and allow a new MCP Pages site URL in local ai-proxy and register it with Claude Code. NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to add that specific site URL.","annotations":{"title":"Add MCP Site (Requires User Request)","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Full URL to the site MCP page (e.g. https://example.github.io/docs/mcp)"},"name":{"type":"string","description":"Optional short server slug"},"write":{"type":"boolean","description":"Allow read/write access (default: true). Set false for read-only mode.","default":true},"allowOrigin":{"type":"boolean","description":"Automatically allow the site origin to access /v1 (default: true). Set false to leave origin unallowed.","default":true},"allowPrefix":{"type":"boolean","description":"Automatically allow the site URL prefix (default: true). Set false to skip prefix allowlist.","default":true}},"required":["url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"set_site_permission","kind":"act","impl":"imperative","description":"Update an MCP site access permission between read/write mode and read-only mode. NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly requested to change site permissions.","annotations":{"title":"Set Site Permission","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Site URL to update"},"write":{"type":"boolean","description":"True to enable read/write mode, false for read-only mode"}},"required":["url","write"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"remove_mcp","kind":"act","impl":"imperative","description":"Remove an MCP site from local ai-proxy, revoke its URL prefix from the allowlist, and unregister it from AI tools. DESTRUCTIVE NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to remove that specific site.","annotations":{"title":"Remove MCP Site (Requires User Request)","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Normalized site URL to remove"}},"required":["url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"remove_site","kind":"act","impl":"imperative","description":"Remove a site from local ai-proxy, revoke its URL prefix from the allowlist, and unregister it from AI tools. DESTRUCTIVE NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to remove that specific site.","annotations":{"title":"Remove MCP Site (Requires User Request)","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Normalized site URL to remove"}},"required":["url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"allow_origin","kind":"act","impl":"imperative","description":"Authorize an origin to use local /v1 chat completions endpoint, or \"*\" for wildcard pure-chat mode. NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to allow that origin.","annotations":{"title":"Allow Origin for /v1 (Requires User Request)","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin URL (e.g. https://example.com) or \"*\" for open origin mode"},"ttlSeconds":{"type":"number","description":"Optional TTL expiration in seconds"}},"required":["origin"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"add_allow_origin","kind":"act","impl":"imperative","description":"Authorize an origin to use local /v1 chat completions endpoint. Alias for allow_origin. NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to allow that origin.","annotations":{"title":"Add Allow Origin (Requires User Request)","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin URL (e.g. https://example.com) or \"*\" for open origin mode"},"ttlSeconds":{"type":"number","description":"Optional TTL expiration in seconds"}},"required":["origin"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"deny_origin","kind":"act","impl":"imperative","description":"Revoke an origin from accessing local /v1 chat completions endpoint. DESTRUCTIVE NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to revoke that origin.","annotations":{"title":"Deny Origin for /v1 (Requires User Request)","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin URL to revoke"}},"required":["origin"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"remove_allow_origin","kind":"act","impl":"imperative","description":"Revoke an origin from accessing local /v1 chat completions endpoint. Alias for deny_origin. DESTRUCTIVE NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to revoke that origin.","annotations":{"title":"Remove Allow Origin (Requires User Request)","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"origin":{"type":"string","description":"Origin URL to revoke"}},"required":["origin"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"allow_prefix","kind":"act","impl":"imperative","description":"Add a URL prefix to the relay allowlist. NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to allow that prefix.","annotations":{"title":"Allow URL Prefix (Requires User Request)","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"prefix":{"type":"string","description":"URL prefix to allow (e.g. https://example.github.io/)"}},"required":["prefix"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]},{"name":"deny_prefix","kind":"act","impl":"imperative","description":"Remove a URL prefix from the relay allowlist. DESTRUCTIVE NON-READ-ONLY TOOL: Only call this tool when the human user has explicitly asked to deny that prefix.","annotations":{"title":"Deny URL Prefix (Requires User Request)","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"inputSchema":{"type":"object","properties":{"prefix":{"type":"string","description":"URL prefix to remove from allowlist"}},"required":["prefix"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/ai-proxy/mcp","pages":["/ai-proxy/mcp","/ai-proxy/mcp?tool=about"]}],"category":"Developer Tools","apiSurface":"spec","toolCount":18}}