Введение в MCP

Model Context Protocol: что это, зачем и как подключать первый сервер.

16 уроков, первые 3 бесплатно. Полный доступ: 1490 руб.

Уроки курса

  1. Welcome to the course
  2. Introducing MCP
  3. MCP clients
  4. Project setup
  5. Defining tools with MCP
  6. The server inspector
  7. Course satisfaction survey
  8. Implementing a client
  9. Defining resources
  10. Accessing resources
  11. Defining prompts
  12. Prompts in the client
  13. Final assessment on MCP
  14. MCP review
  15. What you'll learn
  16. What you'll learn

Введение в Протокол Контекста Модели (MCP): Определение Ресурсов

Добро пожаловать в Anthropic Academy! В этом курсе мы погрузимся в мир Протокола Контекста Модели (MCP) — мощного фреймворка, который позволяет моделям искусственного интеллекта, таким как Claude, выходить за рамки своих первоначальных знаний и взаимодействовать с внешним миром. Сегодняшний урок посвящен одному из ключевых элементов MCP: ресурсам. Понимание того, что такое ресурсы и как их эффективно определять, является фундаментальным шагом к созданию по-настоящему интеллектуальных и полезных приложений на базе Claude.

Что такое Протокол Контекста Модели (MCP)?

Прежде чем мы углубимся в ресурсы, давайте кратко рассмотрим, что такое MCP. Большие языковые модели (LLM), такие как Claude, обучаются на огромных объемах текстовых данных, но их знания ограничены датой "отсечки" обучения. Они не имеют доступа к актуальной информации в реальном времени, не могут выполнять действия во внешнем мире или обращаться к специфическим базам данных вашей организации. Именно здесь на помощь приходит MCP.

MCP — это стандартизированный подход, который позволяет Claude:

По сути, MCP предоставляет Claude "органы чувств" и "конечности" для взаимодействия с миром за пределами его внутренней архитектуры transformer. Он определяет, как клиенты (ваши приложения) взаимодействуют с сервером (моделью Claude), как передаются промпты, как используются инструменты и, что самое главное для нашего урока, как определяются и используются ресурсы.

Ресурсы в контексте MCP: Расширяя возможности Claude

В рамках MCP, ресурсы — это любая внешняя информация или функциональность, которую Claude может использовать для выполнения запроса. Это могут быть данные, документы, доступ к базам данных, веб-страницы, или даже возможность вызывать определенные функции. Думайте о ресурсах как о специализированных книгах, справочниках или инструментах, которые вы даете эксперту, чтобы он мог ответить на более сложные и специфические вопросы, выходящие за рамки его общей эрудиции.

Без ресурсов Claude ограничен своими общими знаниями. С ресурсами он становится способным:

Эффективное определение ресурсов позволяет превратить Claude из универсального LLM в высокоспециализированного помощника, адаптированного под ваши уникальные потребности.

Виды ресурсов и их применение

Ресурсы могут принимать различные формы, и их выбор зависит от задачи, которую вы хотите решить с помощью Claude. Рассмотрим основные категории:

1. Текстовые и Документальные Ресурсы

Это могут быть любые текстовые данные, которые вы хотите предоставить Claude для анализа, суммаризации или ответа на вопросы. Примеры включают:

Пример использования: Вы можете предоставить Claude текст длинного юридического документа и попросить его выделить ключевые положения или ответить на конкретные вопросы по содержанию. Модель использует этот текст как ресурс для формирования точного ответа.

2. Структурированные Данные и Доступ к API

Эта категория включает данные, организованные в таблицы, базы данных или доступные через программные интерфейсы (API). Это позволяет Claude получать актуальную и точную информацию в реальном времени:

Пример использования: Пользователь спрашивает: "Какая сейчас температура в Москве?". Claude, используя определенный ресурс (например, API погодного сервиса), может получить актуальные данные и предоставить точный ответ.

3. Инструменты (Tools)

Инструменты — это особый тип ресурсов, представляющий собой функции или действия, которые Claude может вызывать. Эти инструменты часто сами по себе являются шлюзами к другим ресурсам (например, API). Они позволяют Claude не только получать информацию, но и выполнять действия во внешнем мире.

Пример использования: Пользователь говорит: "Запланируй встречу с Джоном на завтра в 10 утра". Claude, распознав намерение, может вызвать инструмент "планировщик встреч", передать ему необходимые параметры и получить подтверждение или запрос на уточнение.

4. Контекст Пользователя

Хотя это не "внешний" ресурс в том же смысле, что API, предыдущие сообщения в диалоге, предпочтения пользователя или его профиль также являются критически важными ресурсами, которые Claude использует для поддержания связного и персонализированного взаимодействия. MCP помогает управлять этим контекстом, чтобы Claude "помнил" детали разговора.

Как Claude использует ресурсы?

Использование ресурсов Claude происходит двумя основными способами:

1. Явное предоставление через промпты

Вы можете напрямую включить ресурс в свой промпт. Например, если вы хотите, чтобы Claude проанализировал конкретный текст, вы просто добавляете этот текст в промпт:

"Вот текст статьи для анализа: [ВСТАВИТЬ ТЕКСТ СТАТЬИ]. Пожалуйста, выделите основные идеи и предложите заголовок."

В этом случае текст статьи является ресурсом, который вы явно предоставили модели.

2. Автоматический вызов инструментов (Tool Use)

Это более продвинутый способ, при котором Claude самостоятельно решает, когда и какой инструмент использовать для получения или обработки ресурсов. Разработчик определяет доступные инструменты (например, через SDK или API), описывает их функциональность, а Claude, анализируя запрос пользователя, определяет, нужен ли ему внешний инструмент. Если да, он "вызывает" его, получает результат (который становится новым ресурсом) и использует его для формирования ответа.

Процесс выглядит так:

  1. Пользователь отправляет промпт.
  2. Claude анализирует промпт и понимает, что для ответа ему нужна внешняя информация или действие.
  3. Claude выбирает наиболее подходящий инструмент из доступных.
  4. Claude "вызывает" этот инструмент, передавая ему необходимые параметры.
  5. Инструмент выполняет свою функцию (например, делает запрос к базе данных, ищет в интернете).
  6. Результат работы инструмента (например, данные из базы данных) возвращается Claude как новый ресурс.
  7. Claude использует этот ресурс для генерации окончательного ответа пользователю.

Для разработчиков, желающих понять, как Claude принимает решения и использует ресурсы, существует Server Inspector. Это мощный инструмент, который позволяет отслеживать внутренний "ход мыслей" модели, видеть, какие инструменты она вызывает, какие параметры передает и какие ресурсы получает в ответ. Это незаменимо для отладки и оптимизации взаимодействия с Claude.

Важность эффективного определения ресурсов

Качество и релевантность ответов Claude напрямую зависят от того, насколько хорошо определены и предоставлены ресурсы. Эффективное управление ресурсами позволяет:

Заключение

Ресурсы являются краеугольным камнем Протокола Контекста Модели (MCP), позволяя Claude взаимодействовать с динамичным и сложным внешним миром. Понимая различные типы ресурсов и способы их интеграции, вы можете значительно расширить возможности Claude, создавая интеллектуальные системы, которые не только генерируют текст, но и действуют, анализируют и предоставляют точную, актуальную информацию. В следующих уроках мы более подробно рассмотрим, как определять и управлять этими ресурсами с помощью MCP.