Dev & Engineering openapicli-generatorsqlitemcpgolang

CLI Printing Press

Turn any API or website into an agent-ready CLI, MCP server, and Claude Code skill in one run.

FollowAgents review · FARS-2.1
Not recommended
53/ 100 5-point scale 2.7 / 5
1 2 3 4 5 6
1Trust11 / 29 · 1.9/5

Evidence: Install script via curl pipe but offers --cli-only options; generation flow includes user confirmation points (e.g., absorb manifest approval); data flow described clearly (local SQLite, sync, search); sensitive data handling mentioned PII scrubbing; dependency list includes chromedp etc., but no security audit; external effects include web scraping and API calls, but no explicit permission boundaries; rollback mechanism not explicit; source attribution mentioned in README. Deductions: install script lacks checksum, least privilege not explicit, user confirmation points not detailed, data flow transparency partial, sensitive data handling only mentioned, dependency security not audited, external effects not explicit permissions, rollback not mentioned, source attribution only mentioned.

2Reliability8 / 14 · 2.9/5

Evidence: README description consistent, but some inconsistencies (e.g., version numbers, command names); dependency list complete, but no availability guarantee; error messages well-designed (include specific flag and usage). Deductions: self-consistency has minor inconsistencies, dependency availability not verified, error messages well-designed but not tested.

3Adaptability12 / 18 · 3.3/5

Evidence: Target audience clear (AI agents and developers), scenarios diverse (API, website, HAR); capability boundaries described clearly (generate CLI and MCP); trigger methods clear (slash commands); environment fit good (supports Claude Code, Codex, etc.). Deductions: capability boundaries not fully explicit (e.g., browser sniffing permissions), trigger precision not detailed, environment fit not covering all possible environments.

4Convention10 / 18 · 2.8/5

Evidence: Information architecture clear (README, docs); install notes detailed; naming stable (cli-printing-press); examples and FAQ mentioned; known limitations not explicit; license MIT; versioning mentioned but no changelog; maintenance responsibility clear (authors). Deductions: known limitations not listed, versioning no changelog, maintenance responsibility only mentioned.

5Effectiveness9 / 13 · 3.5/5

Evidence: Output usability high (tables, JSON, compact mode); marginal value high (compound commands, local data); cost-benefit good (token savings). Deductions: output usability not tested, marginal value based on claims, cost-benefit not quantified.

6Verifiability3 / 8 · 1.9/5

Evidence: Claims of verification (scorecard, dogfood, etc.), but no specific evidence; cross-source verification not provided; facts and inferences not clearly separated. Deductions: claim traceability insufficient, cross-source verification missing, facts and inferences not separated.

Evidence confidence: Low Reviewed Aug 11, 2026 Reviewed revision 99d1fb34883d
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • Install script via curl pipe without checksum, posing supply chain risk.
  • Browser sniffing may involve unauthorized data scraping, legal and ethical risks.
  • Dependencies include many indirect ones without security audit, assess yourself.
  • Generation flow involves network requests and local file writes, ensure least privilege.
Review evidence [1][2][3][4][5]
See the full review method →

What does this agent do, and when should you use it?

CLI Printing Press is a Go-based CLI generator that automatically produces high-quality CLIs from OpenAPI specs, HAR files, or sniffed website traffic. It doesn't just wrap endpoints; it generates a local-first data layer with SQLite, FTS5 full-text search, incremental sync, and compound commands, enabling offline and efficient agent queries. The output includes a Cobra CLI, an MCP server, Claude Code skills, and a suite of verification tools. The generator is delivered via an installable binary (cli-printing-press) and a set of slash commands (/printing-press, etc.). Claude Code is the best-tested path, with optional Codex mode for reduced token usage.

Reads an OpenAPI spec (--spec), HAR file (--har), or a website URL (via browser-sniff gate) to generate a Go CLI (<api>-pp-cli) and an MCP server (<api>-pp-mcp). The generation pipeline consists of phases: research, ecosystem absorb gate, browser sniffing, code generation, transcendence (adding data layer and insight commands), verification, and publishing. It calls external APIs for live smoke tests (read-only), uses SQLite for local storage, and provides commands like scorecard, dogfood, verify, and emboss for quality checks. Generated CLIs include agent-native flags (--json, --csv, --compact, --dry-run) and typed exit codes.

  1. A developer wants a CLI for a website with no official API (e.g., ESPN) and uses the browser-sniff feature to reverse-engineer the API spec automatically.
  2. An AI agent needs to call an API frequently and wants a token-efficient CLI to reduce documentation lookups and token spend.
  3. A team needs to query large datasets offline (e.g., Linear issues) and wants a local SQLite mirror with 50ms compound query commands.
  4. A developer wants to generate an MCP server for an existing API to integrate with IDEs like Cursor or Claude Desktop, using the generator's dual CLI+MCP output.
  5. An agent developer encounters friction with a printed CLI and wants to automatically turn session feedback into a PR, using the /printing-press-amend command.

What are this agent's strengths and limitations?

Pros
  • Automatically generates a data layer (SQLite, FTS5, incremental sync) and compound commands, going beyond simple endpoint wrappers.
  • Agent-first design: typed exit codes, --compact to reduce token usage, auto-JSON output, ideal for AI agent high-frequency calls.
  • Supports spec-less inputs (URL sniffing and HAR import), widening applicability.
  • Dual interface (CLI + MCP) from a single spec, with zero code duplication.
Limitations
  • Best experience is tied to Claude Code; Codex support lags and may be incomplete.
  • Requires Go 1.26.5+ and Node/npm, increasing environment requirements.
  • Generated CLIs are domain-shaped, not vendor-replacements; they may not cover every back-office knob of an official CLI.
  • Browser sniffing requires manual action, not fully autonomous.

How do you install or deploy this agent?

Requires Go 1.26.5+, Claude Code (or another skills-supported agent), and Node/npm. Run the install script: curl -fsSL https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/scripts/install.sh | bash. This installs both the binary and all Printing Press skills. You can also use --cli-only or --skills-only flags. Manual binary install: go install github.com/mvanhorn/cli-printing-press/v4/cmd/cli-printing-press@latest. Install skills: npx -y skills@latest add mvanhorn/cli-printing-press/skills --skill '*' -g -a claude-code -y.

How do you use this agent?

In Claude Code, run /printing-press <api-name> to generate a CLI. For example, /printing-press Notion. You can also point to a URL or HAR file. After generation, use the <api>-pp-cli commands for queries, e.g., linear-pp-cli for compound queries. To publish to the library, use /printing-press-publish. To polish an existing CLI, use /printing-press-polish. Use cli-printing-press scorecard, dogfood, verify, etc., for quality checks.

How does this agent compare with similar options?

Speakeasy, Fern, and openapi-generator only wrap endpoints, whereas CLI Printing Press also generates a local data layer, compound commands, and an MCP server. Compared to Peter Steinberger's discrawl and gogcli, it automates similar functionality and matches competitor features via an ecosystem absorb gate.

FAQ

What does shipping a CLI cost in tokens?
Standard Opus mode runs end-to-end on Opus; Codex mode (/printing-press <api> codex) offloads code generation to Codex CLI for about 60% fewer Opus tokens, with equivalent quality.
Can I use it without an OpenAPI spec?
Yes. Provide a URL and the browser-sniff gate will reverse-engineer the spec, or import a HAR file.
Can generated CLIs work offline?
Yes, thanks to the local SQLite cache. However, initial sync requires network, and live data requires network.
Can I run verification tools on a CLI I built by hand?
Yes. The scorecard, dogfood, and verify commands accept any directory and spec.
Are there legal considerations?
Before generating a CLI for any service, review its Terms of Service, as many prohibit automated access. The tool itself does not provide legal advice.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents