CLI Factory for AI Agents

Tape any API
to your agent.
One command.

DuckTap prints agent-native CLIs, MCP servers, and skills from any OpenAPI spec, HAR file, or website. No bespoke code required.

v0.1.1 on PyPI MIT Licensed
ducktap
$ pip install ducktap
$ ducktap press https://petstore3.swagger.io/api/v3/openapi.yaml
Pressed petstore (19 operations) -> out
python-cli: 10 files
mcp-server: 5 files
skill: 3 files
Scorecard: 92/100 (A)
- coverage: 95 -- 19 operations exposed
- documentation: 100 -- 19/19 operations have docs
- auth: 100 -- 2 auth scheme(s)
- artifacts: 100 -- 3/3 dirs present
$ |

Everything an agent needs,
generated in seconds.

01

OpenAPI & HAR

Point at a spec or recorded browser traffic. DuckTap normalizes every endpoint into a clean, agent-friendly CLI.

02

Browser Sniffing

No public API? No problem. Playwright drives the site, captures traffic, and reverse-engineers a CLI from the HAR.

03

MCP Server

Every printed CLI ships with a matching MCP server. Drop it into Claude Desktop, Cursor, or any MCP-aware agent.

04

Multi-Agent Skills

Claude Code SKILL.md, Cursor .mdc rules, and a generic tools.json — every harness can invoke your CLI.

05

Multi-LLM

Via LiteLLM: Claude, GPT-4, Gemini, local Ollama, Groq, Azure. Pick your model with an env var.

06

Plugin System

Register discoverers and generators via Python entry points. Ship improvements as PyPI packages, not forks.

One lean loop.

1

Discover

Parse an OpenAPI spec, a HAR file, or drive a headless browser through a website to capture its API.

2

Normalize

All inputs collapse into one APISpec — DuckTap's intermediate model. Typed, validated, Pydantic.

3

Generate

Emit a Python CLI, an MCP server, and agent skill manifests — all from the same spec.

4

Ship

Run the scorecard and shipcheck. If it passes, pip install -e . and you're live.

Get DuckTap in seconds.

PyPI
pip install ducktap
Source
git clone https://github.com/zanni098/DuckTap
cd DuckTap && pip install -e ".[dev]"
Print your first CLI
ducktap press https://petstore3.swagger.io/api/v3/openapi.yaml --out ./out

DuckTap vs Printing Press.

Same north star. Different priorities.

Capability Printing Press DuckTap
Language Go Python
LLM support Claude only Claude / GPT / Gemini / Ollama / Groq / Azure
Agent skills Claude Code Claude + Cursor + generic tools.json
Web dashboard FastAPI UI included
Plugin system Source fork Entry-point PyPI plugins
Browser sniff Custom Go browser Playwright + scriptable actions
Generated CLI Single Go binary Python (pip-installable, hackable)

Both are MIT-licensed. Both print a CLI, an MCP server, and a skill. DuckTap optimizes for hackability and multi-agent reach; Printing Press optimizes for single-binary deployment.

Ready to tape your API?

Join the community. Add your API to the catalog, write a plugin, or just print your first CLI.