Описываем инструменты через MCP

Урок 63 из 92 курса «Разработка с Claude API»: официальный курс Anthropic Academy (Антропик) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

Кадр из видеоурока

О чём урок

В мире больших языковых моделей (LLM) таких как Claude, способность взаимодействовать с внешними системами и данными является ключевой для выполнения сложных и полезных задач. Сам по себе Claude — это мощный мыслитель, но ему нужны "руки" и "глаза", чтобы читать документы, обновлять базы данных или вызывать внешние API. Именно здесь на помощь приходит протокол MCP (Multi-tool Co-op Protocol) и его официальный Python SDK. MCP позволяет нам определять набор инструментов, которые Claude может использовать. Эти инструменты — это, по сути, функции, которые Claude может вызывать, передавая им параметры и получая результаты. Однако ручное написание сложных JSON schema для каждого инструмента может быть трудоемким и подверженным ошибкам. Python SDK для MCP значительно упрощает этот процесс, позволяя разработчикам определять инструменты с помощью привычных конструкций Python, таких как декораторы и аннотации типов. В этом уроке мы рассмотрим, как создать простой сервер MCP и определить два основных инструмента для управления документами, хранящимися в памяти: один для чтения содержимого документов и другой для их обновления с помощью операций поиска и замены. Это продемонстрирует элегантность и эффективность подхода SDK. Создание сервера MCP с помощью Python SDK невероятно просто. Вы можете инициализировать полноценный сервер всего одной строкой кода. Для этого используется класс FastMCP из модуля mcp.server.fastmcp. Вот как это выглядит: В этом примере мы создаем экземпляр сервера FastMCP с именем "DocumentMCP". Параметр log_level="ERROR" настраивает уровень логирования, чтобы выводить только критические ошибки, делая вывод более чистым. Для нашей реализации документы будут храниться в простом словаре Python, где ключами являются идентификаторы документов, а значениями — их содержимое. Это имитирует простую базу данных или файловую систему для демонстрационных целей: Этот словарь docs будет доступен для наших инструментов, позволяя им читать и изменять содержимое документов. Python SDK преобразует процесс создания инструментов из многословного и подверженного ошибкам в чистый и читаемый.

План урока

  1. Введение в определение инструментов с помощью MCP и Python SDK
  2. Настройка сервера MCP
  3. Определение инструментов с помощью декораторов
  4. Создание инструмента для чтения документов
  5. Создание инструмента для редактирования документов
  6. Обработка ошибок в инструментах
  7. Ключевые преимущества подхода SDK

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Урок входит в темы

Полезные гиды