gardenpatch
Paid per call over x402: growth coaches, small utilities and real-world actions. USDC on Base.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"gardenpatch": {
"url": "https://gardenpatch.xyz/mcp"
}
}
}遠端端點
https://gardenpatch.xyz/mcpstreamable-http它能做什麼
工具清單
工具(9)
🟢list_coaches
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.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_actions
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.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_tools
Free. The catalog of 6 small paid utilities (QR codes, time zone conversion, Markdown to HTML, calendar .ics files, website growth signals, image resize) with each one's price, request schema and a worked example. One endpoint, one job, one payment.
輸入結構描述
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_schema(kind, id, direction)
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.
輸入結構描述
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"mode",
"action",
"tool"
],
"description": "Which catalog the id belongs to."
},
"id": {
"type": "string",
"description": "A mode id, an action slug, or a tool slug."
},
"direction": {
"default": "request",
"description": "Which side of the contract to return.",
"type": "string",
"enum": [
"request",
"response"
]
}
},
"required": [
"kind",
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪sandbox_call(agent, mode)
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.
輸入結構描述
{
"type": "object",
"properties": {
"agent": {
"type": "string",
"enum": [
"mary",
"reed",
"iris",
"oak",
"violet",
"fern",
"willow"
],
"description": "Which coach."
},
"mode": {
"type": "string",
"enum": [
"diagnose_growth",
"design_offer",
"rewrite_pricing",
"funnel_review",
"write_outbound_sequence",
"audit_function",
"handle_objections",
"position_against_alternatives",
"plan_capacity",
"draft_sop",
"rescue_churn",
"plan_onboarding",
"decide_stack",
"map_automation",
"scope_role",
"map_accountability"
],
"description": "Which job to sample."
}
},
"required": [
"agent",
"mode"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}⚪call_coach(agent, mode, messages, context, idempotency_key)
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.
輸入結構描述
{
"type": "object",
"properties": {
"agent": {
"type": "string",
"enum": [
"mary",
"reed",
"iris",
"oak",
"violet",
"fern",
"willow"
],
"description": "Which coach to call."
},
"mode": {
"type": "string",
"enum": [
"diagnose_growth",
"design_offer",
"rewrite_pricing",
"funnel_review",
"write_outbound_sequence",
"audit_function",
"handle_objections",
"position_against_alternatives",
"plan_capacity",
"draft_sop",
"rescue_churn",
"plan_onboarding",
"decide_stack",
"map_automation",
"scope_role",
"map_accountability"
],
"description": "The job to buy. Sending a mode a coach does not sell is a 400, not a fallback."
},
"messages": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"user",
"assistant"
]
},
"content": {
"type": "string",
"minLength": 1
}
},
"required": [
"role",
"content"
]
},
"description": "The conversation so far. At least one entry."
},
"context": {
"description": "Company, metrics, offer and audience. Numbers here buy arithmetic instead of adjectives.",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"idempotency_key": {
"description": "Reuse on a retry of the same job to avoid paying twice.",
"type": "string"
}
},
"required": [
"agent",
"mode",
"messages"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡call_action(slug, body, idempotency_key)
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.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"enum": [
"review-request"
],
"description": "Which action. Use the published slug."
},
"body": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The action request, including its consent block. Call get_schema first."
},
"idempotency_key": {
"description": "Reuse to retry safely; a new key means a genuine second send.",
"type": "string"
}
},
"required": [
"slug",
"body"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢call_tool(slug, body)
Paid, from $0.01 per call, settled in USDC on Base over x402. Runs one utility and returns its result. Tools contact no one and store nothing; website signals and image resize read only the one public URL you name. A request refused for its input is never charged.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"enum": [
"qr-code",
"timezone-convert",
"markdown-to-html",
"calendar-ics",
"site-signals",
"image-resize"
],
"description": "Which tool. Use the published slug."
},
"body": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The tool's request. Call list_tools for its schema and an example."
}
},
"required": [
"slug",
"body"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_receipt(receipt_id, payer_address)
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.
輸入結構描述
{
"type": "object",
"properties": {
"receipt_id": {
"type": "string",
"description": "The rcpt_… id from a paid 200."
},
"payer_address": {
"description": "The wallet that paid, if you are not presenting a payment proof.",
"type": "string"
}
},
"required": [
"receipt_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社群
證據