{
  "markdown": "# docs2mcp\n\nQuery your own PDFs and documents from any MCP client, with every answer cited to the page\nand region it came from.\n\n**Website:** https://docs2mcp.com · **App:** https://app.docs2mcp.com\n\nThis repository documents **how to connect** to the hosted docs2mcp MCP server.\nIt contains no server code: docs2mcp is a hosted service, not something you run.\n\n---\n\n## The server\n\n| | |\n|---|---|\n| **Endpoint** | `https://mcp.docs2mcp.com/mcp` |\n| **Transport** | Streamable HTTP |\n| **Authentication** | OAuth 2.1. docs2mcp is a *resource server*; it verifies tokens and never issues them |\n| **Discovery** | `GET /.well-known/oauth-protected-resource/mcp` (RFC 9728), which a client follows from the `401` challenge |\n| **Dynamic client registration** | Supported. You never need a client id or secret |\n| **Health** | `GET /health`, no credential required |\n\nThere is nothing to install. Add the endpoint above to your MCP client, approve\naccess in the browser it opens, and your documents are queryable.\n\n## Getting an account\n\n1. Go to **https://app.docs2mcp.com** and upload documents. No account is needed\n   to start.\n2. Sign up to keep them. Signing up converts the same library in place, so\n   nothing you uploaded is lost.\n3. Connect a client using the steps below, and approve access when the browser\n   opens.\n\n**Approve in the same browser you uploaded from.** The anonymous session that\nholds your documents lives in that browser, and approving from a different one\ngrants access to an empty library.\n\n---\n\n## Tools\n\nFive, each answering one job rather than exposing one table.\n\n| Tool | What it does |\n|---|---|\n| `search_documents` | Semantic search across your documents. Returns cited passages with page numbers and a link that opens the source at the right region. Filterable by document or collection |\n| `list_documents` | Lists your documents, with collection, page count and status |\n| `get_document` | One document's detail |\n| `get_element` | One element, with surrounding context. Returns a full table row where the element is a table cell |\n| `list_collections` | Lists your collections |\n\nEvery search result carries a `source_url` that opens the source document in a\nbrowser at the exact page and region the text came from.\n\n---\n\n## Connecting a client\n\nEvery walkthrough ends the same way: the client opens your browser, you choose\n**Allow**, and the tools appear. Only the first step differs.\n\n### Claude Desktop\n\n1. Open Claude Desktop and go to **Settings → Connectors**.\n2. Choose **Add custom connector**.\n3. Paste `https://mcp.docs2mcp.com/mcp` as the URL, name it `docs2mcp`, and save.\n4. Claude opens your browser and asks whether to give it access. Choose **Allow**.\n5. The connector reads **Connected**. Start a new chat and ask about your documents.\n\n### Claude (web)\n\n1. Open **claude.ai** and go to **Customize → Connectors**.\n2. Click **+**, then choose **Add custom connector**.\n3. Paste `https://mcp.docs2mcp.com/mcp` as the URL, name it `docs2mcp`, and save.\n4. Choose **Allow** when asked.\n5. The connector reads **Connected**.\n\n### Claude Code\n\n```bash\nclaude mcp add --transport http docs2mcp https://mcp.docs2mcp.com/mcp\n```\n\nThen run `/mcp`, pick `docs2mcp`, and choose **Authenticate**. Claude Code opens\nyour browser. Choose **Allow**. `/mcp` now lists `docs2mcp` as connected.\n\n### Cursor\n\n1. Open **Settings → Tools & Integrations** and choose **New MCP Server**. Cursor\n   opens its `mcp.json`.\n2. Add docs2mcp and save:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"docs2mcp\": {\n         \"url\": \"https://mcp.docs2mcp.com/mcp\"\n       }\n     }\n   }\n   ```\n\n3. Cursor shows docs2mcp as needing a login. Click it, then choose **Allow**.\n\n### VS Code\n\nTwo ways. The guided one first.\n\n1. Open the Command Palette and run **MCP: Add Server**.\n2. Choose **HTTP (HTTP or Server-Sent events)**.\n3. Paste `https://mcp.docs2mcp.com/mcp`, name it `docs2mcp`, and choose\n   **Workspace** or **Global**.\n\nOr write it into `mcp.json` yourself — `.vscode/mcp.json` for one workspace, or\nthe file that **MCP: Open User Configuration** opens for every workspace:\n\n```json\n{\n  \"servers\": {\n    \"docs2mcp\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.docs2mcp.com/mcp\"\n    }\n  }\n}\n```\n\nVS Code drives the OAuth round trip itself and opens a browser on the first\nconnection. Choose **Allow**. **No `clientId` is needed** — that is only for\nservers without dynamic registration, and docs2mcp supports it.\n\n### ChatGPT\n\n1. Go to **Settings → Apps → Advanced settings** and turn on **Developer mode**.\n2. Back in **Settings → Apps**, choose **Create**.\n3. Name it `docs2mcp`, paste `https://mcp.docs2mcp.com/mcp` as the server URL,\n   confirm you trust the provider, and create it.\n4. Choose **Allow** when ChatGPT sends you to approve access.\n5. In a chat, enable `docs2mcp` from the **+** menu. **This is per conversation,\n   not once.**\n\n### Perplexity\n\n1. Open **Account settings → Connectors**.\n2. Click **+ Custom connector**, then choose **Remote**.\n3. Name it `docs2mcp`, paste `https://mcp.docs2mcp.com/mcp` as the **MCP Server URL**,\n   set **Transport** to **Streamable HTTP** and **Authentication** to **OAuth**.\n   **Leave the client id and secret empty** — docs2mcp supports dynamic\n   registration, so they are not needed.\n4. Tick the acknowledgement box and click **Add**.\n5. Click the new connector card to sign in, and choose **Allow**.\n\n### Gemini CLI\n\n```bash\ngemini mcp add --transport http docs2mcp https://mcp.docs2mcp.com/mcp\n```\n\nThen start `gemini` and run `/mcp auth docs2mcp`. Choose **Allow** in the browser\nit opens.\n\n### Codex CLI\n\n`codex mcp add` registers stdio servers only, so a remote server is written into\nthe config by hand.\n\n1. Add docs2mcp to `~/.codex/config.toml`:\n\n   ```toml\n   [mcp_servers.docs2mcp]\n   url = \"https://mcp.docs2mcp.com/mcp\"\n   ```\n\n2. Run `codex mcp login docs2mcp`.\n3. Choose **Allow** in the browser it opens.\n\n### Copilot Studio\n\nNot the Copilot app: `copilot.microsoft.com` cannot add a custom MCP server.\n\n1. Open your agent in Copilot Studio and go to its **Tools** page.\n2. Select **Add a tool → New tool → Model Context Protocol**.\n3. Fill in the server name, description, and `https://mcp.docs2mcp.com/mcp` as the\n   server URL.\n4. Choose **OAuth 2.0**, then **Dynamic discovery**, and select **Create**.\n5. Select **Next**, then **Create a new connection**, and choose **Allow**.\n6. Select **Add to agent**.\n\n### Any other client\n\n1. Add a remote MCP server over HTTP and paste `https://mcp.docs2mcp.com/mcp`.\n   Clients call this a *custom connector*, a *remote server*, or *Streamable\n   HTTP*.\n2. **If your client only accepts a command to run, it speaks stdio.** Bridge it:\n\n   ```bash\n   npx -y mcp-remote https://mcp.docs2mcp.com/mcp\n   ```\n\n3. Choose **Allow** in the browser it opens.\n\n---\n\n## Which of these have been run end to end\n\n**Claude Desktop, Claude Code and Cursor** were proven against the live product.\n\n**Claude web, VS Code, ChatGPT, Perplexity, Gemini CLI, Codex CLI and Copilot\nStudio** were written from each vendor's own documentation and have **not** been\nrun end to end here.\n\nSettings screens and CLI flags move faster than this file does. If a step is\nwrong, please open an issue — wrong instructions are worse than absent ones.\n\n---\n\n## Troubleshooting\n\n**The client says it cannot reach the server.** Check the URL ends in `/mcp`.\n\n**You approved access but the library is empty.** You approved from a different\nbrowser than the one you uploaded from. Sign in to\n[app.docs2mcp.com](https://app.docs2mcp.com) first, then approve again.\n\n**The client asks for a client id and secret.** It should not. docs2mcp supports\ndynamic client registration. Leave both empty.\n\n**A tool call returns a quota error.** Check your plan and usage at\n[app.docs2mcp.com](https://app.docs2mcp.com).\n\n---\n\n## Support and issues\n\n**Open an issue in this repository** for anything about connecting: a step that\nhas gone stale, a client that is not listed, or documentation that is wrong.\n\nFor account, billing or data questions, use the contact routes at\n[docs2mcp.com](https://docs2mcp.com).\n\n## License\n\nThe contents of this repository are MIT licensed. The docs2mcp service itself is\ncommercial; see [docs2mcp.com/terms/](https://docs2mcp.com/terms/).\n",
  "bytes": 8280,
  "sha": "3a815af03784c89eab05b1dbda375abb203ff4edecff437f1c8522f663490307",
  "repo_slug": "docs2mcp/docs2mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_docs2mcp_docs2mcp_5cdd2fa1/readme"
}