Illustration of what cli-printing-press does: Generates agent-friendly Go CLIs and MCP servers from an API name or website

mvanhorn /

cli-printing-press

Generates agent-friendly Go CLIs and MCP servers from an API name or website

Most API wrappers map one endpoint to one command. An agent then has to read docs, guess flags, and spend tokens on long JSON replies. CLI Printing Press tries to produce a CLI that an agent can use correctly on the first try.

You run it as a slash command inside Claude Code, for example /printing-press Notion. It reads the official API docs, studies popular community CLIs and MCP servers, and can capture browser traffic when no public API or spec exists. It then generates a Go CLI (built with Cobra) and an MCP server that share the same client, store and auth.

The key difference is a local SQLite layer. Data syncs down, gets full-text search, and can be queried offline. That allows commands like stale, health or bottleneck that join across resources, which a stateless wrapper can't do. Output is a table in a terminal and JSON when piped, with typed exit codes and a compact mode to cut tokens. Each run also scores and checks the result, including a live API smoke test.

What it does

  • Research before generating

    Reads official API docs and studies community CLIs and MCP servers, then merges their features into one tool. Each generated README credits the sources it studied.

  • Works without an OpenAPI spec

    Can launch a browser, capture traffic from a website, and reverse-engineer a spec from it. The README gives ESPN and Postman Explore as examples.

  • Local SQLite store

    Generated CLIs sync data into domain-specific tables with FTS5 search. They offer sync, search and sql commands, plus auto, local and live data-source modes.

  • Agent-native output

    Tables in a terminal, JSON when piped, a --compact flag that keeps only key fields, typed exit codes, and --dry-run for safe exploration.

  • CLI and MCP from one spec

    Every run produces a <api>-pp-cli and a <api>-pp-mcp binary, plus research documents and a quality score from four mechanical checks.

What you could build

  • Generate a command-line tool for a SaaS API such as Linear or Notion that your coding agent can call.
  • Build a CLI for a website with no public API by letting the press capture its traffic.
  • Sync an API's data into SQLite and run offline searches or SQL queries over it.
  • Expose the same API to IDE agents as an MCP server and to shell agents as a CLI.
  • Publish a finished CLI to the Printing Press Library for others to install.

Get started

Install Go 1.26.6 or newer and Node/npm, then run the installer, which installs both the binary and the skills. Restart your agent, start Claude Code, and run /printing-press followed by an app name or URL.

curl -fsSL https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/scripts/install.sh | bash
cli-printing-press --version
claude

Commands are copied from the project's README. Read it on GitHub for the full setup.

More in Coding agents & dev tools

    ↑↓ to move, Enter to open, Esc to close