Apijack
FreeNot checkedGenerate full-featured CLIs with workflow automation from any OpenAPI spec
About
Generate full-featured CLIs with workflow automation from any OpenAPI spec
README
Jack into any OpenAPI spec and rip a full-featured CLI with AI-agentic workflow automation.
What is apijack?
apijack turns any API into a CLI.
GET /api/pets
GET /api/pets/{id}
GET /api/owners
GET /api/owners/{id}
becomes a command tree that mirrors your API:
apijack
├── pets
│ ├── list
│ └── get <id>
└── owners
├── list
└── get <id>
$ apijack pets get 25
Getting Started
bun install -g @apijack/core
apijack setup # Configure URL + credentials (auth auto-detected)
apijack generate # Pull OpenAPI spec, generate types/client/commands
apijack --help # See all generated commands
New to apijack? Follow the Quickstart guide with a working example API.
Claude Code Plugin
Install as a Claude Code plugin to let Claude interact with your APIs directly:
apijack plugin install
Then in Claude Code, run /reload-plugins. The plugin exposes MCP tools and skills for setup, code generation, command execution, and routine authoring.
Example prompt:
"Use /setup-api to connect apijack to my todo list API at http://localhost:8080, then use /write-routine to automate an e2e test: create 10 todos and then delete them all."
For other MCP-compatible editors (Cursor, Windsurf, etc.), see MCP Server Integration.
As a Framework
Build dedicated CLI products with apijack as a dependency:
bun add @apijack/core
import { createCli, BasicAuthStrategy } from "@apijack/core";
const cli = createCli({
name: "mycli",
description: "My API CLI",
version: "1.0.0",
specPath: "/v3/api-docs",
auth: new BasicAuthStrategy(),
});
await cli.run();
See Building a CLI for the full configuration reference.
Features
- OpenAPI codegen -- types, client, and Commander commands from any spec (details)
- Claude Code plugin -- one-command setup, MCP server, AI-integrated skills
- Pluggable auth strategies -- Basic, Bearer, API Key, Session/CSRF, or build your own (details)
- Secure credential handling -- dev URLs stored locally, production APIs require env vars (details)
- Multi-environment config -- switch between dev/staging/prod with
config switch(details) - YAML routine engine -- variables, conditions,
forEach, assertions, sub-routines (details) -o routine-stepexport -- run any command with-o routine-stepto emit YAML for workflows (details)- Project mode -- project-local config, routines, and extensions (details)
- OpenAPI 3.0 + 3.1 -- comprehensive spec support (compatibility matrix)
Plugins
apijack supports pre-built plugins as standalone npm packages for common utilities. Install via cli.use(plugin()) and configure per-routine via a top-level plugins: block in routine YAML. See CLAUDE.md for the full contract and <cli> plugins list to inspect registered plugins.
Documentation
Full documentation is available on the wiki:
- Quickstart
- Building a CLI
- Writing Routines
- Authentication Strategies
- Session Auth
- Project Mode
- CLI Command Reference
- Routine YAML Schema
Requirements
- Bun runtime
License
MIT
Installing Apijack
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/normalled/apijackFAQ
Is Apijack MCP free?
Yes, Apijack MCP is free — one-click install via Unyly at no cost.
Does Apijack need an API key?
No, Apijack runs without API keys or environment variables.
Is Apijack hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Apijack in Claude Desktop, Claude Code or Cursor?
Open Apijack on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Apijack with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
