Продвинутый 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 из «ещё одного коннектора» в полноценный слой данных для агента.
Ресурсы — это данные, которые сервер предоставляет Claude. Их можно упоминать через @.
Промпты — это предустановленные шаблоны команд от MCP серверов.
Когда много MCP серверов, Claude ищет нужный инструмент по описанию.
Используйте @ для ссылки на MCP ресурсы в запросах:
@postgres://schemaСхема базы данных@github://issues/123Конкретный issue@file:///path/to/doc.mdЛокальный файл@notion://page/abcNotion страница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: 5000Pagination
Большие результаты разбиваются на страницы
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. Они работают как пользовательские слэш-команды и удобны для повторяющихся действий. В отличие от ресурсов (которые подгружают данные через @), промпты запускают готовый сценарий на стороне сервера.
Этот урок — часть структурированного курса по LLM.
Мой путь обучения