OpenAPI to CLI (ocli)

Превращает любой API с OpenAPI или Swagger в команды CLI без кодогенерации, с поиском эндпоинтов по BM25

CLIСредний риск

evilfreelancer/openapi-to-cli

Установка

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-задачи и скиллы, которые он пишет сам

CLIВысокий риск245,4 тыс.
Выбор редакции

Агент Anthropic для терминала, IDE и GitHub: понимает кодовую базу, выполняет задачи и работает с git

CLIВысокий риск145 тыс.
Выбор редакции

Агент OpenAI для программирования, который работает локально в терминале, с версиями для IDE и десктопа

CLIВысокий риск124,1 тыс.
Выбор редакции

Открытый агент от Google для терминала на моделях Gemini: работа с кодом, shell, веб-поиск и MCP

CLIВысокий риск107 тыс.