Loading...
    • Руководство разработчика
    • Справочник API
    • MCP
    • Ресурсы
    • Примечания к выпуску
    Search...
    ⌘K
    Первые шаги
    Введение в ClaudeБыстрый старт
    Модели и цены
    Обзор моделейВыбор моделиЧто нового в Claude 4.6Руководство миграцииУстаревшие моделиЦены
    Разработка с Claude
    Обзор функцийИспользование Messages APIОбработка причин остановкиЛучшие практики промптирования
    Возможности модели
    Extended thinkingAdaptive thinkingУсилиеБыстрый режим (preview)Структурированные выходные данныеЦитированияПотоковая передача сообщенийПакетная обработкаПоддержка PDFРезультаты поискаМногоязычная поддержкаEmbeddingsЗрение
    Инструменты
    ОбзорКак реализовать использование инструментовИнструмент веб-поискаИнструмент веб-загрузкиИнструмент выполнения кодаИнструмент памятиИнструмент BashИнструмент управления компьютеромИнструмент текстового редактора
    Инфраструктура инструментов
    Поиск инструментовПрограммный вызов инструментовПотоковая передача инструментов с детализацией
    Управление контекстом
    Контекстные окнаСжатиеРедактирование контекстаКэширование промптовПодсчет токенов
    Файлы и ресурсы
    Files API
    Agent Skills
    ОбзорБыстрый стартЛучшие практикиSkills для предприятийИспользование Skills с API
    Agent SDK
    ОбзорБыстрый стартTypeScript SDKTypeScript V2 (preview)Python SDKРуководство миграции
    MCP в API
    MCP коннекторУдаленные MCP серверы
    Claude на платформах третьих сторон
    Amazon BedrockMicrosoft FoundryVertex AI
    Инженерия промптов
    ОбзорГенератор промптовИспользование шаблонов промптовУлучшитель промптовБудьте ясны и прямолинейныИспользуйте примеры (многошаговое промптирование)Дайте Claude думать (CoT)Используйте XML тегиДайте Claude роль (системные промпты)Цепочка сложных промптовСоветы для длинного контекстаСоветы для Extended thinking
    Тестирование и оценка
    Определение критериев успехаРазработка тестовых случаевИспользование инструмента оценкиСнижение задержки
    Укрепление защиты
    Снижение галлюцинацийУвеличение согласованности выходных данныхСмягчение jailbreaksПотоковая передача отказовСнижение утечки промптаДержите Claude в образе
    Администрирование и мониторинг
    Обзор Admin APIРезидентность данныхРабочие пространстваUsage and Cost APIClaude Code Analytics APIZero Data Retention
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    MCP в API

    MCP коннектор

    Подключайтесь к удалённым MCP серверам напрямую из Messages API без отдельного MCP клиента.

    Функция MCP коннектора (Model Context Protocol) в Claude позволяет подключаться к удалённым MCP серверам напрямую из Messages API без отдельного MCP клиента.

    Текущая версия: Эта функция требует бета-заголовка: "anthropic-beta": "mcp-client-2025-11-20"

    Предыдущая версия (mcp-client-2025-04-04) устарела. См. документацию устаревшей версии ниже.

    This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.

    Ключевые возможности

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

    Was this page helpful?

    • Ключевые возможности
    • Ограничения
    • Использование MCP коннектора в Messages API
    • Базовый пример
    • Конфигурация MCP сервера
    • Описание полей
    • Конфигурация набора инструментов MCP
    • Базовая структура
    • Описание полей
    • Параметры конфигурации инструментов
    • Слияние конфигураций
    • Распространённые шаблоны конфигурации
    • Включить все инструменты с конфигурацией по умолчанию
    • Список разрешённых — включить только конкретные инструменты
    • Список запрещённых — отключить конкретные инструменты
    • Смешанный — список разрешённых с настройкой каждого инструмента
    • Правила валидации
    • Типы содержимого ответа
    • Блок использования MCP инструмента
    • Блок результата MCP инструмента
    • Несколько MCP серверов
    • Аутентификация
    • Получение токена доступа для тестирования
    • Использование токена доступа
    • Клиентские вспомогательные функции MCP (TypeScript)
    • Установка
    • Доступные вспомогательные функции
    • Использование MCP инструментов
    • Использование MCP промптов
    • Использование MCP ресурсов
    • Обработка ошибок
    • Хранение данных
    • Руководство по миграции
    • Ключевые изменения
    • Шаги миграции
    • Распространённые шаблоны миграции
    • Устаревшая версия: mcp-client-2025-04-04
    • Описание устаревших полей
  1. Несколько серверов: Подключайтесь к нескольким MCP серверам в одном запросе
  2. Ограничения

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

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

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

    1. Определение MCP сервера (массив mcp_servers): Определяет детали подключения к серверу (URL, аутентификация)
    2. MCP набор инструментов (массив tools): Настраивает, какие инструменты включить и как их конфигурировать

    Базовый пример

    Этот пример включает все инструменты с MCP сервера с конфигурацией по умолчанию:

    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-11-20" \
      -d '{
        "model": "claude-opus-4-6",
        "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"
          }
        ],
        "tools": [
          {
            "type": "mcp_toolset",
            "mcp_server_name": "example-mcp"
          }
        ]
      }'

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

    Каждый MCP сервер в массиве mcp_servers определяет детали подключения:

    {
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse",
      "name": "example-mcp",
      "authorization_token": "YOUR_TOKEN"
    }

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

    СвойствоТипОбязательноеОписание
    typestringДаВ настоящее время поддерживается только "url"
    urlstringДаURL MCP сервера. Должен начинаться с https://
    namestringДаУникальный идентификатор для этого MCP сервера. Должен быть указан ровно в одном MCPToolset в массиве tools.
    authorization_tokenstringНетOAuth токен авторизации, если требуется MCP сервером. См. спецификацию MCP.

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

    MCPToolset находится в массиве tools и настраивает, какие инструменты с MCP сервера включены и как они должны быть сконфигурированы.

    Базовая структура

    {
      "type": "mcp_toolset",
      "mcp_server_name": "example-mcp",
      "default_config": {
        "enabled": true,
        "defer_loading": false
      },
      "configs": {
        "specific_tool_name": {
          "enabled": true,
          "defer_loading": true
        }
      }
    }

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

    СвойствоТипОбязательноеОписание
    typestringДаДолжно быть "mcp_toolset"
    mcp_server_namestringДаДолжно совпадать с именем сервера, определённым в массиве mcp_servers
    default_configobjectНетКонфигурация по умолчанию, применяемая ко всем инструментам в этом наборе. Индивидуальные конфигурации инструментов в configs переопределяют эти значения по умолчанию.
    configsobjectНетПереопределения конфигурации для отдельных инструментов. Ключи — имена инструментов, значения — объекты конфигурации.
    cache_controlobjectНетКонфигурация точки разрыва кэша для этого набора инструментов

    Параметры конфигурации инструментов

    Каждый инструмент (настроенный в default_config или в configs) поддерживает следующие поля:

    СвойствоТипПо умолчаниюОписание
    enabledbooleantrueВключён ли этот инструмент
    defer_loadingbooleanfalseЕсли true, описание инструмента изначально не отправляется модели. Используется с инструментом поиска инструментов.

    Слияние конфигураций

    Значения конфигурации объединяются с таким приоритетом (от высшего к низшему):

    1. Настройки конкретного инструмента в configs
    2. default_config на уровне набора
    3. Системные значения по умолчанию

    Пример:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp",
      "default_config": {
        "defer_loading": true
      },
      "configs": {
        "search_events": {
          "enabled": false
        }
      }
    }

    Результат:

    • search_events: enabled: false (из configs), defer_loading: true (из default_config)
    • Все остальные инструменты: enabled: true (системное значение по умолчанию), defer_loading: true (из default_config)

    Распространённые шаблоны конфигурации

    Включить все инструменты с конфигурацией по умолчанию

    Простейший шаблон — включить все инструменты с сервера:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp"
    }

    Список разрешённых — включить только конкретные инструменты

    Установите enabled: false по умолчанию, затем явно включите конкретные инструменты:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp",
      "default_config": {
        "enabled": false
      },
      "configs": {
        "search_events": {
          "enabled": true
        },
        "create_event": {
          "enabled": true
        }
      }
    }

    Список запрещённых — отключить конкретные инструменты

    Включите все инструменты по умолчанию, затем явно отключите ненужные:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp",
      "configs": {
        "delete_all_events": {
          "enabled": false
        },
        "share_calendar_publicly": {
          "enabled": false
        }
      }
    }

    Смешанный — список разрешённых с настройкой каждого инструмента

    Объедините список разрешённых с индивидуальной конфигурацией для каждого инструмента:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp",
      "default_config": {
        "enabled": false,
        "defer_loading": true
      },
      "configs": {
        "search_events": {
          "enabled": true,
          "defer_loading": false
        },
        "list_events": {
          "enabled": true
        }
      }
    }

    В этом примере:

    • search_events включён с defer_loading: false
    • list_events включён с defer_loading: true (унаследовано из default_config)
    • Все остальные инструменты отключены

    Правила валидации

    API применяет следующие правила валидации:

    • Сервер должен существовать: mcp_server_name в MCPToolset должно совпадать с сервером, определённым в массиве mcp_servers
    • Сервер должен использоваться: Каждый MCP сервер, определённый в mcp_servers, должен быть указан ровно в одном MCPToolset
    • Уникальный набор инструментов для каждого сервера: На каждый MCP сервер может ссылаться только один MCPToolset
    • Неизвестные имена инструментов: Если имя инструмента в configs не существует на 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 и соответствующий MCPToolset для каждого в массиве tools:

    {
      "model": "claude-opus-4-6",
      "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"
        }
      ],
      "tools": [
        {
          "type": "mcp_toolset",
          "mcp_server_name": "mcp-server-1"
        },
        {
          "type": "mcp_toolset",
          "mcp_server_name": "mcp-server-2",
          "default_config": {
            "defer_loading": true
          }
        }
      ]
    }

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

    Для 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 потока см. в разделе Authorization спецификации MCP.

    Клиентские вспомогательные функции MCP (TypeScript)

    Если вы управляете собственным MCP клиентским подключением (например, с локальными stdio серверами, MCP промптами или MCP ресурсами), TypeScript SDK предоставляет вспомогательные функции для преобразования между типами MCP и типами Claude API. Это устраняет необходимость в ручном коде преобразования при использовании MCP SDK совместно с Anthropic SDK.

    Эти вспомогательные функции в настоящее время доступны только в TypeScript SDK.

    Используйте параметр API mcp_servers, когда у вас есть удалённые серверы, доступные по URL, и вам нужна только поддержка инструментов. Если вы используете Agent SDK, MCP подключения управляются автоматически. Используйте клиентские вспомогательные функции, когда вам нужны локальные серверы, промпты, ресурсы или больший контроль над подключением с базовым SDK.

    Установка

    Установите Anthropic SDK и MCP SDK:

    npm install @anthropic-ai/sdk @modelcontextprotocol/sdk

    Доступные вспомогательные функции

    Импортируйте вспомогательные функции из бета-пространства имён:

    import {
      mcpTools,
      mcpMessages,
      mcpResourceToContent,
      mcpResourceToFile
    } from "@anthropic-ai/sdk/helpers/beta/mcp";
    Вспомогательная функцияОписание
    mcpTools(tools, mcpClient)Преобразует MCP инструменты в инструменты Claude API для использования с client.beta.messages.toolRunner()
    mcpMessages(messages)Преобразует сообщения MCP промпта в формат сообщений Claude API
    mcpResourceToContent(resource)Преобразует MCP ресурс в блок содержимого Claude API
    mcpResourceToFile(resource)Преобразует MCP ресурс в объект файла для загрузки

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

    Преобразуйте MCP инструменты для использования с исполнителем инструментов SDK, который автоматически обрабатывает выполнение инструментов:

    import Anthropic from "@anthropic-ai/sdk";
    import { mcpTools } from "@anthropic-ai/sdk/helpers/beta/mcp";
    import { Client } from "@modelcontextprotocol/sdk/client/index.js";
    import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
    
    const anthropic = new Anthropic();
    
    // Подключение к MCP серверу
    const transport = new StdioClientTransport({ command: "mcp-server", args: [] });
    const mcpClient = new Client({ name: "my-client", version: "1.0.0" });
    await mcpClient.connect(transport);
    
    // Получение списка инструментов и их преобразование для Claude API
    const { tools } = await mcpClient.listTools();
    const runner = await anthropic.beta.messages.toolRunner({
      model: "claude-sonnet-4-6",
      max_tokens: 1024,
      messages: [{ role: "user", content: "What tools do you have available?" }],
      tools: mcpTools(tools, mcpClient)
    });

    Использование MCP промптов

    Преобразуйте сообщения MCP промпта в формат сообщений Claude API:

    import { mcpMessages } from "@anthropic-ai/sdk/helpers/beta/mcp";
    
    const { messages } = await mcpClient.getPrompt({ name: "my-prompt" });
    const response = await anthropic.beta.messages.create({
      model: "claude-sonnet-4-6",
      max_tokens: 1024,
      messages: mcpMessages(messages)
    });

    Использование MCP ресурсов

    Преобразуйте MCP ресурсы в блоки содержимого для включения в сообщения или в объекты файлов для загрузки:

    import { mcpResourceToContent, mcpResourceToFile } from "@anthropic-ai/sdk/helpers/beta/mcp";
    
    // Как блок содержимого в сообщении
    const resource = await mcpClient.readResource({ uri: "file:///path/to/doc.txt" });
    await anthropic.beta.messages.create({
      model: "claude-sonnet-4-6",
      max_tokens: 1024,
      messages: [
        {
          role: "user",
          content: [
            mcpResourceToContent(resource),
            { type: "text", text: "Summarize this document" }
          ]
        }
      ]
    });
    
    // Как загрузка файла
    const fileResource = await mcpClient.readResource({ uri: "file:///path/to/data.json" });
    await anthropic.beta.files.upload({ file: mcpResourceToFile(fileResource) });

    Обработка ошибок

    Функции преобразования выбрасывают UnsupportedMCPValueError, если значение MCP не поддерживается Claude API. Это может произойти с неподдерживаемыми типами содержимого, MIME типами или ссылками на ресурсы, не являющимися HTTP.

    Хранение данных

    MCP коннектор не охватывается соглашениями ZDR. Данные, передаваемые через MCP серверы, включая определения инструментов и результаты выполнения, хранятся в соответствии со стандартной политикой хранения данных Anthropic.

    Информацию о соответствии ZDR для всех функций см. в разделе API и хранение данных.

    Руководство по миграции

    Если вы используете устаревший бета-заголовок mcp-client-2025-04-04, следуйте этому руководству для перехода на новую версию.

    Ключевые изменения

    1. Новый бета-заголовок: Измените с mcp-client-2025-04-04 на mcp-client-2025-11-20
    2. Конфигурация инструментов перемещена: Конфигурация инструментов теперь находится в массиве tools в виде объектов MCPToolset, а не в определении MCP сервера
    3. Более гибкая конфигурация: Новый шаблон поддерживает списки разрешённых, списки запрещённых и настройку отдельных инструментов

    Шаги миграции

    До (устаревший вариант):

    {
      "model": "claude-opus-4-6",
      "max_tokens": 1000,
      "messages": [
        // ...
      ],
      "mcp_servers": [
        {
          "type": "url",
          "url": "https://mcp.example.com/sse",
          "name": "example-mcp",
          "authorization_token": "YOUR_TOKEN",
          "tool_configuration": {
            "enabled": true,
            "allowed_tools": ["tool1", "tool2"]
          }
        }
      ]
    }

    После (текущий вариант):

    {
      "model": "claude-opus-4-6",
      "max_tokens": 1000,
      "messages": [
        // ...
      ],
      "mcp_servers": [
        {
          "type": "url",
          "url": "https://mcp.example.com/sse",
          "name": "example-mcp",
          "authorization_token": "YOUR_TOKEN"
        }
      ],
      "tools": [
        {
          "type": "mcp_toolset",
          "mcp_server_name": "example-mcp",
          "default_config": {
            "enabled": false
          },
          "configs": {
            "tool1": {
              "enabled": true
            },
            "tool2": {
              "enabled": true
            }
          }
        }
      ]
    }

    Распространённые шаблоны миграции

    Старый шаблонНовый шаблон
    Нет tool_configuration (все инструменты включены)MCPToolset без default_config или configs
    tool_configuration.enabled: falseMCPToolset с default_config.enabled: false
    tool_configuration.allowed_tools: [...]MCPToolset с default_config.enabled: false и конкретными инструментами, включёнными в configs

    Устаревшая версия: mcp-client-2025-04-04

    Эта версия устарела. Пожалуйста, перейдите на mcp-client-2025-11-20, используя руководство по миграции выше.

    Предыдущая версия MCP коннектора включала конфигурацию инструментов непосредственно в определение MCP сервера:

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

    Описание устаревших полей

    СвойствоТипОписание
    tool_configurationobjectУстарело: Используйте MCPToolset в массиве tools
    tool_configuration.enabledbooleanУстарело: Используйте default_config.enabled в MCPToolset
    tool_configuration.allowed_toolsarrayУстарело: Используйте шаблон списка разрешённых с configs в MCPToolset