# docs2mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/docs2mcp/docs2mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/docs2mcp-2

## Description
Query your own PDFs and documents from any MCP client. Every answer cites the page it came from.

## Tools
Capabilities this server exposes over MCP:

- **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
- **list_documents** — Lists your documents, with collection, page count and status
- **get_document** — One document's detail
- **get_element** — One element, with surrounding context. Returns a full table row where the element is a table cell
- **list_collections** — Lists your collections

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "docs2mcp": {
    "command": "npx",
    "args": ["-y","mcp-remote"]
  }
}
```

## Documentation & README

# docs2mcp

Query your own PDFs and documents from any MCP client, with every answer cited to the page
and region it came from.

**Website:** https://docs2mcp.com · **App:** https://app.docs2mcp.com

This repository documents **how to connect** to the hosted docs2mcp MCP server.
It contains no server code: docs2mcp is a hosted service, not something you run.

---

## The server

| | |
|---|---|
| **Endpoint** | `https://mcp.docs2mcp.com/mcp` |
| **Transport** | Streamable HTTP |
| **Authentication** | OAuth 2.1. docs2mcp is a *resource server*; it verifies tokens and never issues them |
| **Discovery** | `GET /.well-known/oauth-protected-resource/mcp` (RFC 9728), which a client follows from the `401` challenge |
| **Dynamic client registration** | Supported. You never need a client id or secret |
| **Health** | `GET /health`, no credential required |

There is nothing to install. Add the endpoint above to your MCP client, approve
access in the browser it opens, and your documents are queryable.

## Getting an account

1. Go to **https://app.docs2mcp.com** and upload documents. No account is needed
   to start.
2. Sign up to keep them. Signing up converts the same library in place, so
   nothing you uploaded is lost.
3. Connect a client using the steps below, and approve access when the browser
   opens.

**Approve in the same browser you uploaded from.** The anonymous session that
holds your documents lives in that browser, and approving from a different one
grants access to an empty library.

---

## Tools

Five, each answering one job rather than exposing one table.

| Tool | What it does |
|---|---|
| `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 |
| `list_documents` | Lists your documents, with collection, page count and status |
| `get_document` | One document's detail |
| `get_element` | One element, with surrounding context. Returns a full table row where the element is a table cell |
| `list_collections` | Lists your collections |

Every search result carries a `source_url` that opens the source document in a
browser at the exact page and region the text came from.

---

## Connecting a client

Every walkthrough ends the same way: the client opens your browser, you choose
**Allow**, and the tools appear. Only the first step differs.

### Claude Desktop

1. Open Claude Desktop and go to **Settings → Connectors**.
2. Choose **Add custom connector**.
3. Paste `https://mcp.docs2mcp.com/mcp` as the URL, name it `docs2mcp`, and save.
4. Claude opens your browser and asks whether to give it access. Choose **Allow**.
5. The connector reads **Connected**. Start a new chat and ask about your documents.

### Claude (web)

1. Open **claude.ai** and go to **Customize → Connectors**.
2. Click **+**, then choose **Add custom connector**.
3. Paste `https://mcp.docs2mcp.com/mcp` as the URL, name it `docs2mcp`, and save.
4. Choose **Allow** when asked.
5. The connector reads **Connected**.

### Claude Code

```bash
claude mcp add --transport http docs2mcp https://mcp.docs2mcp.com/mcp
```

Then run `/mcp`, pick `docs2mcp`, and choose **Authenticate**. Claude Code opens
your browser. Choose **Allow**. `/mcp` now lists `docs2mcp` as connected.

### Cursor

1. Open **Settings → Tools & Integrations** and choose **New MCP Server**. Cursor
   opens its `mcp.json`.
2. Add docs2mcp and save:

   ```json
   {
     "mcpServers": {
       "docs2mcp": {
         "url": "https://mcp.docs2mcp.com/mcp"
       }
     }
   }
   ```

3. Cursor shows docs2mcp as needing a login. Click it, then choose **Allow**.

### VS Code

Two ways. The guided one first.

1. Open the Command Palette and run **MCP: Add Server**.
2. Choose **HTTP (HTTP or Server-Sent events)**.
3. Paste `https://mcp.docs2mcp.com/mcp`, name it `docs2mcp`, and choose
   **Workspace** or **Global**.

Or write it into `mcp.json` yourself — `.vscode/mcp.json` for one workspace, or
the file that **MCP: Open User Configuration** opens for every workspace:

```json
{
  "servers": {
    "docs2mcp": {
      "type": "http",
      "url": "https://mcp.docs2mcp.com/mcp"
    }
  }
}
```

VS Code drives the OAuth round trip itself and opens a browser on the first
connection. Choose **Allow**. **No `clientId` is needed** — that is only for
servers without dynamic registration, and docs2mcp supports it.

### ChatGPT

1. Go to **Settings → Apps → Advanced settings** and turn on **Developer mode**.
2. Back in **Settings → Apps**, choose **Create**.
3. Name it `docs2mcp`, paste `https://mcp.docs2mcp.com/mcp` as the server URL,
   confirm you trust the provider, and create it.
4. Choose **Allow** when ChatGPT sends you to approve access.
5. In a chat, enable `docs2mcp` from the **+** menu. **This is per conversation,
   not once.**

### Perplexity

1. Open **Account settings → Connectors**.
2. Click **+ Custom connector**, then choose **Remote**.
3. Name it `docs2mcp`, paste `https://mcp.docs2mcp.com/mcp` as the **MCP Server URL**,
   set **Transport** to **Streamable HTTP** and **Authentication** to **OAuth**.
   **Leave the client id and secret empty** — docs2mcp supports dynamic
   registration, so they are not needed.
4. Tick the acknowledgement box and click **Add**.
5. Click the new connector card to sign in, and choose **Allow**.

### Gemini CLI

```bash
gemini mcp add --transport http docs2mcp https://mcp.docs2mcp.com/mcp
```

Then start `gemini` and run `/mcp auth docs2mcp`. Choose **Allow** in the browser
it opens.

### Codex CLI

`codex mcp add` registers stdio servers only, so a remote server is written into
the config by hand.

1. Add docs2mcp to `~/.codex/config.toml`:

   ```toml
   [mcp_servers.docs2mcp]
   url = "https://mcp.docs2mcp.com/mcp"
   ```

2. Run `codex mcp login docs2mcp`.
3. Choose **Allow** in the browser it opens.

### Copilot Studio

Not the Copilot app: `copilot.microsoft.com` cannot add a custom MCP server.

1. Open your agent in Copilot Studio and go to its **Tools** page.
2. Select **Add a tool → New tool → Model Context Protocol**.
3. Fill in the server name, description, and `https://mcp.docs2mcp.com/mcp` as the
   server URL.
4. Choose **OAuth 2.0**, then **Dynamic discovery**, and select **Create**.
5. Select **Next**, then **Create a new connection**, and choose **Allow**.
6. Select **Add to agent**.

### Any other client

1. Add a remote MCP server over HTTP and paste `https://mcp.docs2mcp.com/mcp`.
   Clients call this a *custom connector*, a *remote server*, or *Streamable
   HTTP*.
2. **If your client only accepts a command to run, it speaks stdio.** Bridge it:

   ```bash
   npx -y mcp-remote https://mcp.docs2mcp.com/mcp
   ```

3. Choose **Allow** in the browser it opens.

---

## Which of these have been run end to end

**Claude Desktop, Claude Code and Cursor** were proven against the live product.

**Claude web, VS Code, ChatGPT, Perplexity, Gemini CLI, Codex CLI and Copilot
Studio** were written from each vendor's own documentation and have **not** been
run end to end here.

Settings screens and CLI flags move faster than this file does. If a step is
wrong, please open an issue — wrong instructions are worse than absent ones.

---

## Troubleshooting

**The client says it cannot reach the server.** Check the URL ends in `/mcp`.

**You approved access but the library is empty.** You approved from a different
browser than the one you uploaded from. Sign in to
[app.docs2mcp.com](https://app.docs2mcp.com) first, then approve again.

**The client asks for a client id and secret.** It should not. docs2mcp supports
dynamic client registration. Leave both empty.

**A tool call returns a quota error.** Check your plan and usage at
[app.docs2mcp.com](https://app.docs2mcp.com).

---

## Support and issues

**Open an issue in this repository** for anything about connecting: a step that
has gone stale, a client that is not listed, or documentation that is wrong.

For account, billing or data questions, use the contact routes at
[docs2mcp.com](https://docs2mcp.com).

## License

The contents of this repository are MIT licensed. The docs2mcp service itself is
commercial; see [docs2mcp.com/terms/](https://docs2mcp.com/terms/).

