
MCP-сервер SparkPay
Какие серверы из официального реестра MCP принадлежат SparkPay, отвечают ли они и что умеют. Всё это проверила программа, а не переписал человек со страницы продукта.
прочитано 2026-10-21
- Имя в реестреdev.sparkpay/sparkpayподтверждён в реестре MCP
Имя в реестре лежит в пространстве sparkpay.dev. Реестр пускает в такое пространство только того, кто доказал владение доменом через DNS или HTTP.
- Состояниеотвечаетпроверено 2026-10-21
- Инструменты25
- Сервер называет себяspark-pay
- Версия сервера1.0.0
- Версия протокола2025-06-18
2026-10-21 сервер ответил на initialize и tools/list без входа. Первый ответ за 233 мс.
- Инструменты не делают ни одного из проверенных сценариев продукта: Restrict app features to paid subscription tiers; Export payment records to Excel for tax reporting.
- Проверок пока 6 из 7, нужных, чтобы судить о надёжности.
После подключения
- create_coupon, bulk_create_coupon, delete_coupon, bulk_delete_coupon, set_coupon_listed меняют данные без входа: вызвать их может любой, у кого есть адрес.
- У 24 из 25 инструментов параметры без типа или описания: проверяйте аргументы перед вызовом.
Вывод сделан правилами по замерам выше. Вероятный первый вызов выбрала модель по списку инструментов: прочитайте описание, прежде чем на него полагаться.
- Оценка INITE MCPчерез неделюдля оценки нужно 7 ежедневных проверок, пока 6
- Что агент может с ним сделать0 из 2 сценариев
- Отвечалидёт замерпроверок пока 6, долю покажем после 7
- Медиана первого ответа324 мс
- Место в контексте агента≈ 6 476 токеновописания всех инструментов (25), агент держит их в контексте на каждом ходу
- Описания инструментовB · 84 из 100
- Типизированные ответы0 из 25 инструментовобъявлен outputSchema: ответ приходит с типами и читается сразу
- Параметры без описания: в 24 из 25
Что агент может с ним сделать
- не ясно · Put a hosted pricing page in front of an app
- не может · Restrict app features to paid subscription tiers
- не может · Export payment records to Excel for tax reporting
Каждый сценарий продукта мы задали Jev вместе со списком инструментов сервера: может ли агент сделать это этими инструментами?
На что посмотреть
- Инструменты, которые меняют данные, на сервере, который отвечает без входа: create_coupon, bulk_create_coupon, delete_coupon, bulk_delete_coupon, set_coupon_listed
Программа проверяет сервер раз в день: initialize и tools/list, без модели. Токены - это длина описаний из расчёта примерно четыре символа на токен. Оценка - среднее шести проверок имени, описания, схемы и аннотаций каждого инструмента. Она говорит, насколько понятно описаны инструменты, а не о том, работают ли они. Оценка складывается только из замеренного: отвечает ли сервер (30%), делает ли работу продукта (25%), описания (20%), контекст (10%) и использование (15%). Незамеренная часть не учитывается, а скрытая инструкция ограничивает оценку 40 баллами. Состояние MCP-серверов вендоров: методика и цифры →
list_appsList the registered apps (app_id + name). Use this first to discover valid app_id values, then pass one to the other tools to scope results to a single product.
list_subscriptionsList subscriptions/registrations, newest first. Optionally filter by app_id, status, or payment_type. Returns metadata (email, status, plan, amounts). Use get_customer for a single user, or revenue_summary for totals.
get_customerLook up a customer by email. Returns every subscription/registration for that email across apps (or within one app if app_id is given), with full detail: verification, plan, billing period, usage, refunds. Empty when the email is unknown.
list_recent_paymentsList recent paid transactions (excludes free-tier rows), newest first, ordered by payment date. Optionally scope by app_id. Use to review recent sales activity. Amounts are in the transaction currency (cents).
revenue_summaryRevenue and subscriber summary in USD cents (normalized from each transaction currency). Returns latest_payments (the MOST RECENT payment summed per customer: a run-rate, NOT lifetime turnover, because amount_paid is overwritten on…
revenue_by_appPer-app rollup in USD cents (latest_payments/refunded/MRR + paid customer count), largest refund-adjusted latest payments first. latest_payments sums the most recent payment per customer, so it is a run-rate and NOT lifetime turnover. No…
list_referralsList referral records (who referred whom, reward coupon code, pending/rewarded status), newest first. Optionally scope by app_id and/or status.
list_recent_cancellationsRecently canceled paid subscriptions (excludes free rows), most recent cancellation first, with what each customer was paying. Use for churn review; list_subscriptions orders by signup date instead.
list_couponsList discount coupons (code, percent off, expiry, max uses, use count, which paid tiers they apply to). Optionally scope by app_id and/or restrict to currently-active ones (not expired, not maxed out). Read-only: cannot create, edit, or…
create_couponCreate a percentage discount coupon for an app. WRITE, human-gated: a real create requires an elicitation-capable client (e.g. Claude Desktop). The human enters the final code, percent, expiry, visibility, and tier scope in a form; those…
bulk_create_couponCreate 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…
delete_couponDelete one coupon from an app. WRITE, human-gated: a real delete requires an elicitation-capable client; the human sees the exact coupon (code, percent, redemption count) and must click approve. The model cannot confirm on its own, and…
bulk_delete_couponDelete 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…
set_coupon_listedShow, hide or SCHEDULE an EXISTING coupon on the public pricing pages by setting its `listed` flag and optional `listed_from` start date. WRITE, human-gated: a real write requires an elicitation-capable client and the human sees the code…
list_coupon_invitesList who a coupon was offered to and what they did with it: per-address status (invited / redeemed / revoked), where the invite came from, and the timestamps. Also returns the coupon's own `invite_only` flag -- read that FIRST: when it is…
invite_to_couponAdd email addresses to a coupon's invite list and, by default, switch the coupon to invite-only so the list is actually enforced. WRITE, human-gated: a real write requires an elicitation-capable client and the human sees every address…
revoke_coupon_inviteWithdraw one address's right to spend a coupon: the targeted block. WRITE, human-gated: a real write requires an elicitation-capable client and the human sees the address and its current status; clients without elicitation are refused…
plan_app_kitStep 1 of onboarding a new app onto SparkPay. Recons app_name against existing apps and the rest of the portfolio's plan catalogs, then returns automated findings plus the minimum set of questions that genuinely need a human answer (plan…
create_app_kitStep 2 of onboarding a new app onto SparkPay. Applies answers.plan_catalog by minting real Stripe prices (same helper /api/apps/sync-plans uses) and registers/updates the app, then returns a downloadable integration kit (lib/spark-pay…
list_plansDownload an app's live plan catalog: tiers, names, prices, trial, and the machine-readable `limits` that gate features inside the app. This is the source of truth each app repo's `bun run plans:sync` regenerates lib/spark-pay/plans.json…
update_plan_limitsChange the usage limits on an app's existing tiers (e.g. set ai_generations_daily to 200 on pro). WRITE, human-gated: a real write requires an elicitation-capable client; the human sees the per-tier before -> after diff and must click…
update_plan_metaSet an existing tier's display metadata: its name and the two badge flags the public pricing page styles cards from: is_elite (gold/carbon BEST VALUE card with the rainbow title and app icon) and recommended (MOST POPULAR). A tier called…
update_plan_pricingChange what an app's EXISTING tiers charge: the amount, the billing model (one_time vs subscription), or both. WRITE, human-gated at the highest tier: a real write requires an elicitation-capable client, and the human types the tier…
archive_planRemove 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…
setup_pricing_pageGuided, stage-chained wizard that configures an app's hosted pricing page end to end: plan billing model + price (with clickable recommendations), plan name and badge (elite/recommended), optional free tier, a seasonal coupon…
Как подключить
Добавьте сервер в конфиг MCP-клиента. Claude Desktop, Cursor и большинство других клиентов понимают такой вид:
{
"mcpServers": {
"sparkpay": {
"type": "http",
"url": "https://sparkpay.dev/api/mcp/mcp"
}
}
}Подключить
Claude Code, в терминале
claude mcp add --transport http sparkpay https://sparkpay.dev/api/mcp/mcpДобавить в CursorДобавить в VS Code
claude.ai, ChatGPT и другие клиенты: добавьте https://sparkpay.dev/api/mcp/mcp как свой коннектор в настройках.
Каждую строку нашла программа: запись в реестре, ответ самого сервера, спецификация, которая разбирается. Если строки нет, значит, мы этого не нашли, а не что этого нет.
Cookie
Прежде чем засчитать визит
Аналитика и измерение рекламы показывают, какие страницы работают и какая наша реклама приносит результат: Google Analytics и Google Ads, пиксель Meta, Яндекс Метрика и один наш собственный идентификатор. До вашего ответа ничего не сохраняется, а после отказа сайт работает так же.