Skip to content

yonatangross/yonyon

v0.1.1MIT

CLI and MCP access to the public yonyon.ai agent API. Ask the site agent about Yonatan Gross, list portfolio projects, wire up the MCP server, or grab a booking link. No auth, no config.

yonyon

Command line client for the public yonyon.ai agent API.

Ask the site's agent a question, list the portfolio projects, wire up the MCP server, or grab the booking link, without writing an HTTP integration first.

The API is public and unauthenticated. There is no key to set, no config file to write, and no login step. The only constraint is rate: 10 requests per IP per minute, shared across every endpoint.

Install

Run it without installing anything:

npx yonyon ask "What has Yonatan built with MCP?"

Or install it globally:

npm install -g yonyon
yonyon --help

Requires Node.js 24 or newer.

Commands

yonyon ask "<question>"

Ask the agent about Yonatan Gross, his projects, or his services. The default path is POST /ask, the single-shot endpoint built for server-side callers.

$ yonyon ask "What is OrchestKit?"
OrchestKit is an open-source Claude Code agent framework with 100+ skills,
35+ agents, and 200+ hooks.

Follow-ups you could ask:
  What else has he built?
  Is he available for consulting?

Add --stream to use POST /api/chat instead and print tokens as they arrive. Add --json to get the raw /ask response body.

yonyon ask "Is he available for consulting?" --stream
yonyon ask "List his projects" --json

yonyon projects [--limit N] [--json]

List the portfolio projects from GET /api/v1/projects.

$ yonyon projects --limit 2
NAME                  DESCRIPTION                                    URL
--------------------  ---------------------------------------------  ------------------------------------------------
OrchestKit            Open-source Claude Code agent framework.       https://yonyon.ai/projects/orchestkit
AI Operations Platfo  Production WhatsApp AI (RAG), commerce, cont…  https://yonyon.ai/projects/ai-operations-platform

--limit accepts 1 to 50, the range the API itself enforces. Use --json for the raw body, which also carries total and nextCursor for pagination.

yonyon projects --json

yonyon mcp [--tools] [--json]

Print ready-to-paste MCP client configuration for the yonyon.ai MCP server, a JSON-RPC 2.0 Streamable HTTP endpoint that needs no auth.

$ yonyon mcp
MCP endpoint: https://yonyon.ai/api/mcp
Transport: Streamable HTTP. Authentication: none.

Add it to Claude Code:
  claude mcp add --transport http yonyon https://yonyon.ai/api/mcp

Or add this to .mcp.json:
{
  "mcpServers": {
    "yonyon": {
      "type": "http",
      "url": "https://yonyon.ai/api/mcp"
    }
  }
}

--tools queries tools/list live and prints each tool with its description. --json prints only the config object, so it can be redirected into a file.

yonyon mcp --tools
yonyon mcp --json > .mcp.json

yonyon book [--no-open]

Print the link for a free 15-minute intro call, and open it in the default browser.

$ yonyon book
Book a free 15-minute intro call: https://cal.com/yonyon
Opening it in your browser.

The browser is only opened when stdout is a terminal, so piping the command never launches anything. Pass --no-open to suppress it explicitly.

yonyon book --no-open

yonyon docs [--json]

Print the discovery map: every machine-readable document an agent can read to learn what the site offers and how to call it.

$ yonyon docs
Discovery documents
URL                                                 WHAT IT IS
--------------------------------------------------  ------------------------------------------------
https://yonyon.ai/llms.txt                          Short site summary written for LLMs
https://yonyon.ai/llms-full.txt                     Full bio, projects, services and FAQ
https://yonyon.ai/developers                        Human-readable API and MCP documentation
...
yonyon docs --json

Global options

OptionMeaning
-h, --helpShow help. Works per command too: yonyon ask --help.
-v, --versionPrint the CLI version.
--base-url <url>Target another deployment. Defaults to https://yonyon.ai, or the YONYON_BASE_URL environment variable.
--timeout <ms>Per-request timeout. Defaults to 60000 for ask and 15000 elsewhere.
--jsonMachine-readable output, on the commands that support it.

Point it at a local dev server:

yonyon projects --base-url https://portfolio.localhost

Exit codes

CodeMeaning
0Success.
1The request failed: network error, timeout, non-2xx response, rate limit.
2A usage mistake: unknown command, unknown flag, missing or invalid value.

Rate limiting gets its own message rather than a bare HTTP 429:

$ yonyon ask "hello"
yonyon: Rate limited by yonyon.ai (10 requests per IP per minute). Retry in 43s.
  The public API is unauthenticated, so the budget is shared per source IP.
  Wait for the window to reset and run the command again.

Development

pnpm install
pnpm test          # vitest, network fully mocked
pnpm exec tsc --noEmit
pnpm run build     # emits dist/
node dist/index.js --help

The CLI has zero runtime dependencies. Argument parsing is hand-rolled, which is smaller than any parser library at this command count.

License

MIT. See LICENSE.