Функция MCP коннектора (Model Context Protocol) Claude позволяет подключаться к удаленным MCP серверам напрямую из Messages API без отдельного MCP клиента.
Эта функция требует бета-заголовок: "anthropic-beta": "mcp-client-2025-04-04"

Ключевые особенности

  • Прямая интеграция с API: Подключение к MCP серверам без реализации MCP клиента
  • Поддержка вызова инструментов: Доступ к MCP инструментам через Messages API
  • OAuth аутентификация: Поддержка OAuth Bearer токенов для аутентифицированных серверов
  • Множественные серверы: Подключение к нескольким MCP серверам в одном запросе

Ограничения

  • Из набора функций спецификации MCP в настоящее время поддерживаются только вызовы инструментов.
  • Сервер должен быть публично доступен через HTTP (поддерживает как Streamable HTTP, так и SSE транспорты). Локальные STDIO серверы не могут быть подключены напрямую.
  • MCP коннектор в настоящее время не поддерживается на Amazon Bedrock и Google Vertex.

Использование MCP коннектора в Messages API

Для подключения к удаленному MCP серверу включите параметр mcp_servers в ваш запрос Messages API:
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-5",
    "max_tokens": 1000,
    "messages": [{"role": "user", "content": "What tools do you have available?"}],
    "mcp_servers": [
      {
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse",
        "name": "example-mcp",
        "authorization_token": "YOUR_TOKEN"
      }
    ]
  }'

Конфигурация MCP сервера

Каждый MCP сервер в массиве mcp_servers поддерживает следующую конфигурацию:
{
  "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": "YOUR_TOKEN"
}

Описания полей

СвойствоТипОбязательноОписание
typestringДаВ настоящее время поддерживается только “url”
urlstringДаURL MCP сервера. Должен начинаться с https://
namestringДаУникальный идентификатор для этого MCP сервера. Он будет использоваться в блоках mcp_tool_call для идентификации сервера и для разрешения неоднозначности инструментов для модели.
tool_configurationobjectНетНастройка использования инструментов
tool_configuration.enabledbooleanНетВключить ли инструменты с этого сервера (по умолчанию: true)
tool_configuration.allowed_toolsarrayНетСписок для ограничения разрешенных инструментов (по умолчанию разрешены все инструменты)
authorization_tokenstringНетOAuth токен авторизации, если требуется MCP сервером. См. спецификацию MCP.

Типы содержимого ответа

Когда Claude использует MCP инструменты, ответ будет включать два новых типа блоков содержимого:

Блок использования MCP инструмента

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

Блок результата MCP инструмента

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

Множественные MCP серверы

Вы можете подключиться к нескольким MCP серверам, включив несколько объектов в массив mcp_servers:
{
  "model": "claude-sonnet-4-5",
  "max_tokens": 1000,
  "messages": [
    {
      "role": "user",
      "content": "Use tools from both mcp-server-1 and mcp-server-2 to complete this task"
    }
  ],
  "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"
    }
  ]
}

Аутентификация

Для MCP серверов, которые требуют OAuth аутентификацию, вам нужно будет получить токен доступа. Бета-версия MCP коннектора поддерживает передачу параметра authorization_token в определении MCP сервера. Ожидается, что потребители API будут обрабатывать OAuth поток и получать токен доступа перед выполнением API вызова, а также обновлять токен по мере необходимости.

Получение токена доступа для тестирования

MCP инспектор может провести вас через процесс получения токена доступа для целей тестирования.
  1. Запустите инспектор следующей командой. Вам нужен Node.js, установленный на вашей машине.
    npx @modelcontextprotocol/inspector
    
  2. В боковой панели слева для “Transport type” выберите либо “SSE”, либо “Streamable HTTP”.
  3. Введите URL MCP сервера.
  4. В правой области нажмите на кнопку “Open Auth Settings” после “Need to configure authentication?”.
  5. Нажмите “Quick OAuth Flow” и авторизуйтесь на экране OAuth.
  6. Следуйте шагам в разделе “OAuth Flow Progress” инспектора и нажимайте “Continue”, пока не достигнете “Authentication complete”.
  7. Скопируйте значение access_token.
  8. Вставьте его в поле authorization_token в конфигурации вашего MCP сервера.

Использование токена доступа

После получения токена доступа с помощью любого из вышеуказанных OAuth потоков, вы можете использовать его в конфигурации вашего MCP сервера:
{
  "mcp_servers": [
    {
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse",
      "name": "authenticated-server",
      "authorization_token": "YOUR_ACCESS_TOKEN_HERE"
    }
  ]
}
Для подробных объяснений OAuth потока обратитесь к разделу Авторизация в спецификации MCP.