API - application programming interface
CLI - command line interface
MCP - model context protocol
Интерфейс проще всего представить как форму розетки. Если есть правильная вилка, то можно воткнуть её в розетку. Иначе нужен будет переходник. Интерфейс - широкое понятие:
- человек принимает заявки только по телефону - у него телефонный интерфейс
- государство принимает запрос через заполнение формы - тоже интерфейс
Протокол - правила разговора. Деньги утром, стулья вечером.
API - это интерфейс программы. Программа буквально говорит: пришли мне такой запрос - и вот так я отвечу. Какие именно запросы и как она отвечает, описано в документации.
CLI - это более узкий интерфейс для программ, работающих в терминале - то самое чёрное страшное окошко из фильмов про хакеров. Такой интерфейс проще оконного в разработке и в использовании. Сложен тем, что нужно сначала изучить и не получится наугад ткнуть мышкой в кнопку.
CLI также можно назвать API под конкретную среду - чёрный терминал. CLI чаще всего несёт документацию вместе с собой: например, есть GitHub CLI
gh, и без проблем можно понять, как с ним работать, через gh --help, gh help или что-то такое. GitHub CLI - очень известный CLI, агент помнит его наизусть, но если что-то забыл - знает, как получить помощь. CLI можно обернуть в MCP как и любое другое API.MCP - это API + документация. Протокол говорит: сначала получи документацию, как можно пользоваться API, и потом дёргай этот API. Подключение агента по MCP означает, что агент при старте запрашивает документацию "как пользоваться", и когда пользователь просит обработать связанный запрос, то дёргает сервер описанным образом.
Если у сервиса есть API, то всегда можно написать адаптер и получить MCP. API → MCP-адаптер → агент. Такие адаптеры агент легко пишет сам, и служат они для экономии токенов. Один раз просим агента разобраться, как работает API, и делаем MCP - в следующий раз агент просто получит API + доку и начнёт работу. Альтернатива - просто написать SKILL: вот так дёргай API, вот такой результат получишь.
На GitHub сейчас огромное количество таких поделок. Например:
- https://github.com/eduard256/ozon-mcp-server
- https://github.com/atomkraft/yandex-metrika-mcp
С первого взгляда кажется - ого, готовый MCP! На деле это вайбкодинг-адаптер, сделанный за 10-20 минут, непонятного качества, который может сломаться от любого чиха. Проще попросить своего агента написать такой под конкретную задачу или обратиться к разработчику с просьбой сделать хорошо.
Нужно больше таких разборов?
〰️〰️〰️〰️〰️〰️〰️
@keeperblog