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

# Instalar o MCP Didit: Claude, Cursor, VS Code, Windsurf

> Configure o servidor MCP hospedado da Didit no Claude, Cursor, VS Code, Windsurf, Zed ou outro cliente MCP, ou auto-hospede. Sem chaves de API.

Escolha seu cliente abaixo. O servidor **hospedado** (`https://mcp.didit.me/mcp`) não precisa de chave de API: na primeira conexão, seu cliente abre um navegador, você clica em **[Entrar com a Didit](https://docs.didit.me/pt-br/integration/mcp/authentication.md)** e aprova as permissões.

> [!TIP]
>
> **Usa o Claude?** A página [Conectar o Claude](https://docs.didit.me/pt-br/integration/mcp/claude.md) tem o link para conexão com um clique que abre a caixa de diálogo **Add custom connector** com o nome e a URL já preenchidos, então você só precisa confirmar e entrar.

> [!NOTE]
>
> Clientes que ainda não suportam MCP remoto/HTTP (Windsurf, Zed) se conectam pela ponte `mcp-remote`, que encaminha o stdio para a URL hospedada e cuida do handshake OAuth para você.

***

## Servidor hospedado (recomendado)

> [tab] Claude Code
>
> Adicione o servidor pela CLI e, em seguida, inicie o login:
>
> ```bash theme={null}
> claude mcp add --transport http didit https://mcp.didit.me/mcp
> ```
>
> Inicie o Claude Code e execute `/mcp`: ele abre o navegador para **Entrar com a Didit**. Depois que você aprovar, as ferramentas `didit` ficam disponíveis.

> [tab] Claude web e Desktop
>
> Web: clique em [**Adicionar Didit ao Claude →**](https://claude.ai/customize/connectors?modal=add-custom-connector\&connectorName=Didit\&connectorUrl=https://mcp.didit.me/mcp) e confirme a caixa de diálogo já preenchida.
>
> Desktop: **Settings → Connectors → Add custom connector**, dê o nome `Didit` e defina a URL como:
>
> ```text theme={null}
> https://mcp.didit.me/mcp
> ```
>
> Clique em **Conectar** e conclua o **Entrar com a Didit** no navegador. As ferramentas da Didit passam então a aparecer no menu de ferramentas do chat.

> [tab] Cursor
>
> Adicione a `~/.cursor/mcp.json` (global) ou a `.cursor/mcp.json` (por projeto):
>
> ```json theme={null}
> {
>   "mcpServers": {
>     "didit": {
>       "url": "https://mcp.didit.me/mcp"
>     }
>   }
> }
> ```
>
> Ou use **Settings → Tools & Integrations → New MCP Server**. O Cursor se registra na Didit por meio do Dynamic Client Registration e abre o navegador para o login no primeiro uso.

> [tab] VS Code
>
> Com o modo agente do GitHub Copilot, adicione `.vscode/mcp.json`:
>
> ```json theme={null}
> {
>   "servers": {
>     "didit": {
>       "type": "http",
>       "url": "https://mcp.didit.me/mcp"
>     }
>   }
> }
> ```
>
> Ou execute **MCP: Add Server** na paleta de comandos e escolha **HTTP**. Entre quando for solicitado. Aponte o VS Code para a URL `/mcp` completa: o servidor publica os metadados do recurso OAuth para esse caminho.

> [tab] Windsurf
>
> O Windsurf se conecta pela ponte `mcp-remote`. Adicione a `~/.codeium/windsurf/mcp_config.json`:
>
> ```json theme={null}
> {
>   "mcpServers": {
>     "didit": {
>       "command": "npx",
>       "args": ["-y", "mcp-remote@latest", "https://mcp.didit.me/mcp"]
>     }
>   }
> }
> ```
>
> Abra **Settings → Cascade → MCP Servers → Manage** para confirmar que ele foi carregado e, em seguida, entre pelo navegador.

> [tab] Zed
>
> Adicione um servidor de contexto no `settings.json` do Zed:
>
> ```json theme={null}
> {
>   "context_servers": {
>     "didit": {
>       "source": "custom",
>       "command": "npx",
>       "args": ["-y", "mcp-remote@latest", "https://mcp.didit.me/mcp"]
>     }
>   }
> }
> ```
>
> O Zed inicia a ponte e abre o navegador para **Entrar com a Didit**.

> [tab] Qualquer outro cliente
>
> Qualquer cliente que implemente MCP sobre **Streamable HTTP** com **OAuth 2.1** pode se conectar diretamente a `https://mcp.didit.me/mcp`. Ele descobre o servidor de autorização a partir de `https://mcp.didit.me/.well-known/oauth-protected-resource/mcp`, se registra com o Dynamic Client Registration e executa o fluxo PKCE. O servidor só aceita `POST` em `/mcp`; `GET` e `DELETE` respondem `405`, porque ele é stateless e não mantém nenhum stream iniciado pelo servidor.
>
> Um cliente que só suporta stdio pode usar a mesma ponte `mcp-remote` do Windsurf e do Zed:
>
> ```bash theme={null}
> npx -y mcp-remote@latest https://mcp.didit.me/mcp
> ```
>
> Para testar o servidor sem um cliente, o [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) se conecta à mesma URL e guia você pelo login.

> [!NOTE]
>
> **Nenhuma chave de API na configuração.** O servidor hospedado autentica você no navegador e age como **você** em todas as organizações das quais você faz parte, com as permissões da sua função. Consulte [Autenticação](https://docs.didit.me/pt-br/integration/mcp/authentication.md).

O servidor hospedado responde a `GET https://mcp.didit.me/healthz` com a sua versão.

***

## Verifique sua conexão

Depois de fazer login, peça ao seu cliente:

```text theme={null}
Use the Didit MCP server to call didit_context_get and list my organizations and applications.
```

O agente deve chamar `didit_context_get` e mostrar suas organizações com as respectivas aplicações.
Se ele disser que não tem ferramentas da Didit, o servidor não se conectou ou o login não foi concluído: consulte [Solução de problemas](https://docs.didit.me/pt-br/integration/mcp/advanced.md#solução-de-problemas).

## Auto-hospedagem

O servidor hospedado é construído a partir do repositório de código aberto [github.com/didit-protocol/mcp](https://github.com/didit-protocol/mcp) (MIT). Cada versão também é publicada no npm como [`@didit-protocol/mcp-server`](https://www.npmjs.com/package/@didit-protocol/mcp-server), então você pode executar o servidor stdio diretamente do npm ou compilar qualquer um dos pontos de entrada a partir de um clone. Uma única base de código oferece dois pontos de entrada:

| Ponto de entrada | Modo | Transporte | Autenticação |
| - | - | - | - |
| `dist/http.js` | Hospedado | Streamable HTTP em `MCP_PORT` (padrão 3000), `POST /mcp`, `GET /healthz` | OAuth 2.1 Bearer, validado por introspecção de token |
| `dist/index.js` | stdio (headless) | MCP stdio | Um token de acesso de usuário em `DIDIT_ACCESS_TOKEN` |

Os dois modos atuam como um **usuário** da Didit. Não existe modo com chave de API de aplicação.

**1. Clone e compile**

```bash theme={null}
git clone https://github.com/didit-protocol/mcp.git && cd mcp
npm install && npm run build
```

Ou compile o contêiner: `docker build -t didit-mcp .`. A imagem executa `dist/http.js` como um usuário sem privilégios de root, expõe a porta 3000 e tem uma verificação de integridade em `/healthz`.

**2. Execute o servidor HTTP (OAuth)**

Copie `.env.example` para `.env` e preencha os valores do modo hospedado. Depois:

```bash theme={null}
node dist/http.js
# or
docker run -p 3000:3000 --env-file .env didit-mcp
```

O servidor é apenas um servidor de recursos OAuth. Ele precisa de `MCP_RESOURCE_URI` definido como a URL pública completa do transporte (por exemplo, `https://mcp.example.com/mcp`, e não apenas a origem) e das credenciais que usa para fazer a introspecção de tokens (`MCP_OAUTH_CLIENT_ID`, `MCP_OAUTH_CLIENT_SECRET`) no servidor de autorização da Didit. A lista completa de variáveis está em [Avançado → auto-hospedagem](https://docs.didit.me/pt-br/integration/mcp/advanced.md#auto-hospedagem).

**3. Ou execute via stdio (headless)**

Para um agente local que não consegue executar um fluxo OAuth, execute o pacote publicado (sem precisar de clone) e passe um token de acesso de usuário no ambiente:

```bash theme={null}
DIDIT_ACCESS_TOKEN=<user-access-token> npx -y @didit-protocol/mcp-server
```

A partir de um clone, `DIDIT_ACCESS_TOKEN=<user-access-token> node dist/index.js` faz o mesmo. Sem um token, o agente pode entrar com `didit_account_login`, seguido de `didit_account_verify_2fa` quando a conta tem autenticação de dois fatores.

As variáveis opcionais `MCP_DEFAULT_ORG` e `MCP_DEFAULT_APP` fixam o escopo em configurações de um único tenant. Registre o servidor no Claude Code com:

```bash theme={null}
claude mcp add didit-local -e DIDIT_ACCESS_TOKEN=<user-access-token> -- npx -y @didit-protocol/mcp-server
```

Ou no `mcp.json` do Cursor:

```json theme={null}
{
  "mcpServers": {
    "didit-local": {
      "command": "npx",
      "args": ["-y", "@didit-protocol/mcp-server"],
      "env": { "DIDIT_ACCESS_TOKEN": "<user-access-token>" }
    }
  }
}
```

O servidor stdio de código aberto não inclui as ferramentas do servidor hospedado para Travel Rule, marketplace, rede de fraude e tokens do SDK de transações, nem suas ferramentas de conformidade além da criação de um fluxo.
Ele adiciona `didit_org_top_up`, `didit_org_reveal_application_api_key` e cinco ferramentas de configuração de conta (`didit_account_register`, `didit_account_verify_email`, `didit_account_resend_otp`, `didit_account_login`, `didit_account_verify_2fa`) que recebem credenciais como argumentos e, por isso, nunca são disponibilizadas em um conector remoto. As ferramentas que recebem arquivos também aceitam argumentos `*_path` no stdio, já que o servidor compartilha o seu sistema de arquivos.

***

## Próximos passos

> [card] [Autenticação](https://docs.didit.me/pt-br/integration/mcp/authentication.md)
>
> Login, escopos e funções.

> [card] [Referência de ferramentas](https://docs.didit.me/pt-br/integration/mcp/tools.md)
>
> Tudo o que o agente pode chamar.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.