mcp-registry/dev.sparkpay/sparkpay · v1.0.0
As of 2026-10-17 05:35 UTC, the Sparkpay MCP server is up with a Glimind reliability score of 94/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Stripe billing for indie apps: plans, coupons, subscriptions, customers and revenue reporting.
Claude Code
claude mcp add --transport http sparkpay-mcp-server https://sparkpay.dev/api/mcp/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"sparkpay-mcp-server": {
"type": "http",
"url": "https://sparkpay.dev/api/mcp/mcp"
}
}
}
Third-party server, listed as discovered. Review its source before installing.
25 of 25 tool(s) carry no readOnlyHint/destructiveHint annotations.
Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones.
99 parameter(s) across 24 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call.
11 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.
Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads.
Handshake + tools/list takes ~2,250 ms.
Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably.
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 24 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fdev.sparkpay%2Fsparkpay/fixes
{
"name": "archive_plan",
"description": "Remove a tier from an app's plan catalog. WRITE, human-gated: a real write needs an elicitation-capable client and the human must approve; dry_run previews anywhere. Every other plan tool edits tiers that already exist, so a catalog could grow but never shrink, and collapsing a multi-tier page down to a single offer was a dashboard-only job. Stripe products and prices are deliberately left intact, exactly as update_plan_pricing leaves the old price behind: removing the row stops the plan being o",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"app_id",
"tier"
],
"properties": {
"tier": {
"type": "string"
},
"app_id": {
"type": "string"
},
"dry_run": {
"type": "boolean",
"default": false
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true
}
}{
"name": "bulk_create_coupon",
"description": "Create the SAME discount code across many apps in one call: the portfolio-promo shortcut (e.g. a summer sale on every owned app). WRITE, human-gated: a real create requires an elicitation-capable client; the human enters the coupon terms ONCE in a form (overriding the arguments here) and that one approval covers the whole batch. Clients without elicitation are refused (dry_run still works anywhere). Runs each app through the same fully-guarded create as create_coupon. Unlike a single call it doe",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"app_ids",
"code",
"discount_percent"
],
"properties": {
"code": {
"type": "string"
},
"listed": {
"type": "boolean",
"default": false
},
"app_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"dry_run": {
"type": "boolean",
"default": false
},
"max_uses": {
"type": "number"
},
"expires_at": {
"type": "string"
},
"description": {
"type": "string"
},
"applies_to_tiers": {
"type": "array",
"items": {
"type": "string"
}
},
"discount_percent": {
"type": "number"
},
"confirm_high_discount": {
"type": "boolean",
"default": false
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false
}
}{
"name": "bulk_delete_coupon",
"description": "Delete the SAME coupon code across many apps in one call: the inverse of bulk_create_coupon, for retiring a portfolio-wide promo. WRITE, human-gated: a real delete requires an elicitation-capable client; the human sees every app the code would be removed from (with per-app redemption counts) and must click approve, and confirm_used is only consulted for dry_run previews. Clients without elicitation are refused (dry_run still works anywhere). An app that never had the code is reported `skipped` r",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"app_ids",
"code"
],
"properties": {
"code": {
"type": "string"
},
"app_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"dry_run": {
"type": "boolean",
"default": false
},
"confirm_used": {
"type": "boolean",
"default": false
}
}
},
"annotations": {
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/dev.sparkpay/sparkpay"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/dev.sparkpay/sparkpay"}) over MCP.
setup_pricing_page ~406 tokenscreate_app_kit ~382 tokensbulk_create_coupon ~309 tokenscreate_coupon ~300 tokensupdate_plan_pricing ~280 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fdev.sparkpay%2Fsparkpay?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fdev.sparkpay%2Fsparkpay?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.sparkpay%2Fsparkpay.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fdev.sparkpay%2Fsparkpay.svg :target: https://glimind.com/server/mcp-registry%2Fdev.sparkpay%2Fsparkpay?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:6e4b91733b88c3de…, first seen 2026-10-17, included at leaf 11682 of 16,976. Version history · verify what your client received.
Compare: most reliable data servers · most reliable retrieval servers · most reliable knowledge servers · most reliable communication servers · most reliable finance servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-17 05:35 UTC, the Sparkpay MCP server is up with a Glimind reliability score of 94/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Sparkpay MCP server advertises 25 tools, including archive_plan, bulk_create_coupon, bulk_delete_coupon, create_app_kit, create_coupon.
Point your MCP client at this streamable-http endpoint: https://sparkpay.dev/api/mcp/mcp
Glimind scanned all 25 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.