> ## Documentation Index
> Fetch the complete documentation index at: https://zeropath.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Remote MCP Server

> Connect your AI tools to ZeroPath in one step — no install, sign in with your browser

ZeroPath hosts an MCP server at `https://zeropath.com/mcp`. Point your AI tool at that URL, sign in through your browser, and it can talk to your security findings — no install, no API keys to copy around.

<Info>
  Prefer to run the server yourself with API tokens? Use the [local MCP server](/docs/mcp/installation). Both expose the [same tools](/docs/mcp/tools).
</Info>

## Connect

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add --transport http zeropath https://zeropath.com/mcp
    ```

    A browser window opens the first time so you can sign in and approve access.
  </Tab>

  <Tab title="Claude (web & desktop)">
    Go to **Settings → Connectors → Add custom connector** and enter:

    ```
    https://zeropath.com/mcp
    ```

    Claude walks you through sign-in and approval.
  </Tab>

  <Tab title="Cursor">
    ```json theme={null}
    {
      "mcpServers": {
        "zeropath": {
          "url": "https://zeropath.com/mcp"
        }
      }
    }
    ```

    Cursor prompts you to sign in on first use.
  </Tab>

  <Tab title="Other tools">
    Any MCP client that supports the Streamable HTTP transport works. Give it the URL `https://zeropath.com/mcp` — it finds everything else on its own.
  </Tab>
</Tabs>

## Then just ask

Once connected, talk to your findings in plain language:

* *"Show me the critical issues in the payments repo."*
* *"Which of last week's findings are false positives? Archive them."*
* *"Open a pull request with the fix for this SQL injection."*

See the full [tool list](/docs/mcp/tools) for everything the assistant can do.

## What it can and can't do

<CardGroup cols={2}>
  <Card title="Acts as you" icon="user">
    A connection sees exactly what you see — your role, your teams, one organization you pick when you sign in. Connect again to add another organization.
  </Card>

  <Card title="Read-only by default" icon="lock">
    Approval asks separately before an app may change anything (retriage findings, generate patches, open PRs, start scans). Skip it and the connection can only read.
  </Card>

  <Card title="Findings only" icon="shield-check">
    These connections reach the security tools only — never org, team, or billing administration, and never *authoring* new agent automation. Running automation an admin already set up (triggering a schedule, activating a playbook) still works. Use an [API token](/docs/authentication/api-tokens) for the rest of the API.
  </Card>

  <Card title="Fully audited" icon="list-check">
    Every tool call, approval, and revocation lands in your organization's audit log.
  </Card>
</CardGroup>

<Warning>
  App names on the approval screen are self-declared — anyone can register an app using a familiar name. The screen shows where your approval would actually be delivered, including the scheme (`https://claude.ai`, or `cursor://anysphere.cursor-mcp` for a native app). Check it's one you expect before approving.
</Warning>

## Managing connections

Everything lives under **Settings → Integrations**:

| I want to…                                                                  | Where                                                                               |
| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| See or disconnect my own connections                                        | **Remote MCP** (under *Personal*)                                                   |
| See everyone's connections, who approved them, and when they were last used | **MCP Config** (admins)                                                             |
| Turn remote MCP off for the whole organization                              | **MCP Config** — takes effect immediately, including for connections already in use |

Revoking is instant: the next request from that app fails and the user has to reconnect.

## Troubleshooting

<AccordionGroup>
  <Accordion title="My tool suddenly says it's unauthorized">
    The connection expired or was revoked. Most tools re-authorize on their own; if yours doesn't, remove the server and add it again. If it keeps failing, check with an admin that remote MCP is still enabled for your organization.
  </Accordion>

  <Accordion title="A tool says it needs write access">
    The connection was approved read-only. Remove the server, add it again, and tick the option allowing changes when approving.
  </Accordion>

  <Accordion title="I need a second organization">
    Each connection is tied to one organization. Add the server a second time and pick the other organization when you sign in.
  </Accordion>

  <Accordion title="I'm on a self-hosted or dedicated instance">
    Use your own domain instead — for example `https://your-company.zeropath.com/mcp`. Everything else is identical.
  </Accordion>
</AccordionGroup>

<Accordion title="Technical details (for security reviews)">
  The server implements the [MCP authorization spec](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization): it is an OAuth 2.0 protected resource and ZeroPath is the authorization server.

  | Capability                                 | Standard  | Endpoint                                    |
  | ------------------------------------------ | --------- | ------------------------------------------- |
  | Protected resource metadata                | RFC 9728  | `/.well-known/oauth-protected-resource/mcp` |
  | Authorization server metadata              | RFC 8414  | `/.well-known/oauth-authorization-server`   |
  | Dynamic client registration                | RFC 7591  | `/oauth/register`                           |
  | Authorization code + PKCE (S256, required) | OAuth 2.1 | `/oauth/authorize`                          |
  | Token issuance & refresh-token rotation    | OAuth 2.1 | `/oauth/token`                              |
  | Resource indicators                        | RFC 8707  | `resource=https://zeropath.com/mcp`         |

  * Clients are public (no client secret); PKCE with S256 is mandatory.
  * Scopes are `mcp:read` and `mcp:write`; access tokens last one hour and refresh tokens are single-use, so replaying a rotated one revokes the whole connection.
  * Access tokens work only against the MCP tool surface, not the wider REST API.
  * Transport is Streamable HTTP in stateless mode: `POST /mcp` with a bearer token returns `application/json`. `GET /mcp` returns 405 — no server-initiated streams. Protocol versions `2025-06-18` and `2025-03-26` are supported.
</Accordion>

<Snippet file="getting-help.mdx" />
