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

# Claude Code

> O servidor MCP do seu espaço no Claude Code, com a chave e o subject token em variáveis de ambiente.

O Claude Code fala Streamable HTTP e aceita cabeçalhos próprios, então ele liga direto ao servidor MCP do espaço, em `/mcp`. Use uma chave do espaço de **sandbox** (`nia_sk_test_...`) na sua máquina, nunca uma chave `live`.

## O que a conexão precisa

| Cabeçalho              | Valor                                                        | De onde vem                                                                          |
| ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `Authorization`        | `Bearer` e a chave da fonte                                  | O Console, em **Agentes e chaves**, no espaço de sandbox                             |
| `Niadra-Subject-Token` | Um token assinado que amarra a conexão a um cliente de teste | [`POST /v1/subject-tokens`](/api/subject-tokens), com a mesma chave; vale 15 minutos |

```sh theme={null}
export NIADRA_API_KEY="nia_sk_test_us-east-2_acme-sandbox_..."
export NIADRA_SUBJECT_TOKEN="$(curl -s -X POST "https://acme-sandbox.us-east-2.api.niadra.com/v1/subject-tokens" \
  -H "Authorization: Bearer $NIADRA_API_KEY" -H "Content-Type: application/json" \
  -d '{"subject": {"type": "phone_e164", "value": "+14155550123"}, "conversation_id": "dev-1", "verification": "V1"}' \
  | python3 -c 'import json,sys; print(json.load(sys.stdin)["token"])')"
```

## Ligar

Pela linha de comando:

```sh theme={null}
claude mcp add --transport http niadra "https://acme-sandbox.us-east-2.api.niadra.com/mcp" \
  --header "Authorization: Bearer $NIADRA_API_KEY" \
  --header "Niadra-Subject-Token: $NIADRA_SUBJECT_TOKEN"
```

Ou no `.mcp.json` do projeto, que o Claude Code lê e expande as variáveis de ambiente:

```json theme={null}
{
  "mcpServers": {
    "niadra": {
      "type": "http",
      "url": "https://acme-sandbox.us-east-2.api.niadra.com/mcp",
      "headers": {
        "Authorization": "Bearer ${NIADRA_API_KEY}",
        "Niadra-Subject-Token": "${NIADRA_SUBJECT_TOKEN}"
      }
    }
  }
}
```

Rode `/mcp` no Claude Code para ver o servidor e as ferramentas. Com a memória dos agentes ligada no espaço, `search_agent_memory` (e `remember`, com uma chave de escopo `agent_memory:write`) aparecem ao lado das sete ferramentas do cliente.

## Limites

* O token vale 15 minutos: quando vence, as ferramentas do cliente respondem `unauthenticated` no JSON-RPC. Emita outro e reconecte. As duas ferramentas da memória do agente funcionam sem token.
* O cliente é o do token, sempre: o modelo escolhe o que perguntar, nunca sobre quem. Para olhar outro cliente de teste, emita outro token.
* O servidor só responde `POST`; um `GET /mcp` volta 405.
* Cada chamada de ferramenta deixa um comprovante no espaço, como qualquer leitura.

## Próximos passos

<CardGroup cols={2}>
  <Card title="MCP com qualquer LLM" href="/guides/mcp">
    as ferramentas, o token e o que cada uma exige.
  </Card>

  <Card title="Assistentes de código" href="/integrations/coding-assistants">
    a skill que ensina o assistente a ligar um repositório à Niadra.
  </Card>
</CardGroup>
