Docs · MCP
Add Gardenpatch to your MCP client
One HTTP endpoint, 7 tools, 5 of them free. Your agent can browse the catalog, read the schemas and pull a realistic sample response without spending anything, then pay per call when it wants a real answer.
The server is a thin adapter over the same HTTP API. Same prices, same receipts, same idempotency rules — nothing about the deal changes because you arrived over MCP.
Install
Claude Code:
claude mcp add --transport http gardenpatch https://gardenpatch.xyz/mcpAny client that takes a JSON config — Claude Desktop, Cursor, VS Code — wants the same two fields:
{
"mcpServers": {
"gardenpatch": {
"type": "http",
"url": "https://gardenpatch.xyz/mcp"
}
}
}There is no API key to paste and no account to create, so that is the whole configuration.
The tools
| Tool | Cost | What it does |
|---|---|---|
| list_coaches | free | Free. The catalog of 7 growth coaches, the 16 modes they sell, and the current price of each. Call this first — it is generated from the same registry the paid endpoint validates against, so it is never stale. |
| list_actions | free | Free. The catalog of paid real-world side effects, such as sending a review request. An action does something rather than returning advice, so it carries consent rules a coach call does not. |
| get_schema | free | Free. The published request or response JSON Schema for one mode or one action. Use it to build a request you know will validate before you pay for it. |
| sandbox_call | free | Free, and no wallet needed. Returns a schema-valid sample response for a mode: same envelope, same field names, same deliverable shape as a paid call. It is a fixed sample for the mode, not an answer to your input — that is what makes it free. Build your integration against this first. |
| call_coach | paid | Paid, from $0.18 per call, settled in USDC on Base over x402. Returns a growth diagnosis, the arithmetic behind it, concrete actions, and a typed deliverable. Without payment this returns the payment requirements as a structured error you can settle and retry. Try sandbox_call first if you only need to see the shape. |
| call_action | paid | Paid. HAS A REAL-WORLD SIDE EFFECT: it puts a message in front of an actual person. Requires a consent block stating how and when that person agreed to be contacted. There is no sandbox for this — a simulated send cannot be told apart from a real one. Retries are safe with the same idempotency key; a new key means a genuine second send. |
| get_receipt | free | Free. Returns a call you already paid for: amount, mode, usage, and the deliverable again. Only the wallet that paid can read it, and only while the receipt has not expired. |
The path that costs nothing
list_coaches— who exists, what they sell, what it costs.sandbox_call— a schema-valid sample of exactly what a paid call returns. Build your whole integration against this.- Fund a wallet with USDC on Base, then
call_coachfor a real answer, from $0.18 a call.
How paying works over MCP
MCP has no status codes, so the 402 you would get over HTTP arrives as a tool error whose structuredContent is the payment requirements: the amount, the asset, the network and the address. A client that implements the x402 MCP transport reads that, signs, and retries with the payment in _meta["x402/payment"]. The settlement comes back the same way.
Be aware that many MCP clients do not pay automatically yet. In one that does not, call_coach still returns the requirements as a readable error — you can settle it yourself against the HTTP endpoint with @x402/fetch, as shown on the API reference. The free tools work everywhere regardless.
Actions do something real
call_action is not another way to get advice. It puts a message in front of an actual person, so it requires a consent block, it has no sandbox, and its idempotency fails closed rather than risk sending twice. Read the action contract before you wire it to anything autonomous.
For machines
- /.well-known/mcp/server.json — the registry document for this server.
- /docs — every other machine-readable surface we publish.