Koskamo

Gardenpatch MCP

An MCP server providing access to growth coaches, real-world actions, and small utilities. It allows agents to browse catalogs, validate schemas via free sandbox calls, and execute paid actions using USDC on Base via the x402 protocol.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Gardenpatch MCP logo, by GardenpatchVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Gardenpatch
MCP endpoint (Streamable HTTP)
https://gardenpatch.xyz/mcp
Vendor documentation

What you can do with it

  • Browse the catalog of growth coaches and their pricing
  • Validate request schemas using free sandbox calls
  • Execute paid growth diagnosis calls via USDC on Base
  • Trigger real-world actions like sending review requests

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
gardenpatch 1.0.0
MCP protocol
2025-06-18
Tools
9 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools

9 advertised

list_coaches — List coaches
Advertised by the server during the last successful anonymous check.

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_coaches input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_actions — List actions
Advertised by the server during the last successful anonymous check.

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.

list_actions input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
list_tools — List tools
Advertised by the server during the last successful anonymous check.

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.

list_tools input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {}
}
get_schema — Get a JSON Schema
Advertised by the server during the last successful anonymous check.

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.

get_schema input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "kind",
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "A mode id, an action slug, or a tool slug."
    },
    "kind": {
      "enum": [
        "mode",
        "action",
        "tool"
      ],
      "type": "string",
      "description": "Which catalog the id belongs to."
    },
    "direction": {
      "enum": [
        "request",
        "response"
      ],
      "type": "string",
      "default": "request",
      "description": "Which side of the contract to return."
    }
  }
}
sandbox_call — Try a coach for free
Advertised by the server during the last successful anonymous check.

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.

sandbox_call input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "agent",
    "mode"
  ],
  "properties": {
    "mode": {
      "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"
      ],
      "type": "string",
      "description": "Which job to sample."
    },
    "agent": {
      "enum": [
        "mary",
        "reed",
        "iris",
        "oak",
        "violet",
        "fern",
        "willow"
      ],
      "type": "string",
      "description": "Which coach."
    }
  }
}
call_coach — Call a coach (paid)
Advertised by the server during the last successful anonymous check.

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_coach input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "agent",
    "mode",
    "messages"
  ],
  "properties": {
    "mode": {
      "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"
      ],
      "type": "string",
      "description": "The job to buy. Sending a mode a coach does not sell is a 400, not a fallback."
    },
    "agent": {
      "enum": [
        "mary",
        "reed",
        "iris",
        "oak",
        "violet",
        "fern",
        "willow"
      ],
      "type": "string",
      "description": "Which coach to call."
    },
    "context": {
      "type": "object",
      "description": "Company, metrics, offer and audience. Numbers here buy arithmetic instead of adjectives.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "role",
          "content"
        ],
        "properties": {
          "role": {
            "enum": [
              "user",
              "assistant"
            ],
            "type": "string"
          },
          "content": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "minItems": 1,
      "description": "The conversation so far. At least one entry."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Reuse on a retry of the same job to avoid paying twice."
    }
  }
}
call_action — Perform an action (paid)
Advertised by the server during the last successful anonymous check.

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.

call_action input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "slug",
    "body"
  ],
  "properties": {
    "body": {
      "type": "object",
      "description": "The action request, including its consent block. Call get_schema first.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "slug": {
      "enum": [
        "review-request"
      ],
      "type": "string",
      "description": "Which action. Use the published slug."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Reuse to retry safely; a new key means a genuine second send."
    }
  }
}
call_tool — Run a tool (paid)
Advertised by the server during the last successful anonymous check.

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.

call_tool input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "slug",
    "body"
  ],
  "properties": {
    "body": {
      "type": "object",
      "description": "The tool's request. Call list_tools for its schema and an example.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "slug": {
      "enum": [
        "qr-code",
        "timezone-convert",
        "markdown-to-html",
        "calendar-ics",
        "site-signals",
        "image-resize"
      ],
      "type": "string",
      "description": "Which tool. Use the published slug."
    }
  }
}
get_receipt — Re-read a paid call
Advertised by the server during the last successful anonymous check.

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.

get_receipt input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "receipt_id"
  ],
  "properties": {
    "receipt_id": {
      "type": "string",
      "description": "The rcpt_… id from a paid 200."
    },
    "payer_address": {
      "type": "string",
      "description": "The wallet that paid, if you are not presenting a payment proof."
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
784 ms
95th percentile latency
784 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 784 ms · metadata changed · 9 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http gardenpatch-mcp https://gardenpatch.xyz/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add gardenpatch-mcp --url https://gardenpatch.xyz/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable gardenpatch-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "gardenpatch-mcp": {
      "url": "https://gardenpatch.xyz/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "gardenpatch-mcp": {
      "type": "streamableHttp",
      "url": "https://gardenpatch.xyz/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start gardenpatch-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "gardenpatch-mcp": {
      "type": "http",
      "url": "https://gardenpatch.xyz/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http gardenpatch-mcp https://gardenpatch.xyz/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "gardenpatch-mcp": {
      "url": "https://gardenpatch.xyz/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "gardenpatch-mcp": {
      "serverUrl": "https://gardenpatch.xyz/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Gardenpatch MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Gardenpatch MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing