Урок 15MCP

Продвинутый MCP

Ресурсы, промпты, поиск

Как работают продвинутые возможности MCP

MCP (Model Context Protocol) — это открытый протокол, по которому Claude Code общается с внешними источниками данных и инструментами. На этом уроке речь идёт не про базовое подключение сервера, а про четыре механизма, которые делают такую интеграцию по-настоящему полезной: ресурсы (resources), промпты (prompts), поиск инструментов (tool search) и работу самого Claude Code в роли MCP сервера. Ресурс — это любой именованный набор данных, который сервер «отдаёт» наружу: схема базы данных, текст issue, локальный файл, страница Notion. Вы ссылаетесь на ресурс через символ @ прямо в запросе, и Claude подгружает его содержимое в контекст. Например, запись @postgres://users/schema означает «возьми схему таблицы users из подключённого сервера postgres» — модель не выдумывает структуру, а читает реальные данные.

Блок конфигурации в разделе «Claude Code как MCP сервер» показывает обратную ситуацию. Запись "command": "claude" с аргументом mcp serve регистрирует сам Claude Code как сервер внутри другого приложения. После этого внешний агент, плагин редактора или CI/CD-пайплайн могут вызывать возможности Claude Code так же, как Claude вызывает любой другой MCP инструмент. Это удобно, когда нужно встроить рассуждения модели в автоматизированный процесс. Блок «Управление выводом» решает практическую проблему: серверы часто возвращают гигантские ответы. Параметр maxTokens: 5000 ограничивает размер одного ответа, а cursor с токеном следующей страницы (pagination) позволяет дочитать остаток по частям, не переполняя контекстное окно.

Когда это применять. @-упоминания стоит использовать, когда вы точно знаете, какой кусок данных нужен модели — так вы экономите токены и убираете догадки. Промпты MCP (вида /mcp-github:create-pr) удобны для повторяющихся командных шаблонов. Поиск инструментов включается сам, когда серверов много и держать все описания в контексте дорого. Главные ошибки: ссылаться через @ на ресурс, которого сервер не предоставляет (Claude получит пустой ответ); забыть про лимиты вывода и упереться в переполнение контекста; а также путать scope подключения — сервер, добавленный локально, не виден в командной (project) конфигурации. Понимание этих четырёх механизмов превращает MCP из «ещё одного коннектора» в полноценный слой данных для агента.

MCP Resources

Ресурсы — это данные, которые сервер предоставляет Claude. Их можно упоминать через @.

> Используя @postgres://users/schema, покажи структуру таблицы users
MCP Prompts

Промпты — это предустановленные шаблоны команд от MCP серверов.

/mcp-github:create-pr — создать Pull Request с описанием
Tool Search

Когда много MCP серверов, Claude ищет нужный инструмент по описанию.

> Найди инструмент для создания issue
@-упоминания ресурсов

Используйте @ для ссылки на MCP ресурсы в запросах:

@postgres://schemaСхема базы данных
@github://issues/123Конкретный issue
@file:///path/to/doc.mdЛокальный файл
@notion://page/abcNotion страница
> Используя @postgres://users/schema, напиши миграцию для добавления поля email_verified
Claude Code как MCP сервер

Claude Code сам может выступать как MCP сервер для других приложений:

// claude-code-mcp-server
// Claude Code сам может быть MCP сервером

// В другом приложении:
{
  "mcpServers": {
    "claude-code": {
      "command": "claude",
      "args": ["mcp", "serve"]
    }
  }
}

// Теперь другие агенты могут использовать Claude Code

💡 Это позволяет использовать возможности Claude Code из IDE плагинов, CI/CD, или других AI агентов

Управление выводом

MCP серверы могут возвращать много данных. Claude управляет этим:

Token Limits

Серверы могут указать максимальное количество токенов в ответе

maxTokens: 5000

Pagination

Большие результаты разбиваются на страницы

cursor: "next_page_token"

Продвинутые советы

  • Используйте @-упоминания для точного указания контекста
  • MCP Prompts работают как пользовательские команды
  • При много серверах Claude автоматически ищет нужный инструмент
  • Claude Code как MCP сервер — мощный паттерн для автоматизации

Частые вопросы

Что такое MCP ресурсы и как использовать @-упоминания в Claude Code?

Ресурс (resource) — это именованный набор данных, который MCP сервер отдаёт наружу: схема базы данных, текст issue, локальный файл или страница Notion. Чтобы подгрузить ресурс в контекст, сошлитесь на него через символ @ прямо в запросе. Например, @postgres://users/schema означает «прочитай реальную схему таблицы users из подключённого сервера postgres» — модель читает фактические данные, а не выдумывает структуру.

Как сделать Claude Code MCP сервером для другого приложения?

В конфигурации другого приложения добавьте сервер с command "claude" и аргументом mcp-serve. После этого внешний агент, плагин редактора или CI/CD-пайплайн смогут вызывать возможности Claude Code так же, как Claude вызывает любой другой MCP инструмент. Это удобно, когда нужно встроить рассуждения модели в автоматизированный процесс.

Как ограничить объём ответа MCP сервера, чтобы не переполнить контекст?

MCP серверы часто возвращают большие ответы. Параметр maxTokens (например, maxTokens: 5000) ограничивает размер одного ответа, а cursor с токеном следующей страницы включает постраничную выдачу (pagination) — остаток данных дочитывается по частям, не переполняя контекстное окно модели.

Чем MCP промпты отличаются от обычных команд в Claude Code?

MCP промпты (prompts) — это предустановленные шаблоны команд, которые предоставляет сам MCP сервер, вида /mcp-github:create-pr. Они работают как пользовательские слэш-команды и удобны для повторяющихся действий. В отличие от ресурсов (которые подгружают данные через @), промпты запускают готовый сценарий на стороне сервера.

Квиз по уроку

1 из 1

1.Какие транспортные протоколы могут использовать MCP-серверы?

Этот урок — часть структурированного курса по LLM.

Мой путь обучения