gardenpatch

Paid per call over x402: growth coaches, small utilities and real-world actions. USDC on Base.

我該用這個嗎

品質與安全性

A
說明品質
98%
結構描述完整度
77%
命名品質
98%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,533Token(工具定義)
~1.2 KB典型回應大小
中等的注意力影響(128k 上下文的 1.20%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本9 個工具