Do you like kimbap? It's delicious, healthy, and you can make your own.
Turn anything into a CLI your agent can use. Securely. REST APIs, CLI tools, macOS apps — one YAML, one command. Credentials never enter the agent process. Cuts agent token usage by up to 90%.
Quick Start · Docs · Website
1. Install
curl -fsSL https://kimbap.sh/install.sh | bashOr with Homebrew:
brew install dunialabs/kimbap/kimbap2. Initialize
kimbap init --services selectselect opens an interactive checklist with a preselected recommended set (and an all command). Shortcut aliases are enabled by default; use --no-shortcuts to opt out.
Pick what you want to install, then run immediately with shortcuts.
3. Run immediately with shortcut commands
geosearch --name "San Francisco"Then fetch weather:
weather --latitude 37.7749 --longitude -122.4194No API key, no localhost setup.
kimbap agents setupDetects installed agents and installs global discovery hints.
Use kimbap agents setup --sync --dir <project> when you want project-local skill sync.
Works with Claude Code, OpenCode, Codex, OpenClaw, NanoClaw, and any agent that can run a CLI command.
Got a REST API? Turn it into a secure CLI tool in four steps:
-
Start from your API endpoint.
-
Define it in one YAML file:
name: inventory-api
version: 1.0.0
aliases: [inventory]
base_url: https://api.internal.company.com/v1
auth:
type: bearer
credential_ref: inventory_api.token
actions:
list-items:
aliases: [items]
method: GET
path: /warehouses/{warehouse}/items
params:
warehouse:
required: true
risk:
level: low- Install the service definition:
kimbap service install inventory-api.yamlRegister once.
- Run it as a direct CLI command:
items --warehouse seoulThen run it like a native CLI command.
Three adapter types: HTTP (REST APIs), Command (local executable CLIs), AppleScript (macOS native apps).
Full schema and examples: Service Development Guide
Already have an OpenAPI 3.x spec? Start there instead:
kimbap service generate --openapi ./openapi.yaml --output inventory-api.yaml
kimbap service generate --openapi http://127.0.0.1:8080/openapi.yaml --name inventory-api --installRemote OpenAPI URLs must use https://. Plain http:// is only allowed for localhost/loopback during local development.
Local file specs may use split-file relative $ref chains.
GitHub · Slack · Stripe · Notion · Linear · HubSpot · Airtable · Pinecone · Todoist · PostHog · Sentry · SendGrid · Resend · Exa · Brave Search · Peta
Telegram · WhatsApp · Zoom · Apple Mail · Messages
Blender · ComfyUI · Ollama · Mermaid · Kitty · Spotify
Git · Docker · kubectl · AWS CLI · GitHub CLI · Terraform · Helm · Make · psql · pnpm · npm · pip · cargo · go · pytest · vitest · Playwright · TypeScript · ESLint · Prettier · Ruff · mypy · golangci-lint · RuboCop · Next.js CLI · Prisma · Bundler · Rake · RSpec · Graphite · dotnet · env · log · deps · ls · tree · find · grep · cat · diff · wc · curl · wget · jq
Finder · Safari · Contacts · Shortcuts · Apple Notes · Apple Calendar · Apple Reminders · Keynote · Pages · Numbers
Microsoft Word · Excel · PowerPoint
Wikipedia · Hacker News · CoinGecko · Open-Meteo (weather, air quality, historical, geocoding) · Financial Datasets · REST Countries · Exchange Rate · Public Holidays · Nominatim · ntfy
If you need a dedicated MCP control plane (gateway, policy, audit), see dunialabs/peta-core.
Direct call format: kimbap call <service>.<action>
Optional frictionless shortcut (per action):
kimbap alias set <shortcut> <service>.<action> → run <shortcut> ...
You can inspect configured shortcuts with kimbap service list (SHORTCUTS column).
To browse built-in services before installing, use kimbap service list --available, kimbap service search <query>, and kimbap service describe <name>.
call → policy → execute
Every action goes through the same pipeline. Policy is checked before execution. Credentials are injected at execution time — they never enter the agent process.
| Without kimbap | With kimbap |
|---|---|
| Build an MCP server per service | One YAML manifest. No server needed |
| API keys passed via env vars — leak into logs and prompts | Encrypted vault injects credentials at execution time |
| Every service has different auth | One manifest format for REST APIs, CLI tools, and macOS apps |
| Agents run dangerous actions unchecked | Policies and approvals enforced on every action |
| No record of what the agent did | Audit trail on every action, automatically |
| API responses flood the agent's context | Output filtering trims responses to only what the agent needs (83–94% reduction) |
1. Connect
printf '%s' "$GITHUB_TOKEN" | kimbap link github --stdin2. Call
kimbap call github.list-repos --sort updatedkimbap link works for both API keys (--stdin/--file) and OAuth services (Slack, Notion, Zoom, and more).
| Mode | Command | Use case |
|---|---|---|
| Call (recommended) | kimbap call <service>.<action> |
Direct use, scripts, agent integration |
| Run | kimbap run -- <cmd> |
Wrap any agent subprocess |
| Proxy | kimbap proxy |
Existing HTTP agents, zero code changes |
| Serve | kimbap serve |
Connected-mode REST API server |
All modes share the same policy, credentials, and audit pipeline.
kimbap init --mode controls the security profile of the local runtime:
dev— relaxed security, auto-generated vault key. For local development only.embedded— policy-enforced, vault key fromKIMBAP_MASTER_KEY_HEX. Default for production.connected— routes execution through a runningkimbap serveREST server.
For most use cases: use kimbap call with --mode embedded.
export KIMBAP_MASTER_KEY_HEX="$(openssl rand -hex 32)"
kimbap init --mode embedded --services allkimbap serve --console --port 8080Opens the operations console at http://localhost:8080/console. Shows audit logs, pending approvals, and service health. Disabled by default.
Action detail includes a shortcut setup snippet (kimbap alias set <shortcut> <service>.<action>) for frictionless command use.
- Installation Guide — step-by-step setup, agent-readable
- CLI Reference — commands, flags, configuration
- Service Development Guide — manifest authoring, adapters
- Output Filtering — reduce LLM token usage by 83–94% with declarative response shaping
- Architecture & Internals
- Security & Permissions
- Deployment & Configuration
- HTTP API Reference
Write a YAML manifest, validate it, open a PR. See CONTRIBUTING.md.
MIT License · Dunia Labs