OpenAPI to CLI (ocli)
Превращает любой API с OpenAPI или Swagger в команды CLI без кодогенерации, с поиском эндпоинтов по BM25
Установка
npm install -g openapi-to-cliГлобальная установка CLI
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
ocli читает спецификацию OpenAPI или Swagger и во время выполнения превращает эндпоинты в команды CLI. Агент ищет нужную команду запросом на естественном языке или регуляркой, смотрит параметры через --help и вызывает API. Профили хранят базовый URL, Bearer или Basic авторизацию и свои заголовки, спецификация кэшируется локально. Автор позиционирует это как легкую альтернативу MCP: по бенчмарку в README накладные расходы около 158 токенов на ход.
Для кого. Разработчикам, которые хотят дать агенту доступ к REST API без написания MCP-сервера.
Подходит, если
- У внутреннего или облачного API есть спецификация OpenAPI, а MCP-сервера нет
- API большое, сотни эндпоинтов, и описания инструментов MCP съедают контекст
- Нужно вызывать API из shell-скриптов и цепочек команд
- Работаете с несколькими API через разные профили
Не подходит, если
- Нужна авторизация OAuth2: ocli ее не поддерживает
- Требуется централизованная авторизация или общее состояние: здесь лучше MCP
- API описан через GraphQL, а не OpenAPI
Пример запроса к агенту
Подключи наш API по спецификации https://api.example.com/openapi.json через ocli и найди команду для создания заказаОграничения
Нет OAuth2, фильтрации ответа через jq и структурированного JSON-вывода, нет поддержки MCP и GraphQL. Неизвестные флаги отклоняются, кроме тел запросов, для которых спецификация не описывает схему.
Как отключить. Удалите пакет командой npm uninstall -g openapi-to-cli, папку профилей .ocli и файл скилла из .claude/skills.
Проверка безопасности
- Выполняет реальные HTTP-запросы к API, включая POST, PUT и DELETE
- Хранит токены и учетные данные в профилях
Коротко о README
openapi-to-cli это TypeScript CLI, который превращает API из спецификации OpenAPI или Swagger в набор команд без генерации кода. README объясняет, где CLI уместнее MCP и скиллов, и приводит бенчмарк расхода токенов. Описаны профили, авторизация, строгая проверка флагов, поддержка внешних $ref и сложной сериализации параметров. Есть готовые скиллы для OpenClaw и Claude Code и сравнение с аналогами.
SKILL.md
---
name: ocli-api
description: Turn any OpenAPI/Swagger API into CLI commands and call them. Search endpoints with BM25, check parameters, execute — no MCP server needed.
version: 1.0.0
user-invocable: true
disable-model-invocation: false
metadata: {"openclaw":{"emoji":"🔌","requires":{"bins":["ocli"],"env":[]}}}
homepage: https://github.com/EvilFreelancer/openapi-to-cli
---
# ocli — OpenAPI to CLI
Call any HTTP API described by an OpenAPI/Swagger spec as CLI commands.
No MCP server, no code generation, no JSON schemas in context.
## When to use
- You need to call a REST API (internal, cloud, SaaS)
- You have an OpenAPI or Swagger spec (URL or local file)
- You want minimal token overhead (1 tool, ~158 tokens/turn)
## Setup (one-time)
```bash
npm install -g openapi-to-cli
ocli profiles add <name> \
--api-base-url <BASE_URL> \
--openapi-spec <SPEC_URL_OR_PATH> \
--api-bearer-token "$TOKEN"
ocli use <name>
```
## Workflow
1. **Search** for the right command:
```bash
ocli commands --query "your task description" --limit 5
```
2. **Check parameters** of the chosen command:
```bash
ocli <command> --help
```
3. **Execute** the command:
```bash
ocli <command> --param1 value1 --param2 value2
```
4. **Parse** the JSON response and act on the result.Частые вопросы
Как подключить ocli к Claude Code?
Скопируйте пример скилла командой cp examples/skill-ocli-api.md .claude/skills/api.md.
Скачивается ли спецификация при каждом вызове?
Нет, она кэшируется в .ocli/specs/<profile>.json. Чтобы обновить, повторите ocli profiles add с тем же именем профиля.
Похожие
Самообучающийся агент от Nous Research: терминал, мессенджеры, cron-задачи и скиллы, которые он пишет сам
Агент Anthropic для терминала, IDE и GitHub: понимает кодовую базу, выполняет задачи и работает с git
Агент OpenAI для программирования, который работает локально в терминале, с версиями для IDE и десктопа
Открытый агент от Google для терминала на моделях Gemini: работа с кодом, shell, веб-поиск и MCP