{"$schema":"https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json","version":"1.0","protocolVersion":"2025-11-25","serverInfo":{"name":"Docs MCP server","title":"Docs MCP server","version":"2026-10-30"},"description":"Faster resolutions, higher CSAT, and lighter support volumes with the only platform to combine the power of automation and human customer support.","documentationUrl":"https://developers.intercom.com","transport":{"type":"streamable-http","endpoint":"/mcp"},"capabilities":{"logging":{},"tools":{"listChanged":true}},"instructions":"This server exposes documentation tools (API discovery, endpoint details, security schemes, full-text search) through two tools:\n- `describe-tools` returns the exact TypeScript signatures of the sandbox tools.\n- `execute` runs JavaScript that calls those tools on the global `tools` object.\nWorkflow: analyze the request, call `describe-tools` once with only the tool names it needs, then batch everything into a single `execute` script. Minimize round-trips and never guess tool signatures.\n\nAvailable tools (exact signatures come from `describe-tools`):\n- listApis — Lists available APIs with their context and purpose\n- getEndpoints — Get all endpoints for a specific API\n- getEndpointInfo — Get comprehensive information about specific endpoint inclu…\n- getSecuritySchemes — Get the security schemes for a specific API\n- getFullApiDescription — Get the complete OpenAPI description\n- search — Search across the documentation to fetch relevant content f…","tools":[{"name":"execute","description":"Run JavaScript in a sandbox against the documentation tools on the global `tools` object.\nThe only extra global is `tools` - there is no `fetch`, `console`, `setTimeout`, `require`, or Node.js API; all I/O goes through `tools`.\n\nWorkflow - minimize round-trips; one `describe-tools` call plus one `execute` call covers most requests:\n1. Analyze the request and decide which sandbox tools it needs.\n2. Call `describe-tools` with those names to get their exact TypeScript signatures - inputs, result shapes, and a worked example. NEVER call `execute` with guessed method names, parameter names, enum values, or result field names: read fields off the declared return types, not from assumptions.\n3. Batch everything into a SINGLE script: chain tool calls, pass one call's output into the next, process results in plain JavaScript, and `return` only what the request needs.\n\nAvailable tools (exact signatures come from `describe-tools`):\n- listApis — Lists available APIs with their context and purpose\n- getEndpoints — Get all endpoints for a specific API\n- getEndpointInfo — Get comprehensive information about specific endpoint inclu…\n- getSecuritySchemes — Get the security schemes for a specific API\n- getFullApiDescription — Get the complete OpenAPI description\n- search — Search across the documentation to fetch relevant content f…","inputSchema":{"type":"object","required":["code","description"],"additionalProperties":false,"properties":{"code":{"type":"string","description":"JavaScript to run in the sandbox. Return a value to receive it as the result.","minLength":1},"description":{"type":"string","description":"A short, human-readable summary of what this code does.","minLength":1},"sessionHandle":{"type":"string","description":"Handle returned by createAnonymousSession. Required when an API needs credentials. This parameter is only offered when createAnonymousSession is available, so pass it whenever you have called that tool.","minLength":1}}},"annotations":{"title":"Execute code","readOnlyHint":true,"openWorldHint":false}},{"name":"describe-tools","description":"Get the exact TypeScript signatures of the sandbox tools available to `execute`.\nAnalyze the user request first, then pass `tools` with only the tool names the request needs (every name is listed in this input schema / description); omit `tools` only when you cannot tell which tools apply.\nAlways call this before your first `execute` and never guess signatures. Request every tool the task may need in ONE call instead of calling this repeatedly.","inputSchema":{"type":"object","required":[],"additionalProperties":false,"properties":{"tools":{"type":"array","description":"Tool names to describe: listApis, getEndpoints, getEndpointInfo, getSecuritySchemes, getFullApiDescription, search. Omit to describe everything.","items":{"type":"string","enum":["listApis","getEndpoints","getEndpointInfo","getSecuritySchemes","getFullApiDescription","search"]},"nullable":true}}}}]}