Search / com.tgpaybot/merchant-api
TgPay Merchant API
R0· no sign-inAccept crypto payments via the TgPay Merchant API — invoices, subscriptions, webhooks.
v1.0.2 · active · website · descriptor JSON · versions
Search / com.tgpaybot/merchant-api
R0· no sign-inAccept crypto payments via the TgPay Merchant API — invoices, subscriptions, webhooks.
v1.0.2 · active · website · descriptor JSON · versions
{
"mcpServers": {
"merchant-api": {
"type": "http",
"url": "https://app.tgpaycrypto.com/mcp",
"headers": {
"TgPayCrypto-API-Token": "${TGPAYCRYPTO_API_TOKEN}"
}
}
}
}claude mcp add --transport http merchant-api https://app.tgpaycrypto.com/mcp --header "TgPayCrypto-API-Token: ${TGPAYCRYPTO_API_TOKEN}"[mcp_servers.merchant-api]
url = "https://app.tgpaycrypto.com/mcp"
env_http_headers = { "TgPayCrypto-API-Token" = "TGPAYCRYPTO_API_TOKEN" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"merchant-api": {
"type": "remote",
"url": "https://app.tgpaycrypto.com/mcp",
"enabled": true,
"headers": {
"TgPayCrypto-API-Token": "{env:TGPAYCRYPTO_API_TOKEN}"
}
}
}
}{
"mcpServers": {
"merchant-api": {
"type": "http",
"url": "https://app.tgpaycrypto.com/mcp",
"headers": {
"TgPayCrypto-API-Token": "${TGPAYCRYPTO_API_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=merchant-api&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBwLnRncGF5Y3J5cHRvLmNvbS9tY3AiLCJoZWFkZXJzIjp7IlRnUGF5Q3J5cHRvLUFQSS1Ub2tlbiI6IiR7VEdQQVlDUllQVE9fQVBJX1RPS0VOfSJ9fQ%3D%3D"
}{
"servers": {
"merchant-api": {
"type": "http",
"url": "https://app.tgpaycrypto.com/mcp",
"headers": {
"TgPayCrypto-API-Token": "${TGPAYCRYPTO_API_TOKEN}"
}
}
}
}{
"mcpServers": {
"merchant-api": {
"httpUrl": "https://app.tgpaycrypto.com/mcp",
"headers": {
"TgPayCrypto-API-Token": "${TGPAYCRYPTO_API_TOKEN}"
}
}
}
}extensions:
"merchant-api":
enabled: true
name: "merchant-api"
type: streamable_http
uri: "https://app.tgpaycrypto.com/mcp"
headers:
"TgPayCrypto-API-Token": "${TGPAYCRYPTO_API_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${TGPAYCRYPTO_API_TOKEN}. The registry never accepts secret values.
protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions1 of 20 tools have a description under 20 characterstools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations20 of 20 tools declare readOnlyHint or destructiveHinttools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: getInvoices (idempotentHint, openWorldHint); getTransfers (idempotentHint, openWorldHint); deleteInvoice (idempotentHint, openWorldHint); …tools.token_costabout 1,977 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-97% ~updated-43d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://app.tgpaycrypto.com/mcp streamable-http | none | yes | 97% | 586 ms | 2025-06-18 | 2026-10-20 |
archiveSubscriptionPlan | Stop new signups for a plan (live subscriptions keep renewing). |
cancelSubscriptiondestructive | Stop future charges for one subscription (paid time runs out). |
connect | Start token issuance WITHOUT the Mini App UI: creates a merchant-app request and returns a t.me approve link plus a poll_secret. Show the link to the human — they approve with one button in the @tgpaycryptobot bot — then call connect_status with the poll_secret. Use only when no API token is configured yet. |
connect_status | Poll a connect request. Returns pending | denied | expired, or — once approved — the app id and the API TOKEN (returned exactly once: save it to the project's .env immediately, never print it in logs). The token is SCOPED (read, invoices, subscriptions, webhooks) — it cannot move money out of the app; transfers/refunds/checks need the primary token the human holds in the Mini App. Poll every 3-5 seconds while pending. |
createInvoice | Create a one-off payment invoice; the payer opens result.mini_app_invoice_url. See the invoices doc. |
createSubscriptionPlan | Create an IMMUTABLE recurring-billing plan; send payers to result.mini_app_subscribe_url. See the subscriptions doc. |
deleteCheckdestructive | Delete an unclaimed check (refunds the hold). |
deleteInvoicedestructive | Delete an unpaid invoice. |
getBalanceread-only | Merchant app balance per asset (available + onhold). |
getChecksread-only | List checks. |
getCurrenciesread-only | Supported crypto assets (code/name/decimals) and fiats. |
get_docsread-only | Read a TgPay Merchant API integration doc. START HERE before integrating: topics quickstart, invoices, subscriptions, transfers-checks, webhooks, errors. |
getExchangeRatesread-only | Current asset↔fiat display rates. |
getInvoicesread-only | List invoices (newest first). |
getMeread-only | Verify the token: app id, name, webhook config, token scopes. |
getStatsread-only | App volume/count stats for a period. |
getSubscriptionPlansread-only | List subscription plans. |
getSubscriptionsread-only | List subscriptions (subscribers). |
getTransfersread-only | List app→user transfers. |
updateApp | Update app name / webhook_url (https) / webhook_events opt-in list. Needs the 'webhooks' scope (the connect-issued token has it) or the primary token. See the webhooks doc for the event types and signature verification. |
Schemas: list_tools.
{
"name": "com.tgpaybot/merchant-api",
"title": "TgPay Merchant API",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://app.tgpaycrypto.com/mcp",
"type": "streamable-http",
"headers": [
{
"name": "TgPayCrypto-API-Token",
"isSecret": true,
"description": "Merchant API token. Optional — without it the connect tool issues a scoped token after one-tap approval in the TgPay Telegram bot."
}
]
}
],
"version": "1.0.2",
"websiteUrl": "https://app.tgpaycrypto.com/mcp",
"description": "Accept crypto payments via the TgPay Merchant API — invoices, subscriptions, webhooks."
}