> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.basement.chat/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.basement.chat/_mcp/server.

# Conectar um cliente MCP

O Gateway é um servidor MCP sobre Streamable HTTP.

|                          |                                                            |
| ------------------------ | ---------------------------------------------------------- |
| **Endereço**             | `https://mcp.basement.chat/mcp`                            |
| **Transporte**           | Streamable HTTP (JSON-RPC por `POST`)                      |
| **Versões do protocolo** | `2025-06-18`, `2025-03-26`, `2024-11-05`                   |
| **Entrada**              | Uma chave (`Authorization: Bearer bsmt_...`), ou OAuth 2.1 |

## Entrar com uma chave

Crie uma chave em **Agentes**, **Conectar agente**, e envie a chave como bearer token. Funciona com qualquer cliente MCP que permita definir um cabeçalho.

#### Configuração JSON

A maioria dos clientes (Claude Desktop, Cursor, Windsurf e outros) lê um arquivo como este:

```json
{
  "mcpServers": {
    "basement": {
      "url": "https://mcp.basement.chat/mcp",
      "headers": { "Authorization": "Bearer bsmt_sua_chave" }
    }
  }
}
```

#### Claude Code

```bash
claude mcp add --transport http basement https://mcp.basement.chat/mcp \
  --header "Authorization: Bearer bsmt_sua_chave"
```

#### Codex

Em `~/.codex/config.toml`:

```toml
[mcp_servers.basement]
url = "https://mcp.basement.chat/mcp"
bearer_token_env_var = "BASEMENT_API_KEY"
```

Depois, defina `BASEMENT_API_KEY` com a chave no seu ambiente.

## Entrar com OAuth

Um cliente que tem OAuth para MCP (por exemplo, um conector personalizado no Claude) só precisa do endereço. Informe `https://mcp.basement.chat/mcp`. O cliente abre o Basement no navegador, você escolhe a organização e dá um nome à conexão, e o Basement entrega ao cliente uma chave própria.

Uma conexão feita assim lê o Basement e não escreve nada. Para ela fazer mais, selecione um nível de acesso para ela em **Agentes**, **Conectados**.

O Gateway implementa OAuth 2.1 com descoberta, registro dinâmico de cliente e PKCE:

* `GET /.well-known/oauth-protected-resource`
* `GET /.well-known/oauth-authorization-server`
* `POST /oauth/register`
* `POST /oauth/token`

Uma conexão feita com OAuth aparece em **Agentes**, **Conectados** como qualquer outra chave, e você revoga do mesmo jeito.

## Confira a conexão

Chame `whoami`. A resposta traz a organização, o nome e o prefixo da chave, e os escopos dela. Funciona com qualquer chave.

```json
{
  "orgId": "…",
  "orgName": "Acme Robotics",
  "keyName": "Claude para preparar reuniões",
  "keyPrefix": "bsmt_4UMl",
  "scopes": ["gateway:read", "tools:use"],
  "expiresAt": null
}
```

## O que o agente vê

`tools/list` responde só as ferramentas que o nível de acesso da chave permite. Uma ferramenta fora da lista responde erro se o agente chamar. Veja [Ferramentas](/pt-br/mcp/tools).