Что такое MCP и Skills и зачем их различать?
Если Claude должен прочитать файл на диске, найти данные в базе или создать запись во внешнем сервисе, ему нужен доступ. Его даёт MCP.
Когда Claude уже видит нужные файлы, но каждый раз по-разному анализирует таблицу, оформляет презентацию или проводит ревью, проблема в другом. Нужна инструкция с понятным порядком действий. Её можно положить в Skill.
Вот как сам Anthropic определяет MCP:
MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems. Using MCP, AI applications like Claude or ChatGPT can connect to data sources (e.g. local files, databases), tools (e.g. search engines, calculators) and workflows (e.g. specialized prompts) - enabling them to access key information and perform tasks.
Skill - это папка с инструкциями, шаблонами и порядком действий. Его точка входа - файл SKILL.md. Внутри есть описание и инструкции.
Разница важна, когда садишься настраивать skills mcp под свою задачу. Подключение к Google Drive достаточно оформить как MCP. Инструкцию «сначала прочитай строки, потом проверь формулы, затем выдай таблицу ошибок» удобнее вынести в отдельный Skill.
Модель может автоматически выбрать Skill, если описание подходит под запрос. Но это не обещание, что пересекающиеся Skills всегда будут выбраны правильно. Если запуск критичен, есть явный вызов через slash-команду.
Чем MCP отличается от Skill в реальной задаче?

Представь задачу: «Возьми таблицу продаж, найди строки со статусом “оплачен”, посчитай сумму и подготовь отчёт».
Если таблица лежит в папке, к которой Claude ещё не имеет доступа, сначала нужен MCP. Он даст возможность читать и менять файлы в разрешённом месте.
Когда файл уже доступен, но нужен одинаковый процесс обработки, добавляй Skill. В нём можно зафиксировать:
- какие листы читать;
- какие строки отбирать;
- какие формулы проверять;
- в каком формате выдавать результат;
- какие ошибки показывать отдельно.
За внешнее действие отвечает MCP. Skill определяет порядок и правила.
| Задача | Что подключать |
|---|---|
| Прочитать файлы в разрешённой папке | Filesystem MCP |
| Загрузить веб-страницу | Fetch MCP |
| Посмотреть историю и diff репозитория | Git MCP |
| Найти файл в Google Drive | MCP-коннектор |
| Создать тикет в Jira или Linear | MCP-коннектор |
| Обработать Excel по одной схеме | XLSX Skill |
| Создать презентацию по шаблону | PPTX Skill |
| Всегда делать ревью по чек-листу | Собственный Skill |
| Выполнить локальный скрипт как часть повторяемой процедуры | Skill, если скрипт относится к workflow |
| Дать этому скрипту доступ к внешнему сервису | Skill вместе с MCP |
Граница видна на примере Git и запроса skills mcp. Сам доступ к локальному репозиторию и операции Git остаются MCP. Правило «перед commit сначала покажи diff» можно вынести в Skill.
Та же схема работает с API. Ключ, OAuth-настройки и сам доступ к API не кладутся в Skill. Инструкция, как проверить ответ API и оформить ошибку, может лежать в Skill.
Задачу с недоступными для Claude данными через Skill не решить. MCP подключай для внешнего доступа, а одного текста с инструкциями для этого недостаточно.
Что есть что: MCP, Skills и connectors?
MCP задаёт общий способ общения AI-приложения с внешней системой. Сервер MCP может предоставить:
- tools - вызываемые действия;
- resources - данные для чтения;
- prompts - готовые промпты с параметрами.
Коннектор - уже собранный вариант подключения. Например, через коннектор Claude может работать с Linear, Slack или Google Drive. В карточке коннектора описываются сценарии использования, права чтения и записи, а также доступность.
У этих трёх уровней разные роли.
MCP - стандарт и механизм подключения.
Коннектор - готовая интеграция с сервисом.
Skill - инструкции и процесс.
Коннектор может использовать MCP внутри. Skill сохраняет свою роль инструкции, даже если в нём упоминается конкретный сервис.
Если в Skill лежит текст «создай задачу в Linear», сам по себе этот текст не даёт доступа к Linear. Нужен MCP-коннектор или другой доступный инструмент. Skill может добавить порядок: какие поля заполнить, как назвать тикет и что проверить перед отправкой.
Что выбрать для файлов, Git, таблиц и внешних сервисов?
Файлы
Filesystem MCP даёт Claude доступ к чтению, записи, поиску и перемещению файлов в разрешённых папках. Это доступ к ресурсу.
Оставляй его как MCP. Инструкция «сначала перечисли файлы, потом прочитай только конфигурацию» может дополнительно лежать в Skill.
Пример локального запуска:
npx -y @modelcontextprotocol/server-filesystem /путь/к/папкеПуть должен указывать на папку, к которой ты действительно хочешь дать доступ. Не подключай весь диск без конкретной причины.
Веб-страницы
Fetch MCP скачивает веб-страницу и превращает HTML в Markdown. Внешний сервис здесь нужен для получения сетевого содержимого.
Для веб-страниц действует тот же принцип. Skill может описать, что делать после загрузки: выделить факты, собрать таблицу или проверить ссылки.
Git
Git MCP работает с локальными Git-репозиториями и автоматизирует операции Git. Сам доступ к истории, веткам и diff не надо переписывать в Skill.
А вот процесс можно вынести отдельно:
- перед изменениями показать состояние репозитория;
- после правки показать diff;
- не создавать commit без проверки;
- в описании commit указать конкретное изменение.
Это повторяемая инструкция. Новый доступ здесь не появляется.
Таблицы
XLSX Skill задаёт Claude рабочий процесс для создания, чтения, анализа и редактирования Excel-файлов. В его инструкции есть зависимости вроде openpyxl, pandas и инструменты для пересчёта формул.
Если задача звучит как «каждый раз обработай Excel по одной схеме», выбирай Skill. MCP не нужен только потому, что файл имеет расширение .xlsx.
Презентации
PPTX Skill описывает правила создания, чтения и редактирования PowerPoint-файлов. Он отвечает за порядок действий и оформление.
Это Skill. Новый внешний сервис не появляется. Claude получает инструкцию, как работать с уже доступным файлом.
Внешние сервисы
Для Slack, Google Drive, Jira, Linear, API и баз данных нужен MCP. Такой доступ может включать чтение, создание, изменение или отправку данных. Конкретные права зависят от подключения.
Anthropic reviews connectors against its listing criteria before adding them to the Anthropic Directory, but does not security-audit or manage any MCP server.
Проверяй, какие права выдаёт подключение. Не добавляй интеграцию только потому, что она «может пригодиться».
На этом месте я останавливаюсь и сначала собираю минимальный набор: Filesystem MCP, Git MCP при работе с репозиторием и один Skill под повторяемую задачу. Остальные подключения добавляй только после конкретного сценария.
Связка skills mcp и готовых серверов становится понятнее, когда ты собираешь их руками вместо заучивания определений. На практикуме я показываю эту связку на реальных задачах: доступ к данным, инструкции для агента, проверка результата и защита от лишних прав.
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК
Как подключить MCP и добавить Skill по порядку?

Выбери область подключения.
Для одного проекта используй project scope. Его конфигурация хранится в
.mcp.jsonв корне проекта. Для личного подключения во всех проектах подходит user scope. Local scope действует только для текущего проекта.Не смешивай scope без причины. MCP, добавленный в одном проекте, не обязан появиться в другом.
Пример подключения серверного процесса в project scope:
bashclaude mcp add --scope project filesystem -- npx -y @modelcontextprotocol/server-filesystem /путь/к/папкеПроверь корень проекта.
В project scope файл должен лежать рядом с исходниками верхнего уровня, а Claude Code нужно запускать из этого проекта.
project/ ├── .mcp.json ├── src/ └── package.jsonПроверь список серверов:
bashcd project claude mcp listВнутри сессии используй:
/mcpПеред использованием project-scoped серверов из
.mcp.jsonClaude Code запрашивает подтверждение. Подтверди сервер только после проверки команды, пути и прав.Подключи сервер с правильными аргументами.
Опции Claude Code ставь до имени сервера, а команду сервера и её аргументы передавай после разделителя
--.bashclaude mcp add \ --scope project \ filesystem \ -- npx -y @modelcontextprotocol/server-filesystem /путь/к/папкеЕсли серверу нужна переменная окружения, передай её явно:
bashexport API_KEY="..." claude mcp add \ --scope user \ --env API_KEY="$API_KEY" \ api \ -- npx -y some-mcp-serverСоздай папку Skill.
Для проектного Skill используй каталог
.claude/skills/. Внутри каждого навыка должна быть отдельная папка и файл с точным именемSKILL.md..claude/ └── skills/ └── review-ui/ └── SKILL.mdНе создавай одиночный файл
.claude/skills/review-ui.md. ИмяSKILL.mdсохраняй в исходном регистре.Заполни описание и инструкции.
В начале файла добавь YAML frontmatter с полями
nameиdescription. Описание должно говорить, по каким словам и задачам Claude стоит выбрать Skill.md--- name: review-ui description: Use when the user asks to review UI changes for layout, accessibility, or responsive issues. --- # Review UI 1. Read the changed files. 2. Check layout, accessibility, and responsive behavior. 3. Return findings with file paths and concrete fixes.Проверь автоматический и явный запуск.
Если в описании есть подходящие слова, попроси Claude выполнить соответствующую задачу и посмотри, применил ли он Skill. Для проверки без автоматического выбора вызови его явно.
/review-uiЕсли каталог
.claude/skills/создан уже после запуска сессии и Skill не появился, перезапусти Claude Code или выполни:/clearПосле изменения уже загруженного Skill вызови его снова. Claude Code не перечитывает файл автоматически на каждом следующем сообщении.
API-ключи и OAuth-настройки не добавляй в .mcp.json, если файл попадёт в репозиторий. Для личных секретов используй local или user scope. В проектную конфигурацию выноси только безопасную структуру подключения.
Почему Skill не запускается или MCP не виден?

Skill не появляется в списке
Рабочая структура выглядит так:
.claude/
└── skills/
└── investigate-failing-test/
└── SKILL.mdТипичные ошибки:
.claude/skills/investigate-failing-test.md
.claude/skills/investigate-failing-test/skill.md
.claude/skills/investigate-failing-test/SKILL.txtИмя файла чувствительно к регистру. Точка входа должна называться SKILL.md.
В начале файла должен быть frontmatter:
---
name: investigate-failing-test
description: Use when the user says a test is failing, broken, red, or asks to investigate a failing test.
---Если верхнего каталога .claude/skills/ не было при старте сессии, создай его и перезапусти Claude Code. Альтернатива - выполнить /clear.
Skill виден, но не выбирается
Слишком общее описание не помогает модели понять момент запуска.
Плохой вариант:
description: Helps with development.Более конкретный вариант:
description: Use when the user says a test is failing, broken, red, or asks to investigate a failing test. Reproduce the failure before changing code.Описание должно называть событие запуска, тип задачи и первое действие. «Работа с кодом» слишком широко. «Разобрать красный тест и сначала воспроизвести ошибку» уже привязано к ситуации.
Проверь и frontmatter. Если добавлен параметр:
disable-model-invocation: trueмодель не должна запускать такой Skill сама. Вызови его явно:
/investigate-failing-testДаже подходящее описание не даёт гарантии автоматического запуска при пересечении нескольких Skills. Для критичного процесса используй явную команду, hook или другой механизм с проверяемым результатом.
Skill изменён, но старые инструкции остались
После вызова содержимое SKILL.md уже попадает в текущий контекст. Изменение файла не означает, что Claude заменит ранее загруженный текст.
Сделай так:
- Снова вызови Skill через
/имя-навыка. - Если контекст сильно сжат, повтори вызов.
- Новую версию проверяй отдельным вызовом, а не старым уже загруженным.
MCP не виден в другом проекте
Проверь scope. Local действует только в текущем проекте. Project привязан к конкретному репозиторию через .mcp.json. User доступен во всех проектах пользователя.
Посмотри список из того же каталога, где запускаешь Claude:
cd project
claude mcp listЕсли сервер нужен во всех проектах:
claude mcp add --scope user github -- npx -y @modelcontextprotocol/server-githubЕсли сервер нужен только этому репозиторию:
claude mcp add --scope project github -- npx -y @modelcontextprotocol/server-github.mcp.json лежит не там
Project-scoped конфигурация должна быть в корне проекта:
project/
├── .mcp.json
├── src/
└── package.jsonЗапуск Claude из соседнего каталога может привести к тому, что конфигурация не будет найдена. Перейди в корень и проверь сервер через claude mcp list или /mcp.
После изменения подтверждения можно сбросить командой:
claude mcp reset-project-choicesОтносительный путь указывает не туда
Относительные пути в command и args считаются от каталога, из которого запущен Claude Code. Не от каталога .mcp.json.
Такой вариант сломается, если запуск произойдёт из другого места:
{
"mcpServers": {
"my-server": {
"command": "python",
"args": ["servers/main.py"]
}
}
}Используй абсолютный путь или ${CLAUDE_PROJECT_DIR}:
{
"mcpServers": {
"my-server": {
"command": "python",
"args": ["${CLAUDE_PROJECT_DIR}/servers/main.py"]
}
}
}Для диагностики запуска:
claude --debug mcpЕсли MCP подключился, но инструменты не появились, проверь stderr процесса.
Переменная окружения не раскрылась
Проверь, что переменная существует в окружении процесса Claude Code:
export API_KEY="..."
claudeВ конфигурации допустим такой синтаксис:
{
"mcpServers": {
"api": {
"command": "npx",
"args": ["-y", "some-mcp-server"],
"env": {
"API_KEY": "${API_KEY}"
}
}
}
}Для значения по умолчанию:
{
"env": {
"DATA_DIR": "${DATA_DIR:-./data}"
}
}Если обязательная переменная не задана и у неё нет значения, Claude Code не сможет разобрать конфигурацию. Секреты не храни в общем .mcp.json.
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК
Что оставить, а что убрать из списка подключений?
Для быстрой очистки пройдись по каждому подключению и задай один вопрос: «Что нового Claude получает благодаря этому серверу?»
Если ответ связан с ресурсом или действием, оставляй MCP:
- файлы в разрешённой папке;
- локальный Git;
- база данных;
- внешний API;
- браузер или сетевой доступ;
- Slack, Jira, Linear, Google Drive;
- отдельный локальный процесс.
Если ответ связан только с правилами, переноси содержимое в Skill:
- инструкция;
- шаблон;
- формат ответа;
- чек-лист;
- повторяемый workflow;
- процедура анализа;
- последовательность команд.
| Оставить как MCP | Перенести в Skill |
|---|---|
| Filesystem MCP | Правила работы с файлами |
| Fetch MCP | Порядок анализа загруженной страницы |
| Git MCP | Чек-лист перед commit |
| Подключение к API | Инструкция проверки ответа API |
| Доступ к базе | Шаблон отчёта по данным |
| Google Drive или Slack | Правила обработки найденных данных |
| Внешний сервис с OAuth | Сценарий работы после авторизации |
Несколько MCP-серверов с одинаковым доступом обычно не нужны. Сервер «на будущее» тоже не добавляй. MCP-серверы требуют доверия и проверки прав. Наличие подключения в каталоге не заменяет такую проверку.
everything MCP подходит для экспериментов, потому что показывает возможности протокола. Постоянно держать его не надо: это тестовый сервер для проверки возможностей. Рабочую задачу он не решает.
time оставляй, если реально нужны часовые пояса. Если правило сводится к фразе «всегда показывай время в моём часовом поясе», его можно оформить как инструкцию.
Template Skill используй как основу для собственного навыка:
---
name: template-skill
description: Replace with description of the skill and when Claude should use it.
---
# Insert instructions below
Add the repeatable workflow here.Я начинаю с небольшого набора:
- Filesystem MCP;
- Git MCP, если Claude работает с репозиторием;
- один-два собственных Skills;
- XLSX Skill, если таблицы входят в регулярную работу.
Остальное добавляй после конкретной задачи. Так проще понять, что именно сломалось, когда Claude снова сделал не то.
Вопросы и ответы
Вопросы и ответы
mcp skills - что такое MCP Skills?
MCP и Skills решают разные задачи. MCP подключает Claude к внешним системам, данным и действиям. Skill добавляет специализированные знания, шаблоны и повторяемый workflow. В одной задаче они могут работать вместе: MCP даёт доступ к таблице или API, а Skill задаёт порядок обработки результата.
skills vs mcp - чем Skills отличаются от MCP?
Skill описывает способ выполнения задачи. MCP даёт доступ к ресурсу, сервису или инструменту. Если Claude уже видит файл, но должен обрабатывать его по чек-листу, нужен Skill. Если Claude не видит базу, Git, API или внешний сервис, нужен MCP.
skills mcp - как связаны Skills и MCP?
Skill может использовать инструменты, которые уже подключены через MCP. Например, MCP даёт доступ к Google Drive, а Skill описывает, какие документы искать и в каком формате собрать итог. Skill не заменяет авторизацию и сам по себе не открывает доступ к внешнему сервису.
mcp vs skills - что лучше подключить: MCP или Skills?
Выбор зависит от задачи. Для файлов, Git, баз, API, браузера и внешних сервисов подключай MCP. Для шаблонов, инструкций, чек-листов, формата результата и повторяемых процессов создавай Skill. Иногда нужны оба варианта.
skill mcp - что такое Skill и MCP?
Skill - это папка с точкой входа SKILL.md, описанием и инструкциями для повторяемой работы. MCP - стандарт подключения AI-приложения к внешним системам. Один задаёт процесс, другой даёт доступ к данным и действиям.
mcp skill - чем MCP отличается от Skill?
MCP расширяет доступ Claude к внешнему миру. Skill расширяет способ работы Claude с уже доступными инструментами. Пример: Git MCP позволяет работать с репозиторием, а Skill может потребовать показать diff перед commit.
ai skills mcp - как связаны AI Skills и MCP?
AI Skills добавляют специализированные знания и workflow. MCP подключает источники данных, инструменты и внешние системы. Когда Skill должен обработать данные из внешнего сервиса, обычно нужны Skill для процесса и MCP для доступа.
skills hooks mcp - чем Skills, Hooks и MCP отличаются друг от друга?
В фактуре для этой статьи нет официального описания Hooks и точной границы между Hooks, Skills и MCP. Подтверждённое различие такое: MCP подключает внешние системы, а Skill задаёт знания и workflow. Для Hooks нужен отдельный первоисточник Claude Code, поэтому я не приписываю ему неподтверждённые функции.
mcp skills connectors что есть что - что такое MCP, Skills и connectors?
MCP - открытый стандарт подключения. Коннектор - готовое подключение к конкретному сервису, например Slack или Google Drive. Skill - набор инструкций, шаблонов и workflow. Коннектор может использовать MCP внутри, но Skill не заменяет доступ к сервису.
skills mcp - когда использовать Skills, а когда MCP?
Используй MCP, когда Claude должен читать, искать, менять или отправлять данные во внешней системе. Используй Skill, когда Claude уже получил доступ, но должен действовать по одному процессу. Если нужны и доступ, и процесс, подключай MCP вместе со Skill.
Источники
- Model Context Protocol - Anthropic
- Use connectors to extend Claude's capabilities
- Connect Claude Code to tools via MCP
- Security - Claude Code Docs
- Use skills in Claude
- How to create custom skills
- Filesystem MCP Server
- Fetch MCP Server
- Anthropic XLSX Skill
- Anthropic PPTX Skill
- Anthropic Template Skill
- Debug your configuration - Claude Code Docs
- Extend Claude with skills - Claude Code Docs
- Claude Code issue #9716
- Claude Code issue #21428
- Claude Code issue #19054
- Claude Code issue #3321
- Claude Code issue #1254
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК

