O recurso de conector do Protocolo de Contexto de Modelo (MCP) do Claude permite que você se conecte a servidores MCP remotos diretamente da API de Mensagens sem um cliente MCP separado.

Este recurso requer o cabeçalho beta: "anthropic-beta": "mcp-client-2025-04-04"

Principais recursos

  • Integração direta com API: Conecte-se a servidores MCP sem implementar um cliente MCP
  • Suporte a chamadas de ferramentas: Acesse ferramentas MCP através da API de Mensagens
  • Autenticação OAuth: Suporte para tokens Bearer OAuth para servidores autenticados
  • Múltiplos servidores: Conecte-se a vários servidores MCP em uma única solicitação

Limitações

  • Do conjunto de recursos da especificação MCP, apenas chamadas de ferramentas são suportadas atualmente.
  • O servidor deve estar publicamente exposto através de HTTP. Servidores STDIO locais não podem ser conectados diretamente.
  • O conector MCP atualmente não é suportado no Amazon Bedrock e Google Vertex.

Usando o conector MCP na API de Mensagens

Para se conectar a um servidor MCP remoto, inclua o parâmetro mcp_servers na sua solicitação à API de Mensagens:

curl https://api.anthropic.com/v1/messages \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: mcp-client-2025-04-04" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1000,
    "messages": [{"role": "user", "content": "Quais ferramentas você tem disponíveis?"}],
    "mcp_servers": [
      {
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse",
        "name": "example-mcp",
        "authorization_token": "SEU_TOKEN"
      }
    ]
  }'

Configuração do servidor MCP

Cada servidor MCP no array mcp_servers suporta a seguinte configuração:

{
  "type": "url",
  "url": "https://example-server.modelcontextprotocol.io/sse",
  "name": "example-mcp",
  "tool_configuration": {
    "enabled": true,
    "allowed_tools": ["example_tool_1", "example_tool_2"]
  },
  "authorization_token": "SEU_TOKEN"
}

Descrição dos campos

PropriedadeTipoObrigatórioDescrição
typestringSimAtualmente apenas “url” é suportado
urlstringSimA URL do servidor MCP. Deve começar com https://
namestringSimUm identificador único para este servidor MCP. Será usado em blocos mcp_tool_call para identificar o servidor e para desambiguar ferramentas para o modelo.
tool_configurationobjetoNãoConfigurar uso de ferramentas
tool_configuration.enabledbooleanNãoSe deve habilitar ferramentas deste servidor (padrão: true)
tool_configuration.allowed_toolsarrayNãoLista para restringir as ferramentas permitidas (por padrão, todas as ferramentas são permitidas)
authorization_tokenstringNãoToken de autorização OAuth se exigido pelo servidor MCP. Veja especificação MCP.

Tipos de conteúdo de resposta

Quando Claude usa ferramentas MCP, a resposta incluirá dois novos tipos de blocos de conteúdo:

Bloco de Uso de Ferramenta MCP

{
  "type": "mcp_tool_use",
  "id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
  "name": "echo",
  "server_name": "example-mcp",
  "input": { "param1": "value1", "param2": "value2" }
}

Bloco de Resultado de Ferramenta MCP

{
  "type": "mcp_tool_result",
  "tool_use_id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
  "is_error": false,
  "content": [
    {
      "type": "text",
      "text": "Hello"
    }
  ]
}

Múltiplos servidores MCP

Você pode se conectar a vários servidores MCP incluindo múltiplos objetos no array mcp_servers:

{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 1000,
  "messages": [
    {
      "role": "user",
      "content": "Use ferramentas de ambos mcp-server-1 e mcp-server-2 para completar esta tarefa"
    }
  ],
  "mcp_servers": [
    {
      "type": "url",
      "url": "https://mcp.example1.com/sse",
      "name": "mcp-server-1",
      "authorization_token": "TOKEN1"
    },
    {
      "type": "url",
      "url": "https://mcp.example2.com/sse",
      "name": "mcp-server-2",
      "authorization_token": "TOKEN2"
    }
  ]
}

Autenticação

Para servidores MCP que requerem autenticação OAuth, você precisará obter um token de acesso. O beta do conector MCP suporta passar um parâmetro authorization_token na definição do servidor MCP. Os consumidores da API devem lidar com o fluxo OAuth e obter o token de acesso antes de fazer a chamada à API, bem como atualizar o token conforme necessário.

Obtendo um token de acesso para testes

O inspetor MCP pode guiá-lo pelo processo de obtenção de um token de acesso para fins de teste.

  1. Execute o inspetor com o seguinte comando. Você precisa ter o Node.js instalado em sua máquina.

    npx @modelcontextprotocol/inspector
    
  2. Na barra lateral à esquerda, para “Transport type”, selecione “SSE” ou “Streamable HTTP”.

  3. Digite a URL do servidor MCP.

  4. Na área à direita, clique no botão “Open Auth Settings” após “Need to configure authentication?”.

  5. Clique em “Quick OAuth Flow” e autorize na tela OAuth.

  6. Siga os passos na seção “OAuth Flow Progress” do inspetor e clique em “Continue” até chegar a “Authentication complete”.

  7. Copie o valor access_token.

  8. Cole-o no campo authorization_token na sua configuração de servidor MCP.

Usando o token de acesso

Depois de obter um token de acesso usando qualquer um dos fluxos OAuth acima, você pode usá-lo na sua configuração de servidor MCP:

{
  "mcp_servers": [
    {
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse",
      "name": "authenticated-server",
      "authorization_token": "SEU_TOKEN_DE_ACESSO_AQUI"
    }
  ]
}

Para explicações detalhadas sobre o fluxo OAuth, consulte a seção de Autorização na especificação MCP.