# MCP server

> Add DeepSieve to Claude Code, Cursor, or any MCP client — browser login, no key to paste


The MCP server gives any MCP client outcome-shaped tools over the DeepSieve
API. There are two ways to connect, and for a human at their editor the first
is easier — no key to create, copy, or store.

**Easiest of all:** let your agent configure itself — paste
`Set up DeepSieve by following the instructions here: https://deepsieve.ai/setup.md` into
it and skip this page. See the [Quickstart](/developers).

## Browser login (recommended)

```bash
claude mcp add --transport http deepsieve https://deepsieve.ai/mcp
```

Your client opens a browser, you sign in with the DeepSieve account you
already have, and it stores a short-lived token in your OS keychain — nothing
lands in a config file, and access is revocable per client. This is OAuth 2.1
(the MCP 2026 spec) with **DeepSieve's own login screen** doing the consent.
Cursor, VS Code / Copilot, Codex and others follow the same
`--transport http` shape.

> Requires a DeepSieve deployment with MCP OAuth configured. On a deployment
> that hasn't enabled it, use the API-key path below.

## CI, containers, and other headless environments

No browser? Use the stdio server with a scoped API key — the right choice for
pipelines and services, where OAuth's browser step can't run.

Installs from PyPI (`uvx deepsieve-mcp`, no repo checkout). Create a key at
[Settings → API keys](/settings/api-keys) with the **Agent** preset — it runs
research and reads results but can't touch your schema or billing.

## Claude Code

```bash
claude mcp add deepsieve \
  --env DEEPSIEVE_API_KEY=ds_live_... \
  --env DEEPSIEVE_API_URL=$BASE_URL \
  -- uvx deepsieve-mcp
```

## Cursor / Claude Desktop (manual JSON)

```json
{
  "mcpServers": {
    "deepsieve": {
      "command": "uvx",
      "args": ["deepsieve-mcp"],
      "env": {"DEEPSIEVE_API_KEY": "ds_live_...",
              "DEEPSIEVE_API_URL": "https://deepsieve.ai"}
    }
  }
}
```

`DEEPSIEVE_API_URL` defaults to `http://localhost:8200` (local dev stack).

Two transports, both shipped: the **hosted Streamable-HTTP server with OAuth
2.1** (the browser-login path at the top of this page — no key in a config file,
revocable per client) and the **local stdio** server shown here, which is the
spec-recommended path when you want key-based auth or an air-gapped setup.
