Skip to content

Почему CLI, а не MCP?

Чему вы научитесь

Этот урок поможет вам понять:

  • ✅ Различия в позиционировании MCP и системы навыков
  • ✅ Почему CLI больше подходит для загрузки навыков
  • ✅ Философию дизайна OpenSkills
  • ✅ Технические принципы системы навыков

Ваша текущая проблема

Вы можете задаться вопросом:

  • "Почему не использовать более современный протокол MCP?"
  • "Не слишком ли устарел подход CLI?"
  • "Не лучше ли MCP соответствует эпохе ИИ?"

Этот урок поможет вам понять технические соображения, лежащие в основе этих решений по дизайну.


Основной вопрос: Что такое навык?

Прежде чем обсуждать CLI vs MCP, давайте поймём сущность "навыка".

Сущность навыка

Определение навыка

Навык — это комбинация статических инструкций + ресурсов, включая:

  • SKILL.md: подробные руководства и промпты
  • references/: справочная документация
  • scripts/: исполняемые скрипты
  • assets/: изображения, шаблоны и другие ресурсы

Навык не является динамической службой, API в реальном времени или инструментом, требующим запуска сервера.

Официальный дизайн Anthropic

Система навыков Anthropic изначально основана на файловой системе:

  • Навыки существуют в виде файлов SKILL.md
  • Описываются через XML-блок <available_skills>
  • ИИ-агент читает содержимое файлов в контент по требованию

Это определяет, что выбор технологий для системы навыков должен быть совместим с файловой системой.


MCP vs OpenSkills: Сравнение позиционирования

РазмерностьMCP (Model Context Protocol)OpenSkills (CLI)
Сценарии использованияДинамические инструменты, вызовы API в реальном времениСтатические инструкции, документация, скрипты
Требования к запускуТребуется MCP-серверБез сервера (только файлы)
Поддержка агентовТолько агенты с поддержкой MCPВсе агенты, способные читать AGENTS.md
СложностьТребует развёртывания и обслуживания сервераНулевая конфигурация, готово к использованию
Источник данныхПолучение в реальном времени с сервераЧтение из локальной файловой системы
Зависимость от сетиТребуетсяНе требуется
**Загрузка навыковЧерез протоколЧерез чтение файлов

Почему CLI больше подходит для системы навыков?

1. Навыки — это файлы

MCP требует сервера: нужно развёртывать MCP-сервер, обрабатывать запросы, ответы, рукопожатие протокола...

CLI требует только файлов:

bash
# Навыки хранятся в файловой системе
.claude/skills/pdf/
├── SKILL.md              # Основной файл инструкций
├── references/           # Справочная документация
   └── pdf-format-spec.md
├── scripts/             # Исполняемые скрипты
   └── extract-pdf.py
└── assets/              # Файлы ресурсов
    └── pdf-icon.png

Преимущества:

  • ✅ Нулевая конфигурация, без сервера
  • ✅ Навыки могут быть версионированы
  • ✅ Работает офлайн
  • ✅ Простое развёртывание

2. Универсальность: все агенты могут использовать

Ограничения MCP:

Только агенты, поддерживающие протокол MCP, могут использовать его. Если Cursor, Windsurf, Aider и другие агенты каждый реализуют MCP, это приведёт к:

  • Дублированию разработки
  • Проблемам совместимости протоколов
  • Сложностям синхронизации версий

Преимущества CLI:

Любой агент, способный выполнять команды shell, может использовать:

bash
# Вызов через Claude Code
npx openskills read pdf

# Вызов через Cursor
npx openskills read pdf

# Вызов через Windsurf
npx openskills read pdf

Нулевая стоимость интеграции: агенту нужно только уметь выполнять команды shell.

3. Соответствие официальному дизайну

Система навыков Anthropic изначально основана на файловой системе, а не на MCP:

xml
<!-- Описание навыков в AGENTS.md -->
<available_skills>
<skill>
<name>pdf</name>
<description>Comprehensive PDF manipulation toolkit...</description>
<location>project</location>
</skill>
</available_skills>

Способ вызова:

bash
# Официальный способ вызова
npx openskills read pdf

OpenSkills полностью следует официальному дизайну Anthropic, обеспечивая совместимость.

4. Прогрессивная загрузка (Progressive Disclosure)

Основное преимущество системы навыков: загрузка по требованию, сохранение чистого контекста.

Реализация CLI:

bash
# Загрузка содержимого навыка только при необходимости
npx openskills read pdf
# Вывод: полное содержимое SKILL.md в стандартный вывод

Вызовы MCP:

Если реализовать через MCP, нужно:

  • Управлять списком навыков на сервере
  • Реализовать логику загрузки по требованию
  • Обрабатывать управление контекстом

А подход CLI естественным образом поддерживает прогрессивную загрузку.


Сценарии использования MCP

Проблемы, которые решает MCP, отличаются от системы навыков:

Проблемы, решаемые MCPПример
Вызовы API в реальном времениВызов OpenAI API, запросы к базе данных
Динамические инструментыКалькуляторы, службы преобразования данных
Интеграция удалённых службОперации Git, системы CI/CD
Управление состояниемИнструменты, требующие поддержания состояния сервера

Эти сценарии требуют сервера и протокола, MCP — правильный выбор.


Система навыков vs MCP: Не конкуренция

Ключевой тезис: MCP и система навыков решают разные проблемы, это не альтернатива.

Позиционирование системы навыков

[Статические инструкции] → [SKILL.md] → [Файловая система] → [Загрузка CLI]

Сценарии использования:

  • Руководства и лучшие практики
  • Документация и справочные материалы
  • Статические скрипты и шаблоны
  • Конфигурации, требующие версионирования

Позиционирование MCP

[Динамические инструменты] → [MCP-сервер] → [Вызов протокола] → [Ответ в реальном времени]

Сценарии использования:

  • Вызовы API в реальном времени
  • Запросы к базам данных
  • Удалённые службы с состоянием
  • Сложные вычисления и преобразования

Комплементарность

OpenSkills не исключает MCP, а сосредотачивается на загрузке навыков:

ИИ-агент
  ├─ Система навыков (OpenSkills CLI) → Загрузка статических инструкций
  └─ MCP-инструменты → Вызов динамических служб

Они дополняют, а не заменяют друг друга.


Практические примеры: когда использовать что?

Пример 1: Вызовы операций Git

Не подходит для системы навыков:

  • Операции Git динамические, требуют взаимодействия в реальном времени
  • Зависят от состояния Git-сервера

Подходит для MCP:

bash
# Вызов через MCP-инструмент
git:checkout(branch="main")

Пример 2: Руководство по обработке PDF

Не подходит для MCP:

  • Руководства статические
  • Не требуют запуска сервера

Подходит для системы навыков:

bash
# Загрузка через CLI
npx openskills read pdf
# Вывод: подробные шаги обработки PDF и лучшие практики

Пример 3: Запросы к базе данных

Не подходит для системы навыков:

  • Требуется подключение к базе данных
  • Результаты динамические

Подходит для MCP:

bash
# Вызов через MCP-инструмент
database:query(sql="SELECT * FROM users")

Пример 4: Стандарты проверки кода

Не подходит для MCP:

  • Стандарты проверки — статическая документация
  • Требуется версионирование

Подходит для системы навыков:

bash
# Загрузка через CLI
npx openskills read code-review
# Вывод: подробный чек-лист проверки кода и примеры

Будущее: Интеграция MCP и системы навыков

Возможные направления развития

MCP + Система навыков:

bash
# Навык ссылается на MCP-инструменты
npx openskills read pdf-tool

# Содержимое SKILL.md
Этот навык требует использования MCP-инструментов:

1. Используйте mcp:pdf-extract для извлечения текста
2. Используйте mcp:pdf-parse для разбора структуры
3. Используйте скрипты из этого навыка для обработки результатов

Преимущества:

  • Навыки предоставляют высокоуровневые инструкции и лучшие практики
  • MCP обеспечивает низкоуровневые динамические инструменты
  • Комбинация делает их более мощными

Текущий этап

OpenSkills выбирает CLI, потому что:

  1. Система навыков уже является зрелой файловой системой
  2. Реализация CLI проста и универсальна
  3. Не нужно ждать реализации поддержки MCP в разных агентах

Итог урока

Основные причины выбора CLI вместо MCP в OpenSkills:

Основные причины

  • Навыки — статические файлы: без сервера, хранение в файловой системе
  • Более универсально: все агенты могут использовать, без зависимости от протокола MCP
  • Соответствует официальному дизайну: система навыков Anthropic основана на файловой системе
  • Нулевая конфигурация: без сервера, готово к использованию

MCP vs Система навыков

MCPСистема навыков (CLI)
Динамические инструментыСтатические инструкции
Требует сервераТолько файловая система
API в реальном времениДокументация и скрипты
Требует поддержки протоколаНулевая стоимость интеграции

Не конкуренция, а дополнение

  • MCP решает проблемы динамических инструментов
  • Система навыков решает проблемы статических инструкций
  • Они могут использоваться вместе

Связанные материалы


Приложение: Ссылки на исходный код

Нажмите, чтобы просмотреть расположение исходного кода

Дата обновления: 2026-01-24

ФункцияПуть к файлуСтроки
Точка входа CLIsrc/cli.ts39-80
Команда чтенияsrc/commands/read.ts1-50
Генерация AGENTS.mdsrc/utils/agents-md.ts23-93

Ключевые решения по дизайну:

  • Подход CLI: загрузка навыков через npx openskills read <name>
  • Хранение в файловой системе: навыки хранятся в .claude/skills/ или .agent/skills/
  • Универсальная совместимость: вывод в XML-формате, полностью соответствующем Claude Code