Paid per call over x402: growth coaches, small utilities and real-world actions. USDC on Base.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
The action request, including its consent block. Call get_schema first.
Which action. Use the published slug.
Reuse to retry safely; a new key means a genuine second send.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 23, 2026.
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.
| Argument | Type | Description |
|---|---|---|
| body* | object | The action request, including its consent block. Call get_schema first. |
| slug* | string | Which action. Use the published slug. |
| idempotency_key | string | Reuse to retry safely; a new key means a genuine second send. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| mode* | string | The job to buy. Sending a mode a coach does not sell is a 400, not a fallback. |
| agent* | string | Which coach to call. |
| context | object | Company, metrics, offer and audience. Numbers here buy arithmetic instead of adjectives. |
| messages* | array | The conversation so far. At least one entry. |
| idempotency_key | string | Reuse on a retry of the same job to avoid paying twice. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| body* | object | The tool's request. Call list_tools for its schema and an example. |
| slug* | string | Which tool. Use the published slug. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| receipt_id* | string | The rcpt_… id from a paid 200. |
| payer_address | string | The wallet that paid, if you are not presenting a payment proof. |
{
"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."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| id* | string | A mode id, an action slug, or a tool slug. |
| kind* | string | Which catalog the id belongs to. |
| direction | string | Which side of the contract to return. |
{
"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."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| mode* | string | Which job to sample. |
| agent* | string | Which coach. |
{
"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."
}
}
}