Tegro.money MCP Server
OfficialThis server connects AI assistants (Claude, Cursor, etc.) to the Tegro.Money payment API, enabling you to query account data and create payment invoices.
Account & Shop Info
Get balance (
get_balance): Retrieve wallet balances broken down by currency (RUB, USD, etc.)List shops (
list_shops): View all projects/shops with their IDs, names, URLs, and statuses
Orders & Payouts
List orders (
list_orders): Retrieve a paginated list of payment orders for a shop, including amount, status, payment method, and datesGet order (
get_order): Look up details of a specific order by your own order ID or Tegro's payment IDList withdrawals (
list_withdrawals): See all payout requests for a given shopGet withdrawal (
get_withdrawal): Retrieve details of a specific payout request by its ID
Payments & Rates
Get exchange rates (
get_rates): Query the current exchange rate between two currenciesList payment methods (
list_payment_systems): Discover available payment methods for a specific shopCreate payment link (
create_payment_link): Build a ready-to-use SCI payment URL for a given amount and currency (supports success/fail/notify URLs, test mode, and language selection)Create order (
create_order): Create a payment invoice via the REST API and receive back its details and payment URL
Note: The payment creation tools (
create_payment_link,create_order) require additional credentials (secret key / API key) beyond standard read access.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Tegro.money MCP ServerCreate a 1500 RUB payment link for order #A-42"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Tegro.Money MCP Server
Connect Claude, Cursor, and any other Model Context Protocol client to the Tegro.Money payment API. Ask your AI assistant about your balances, projects, payment orders, payouts and exchange rates — in plain language.
Read-only and safe by design. This server exposes information tools only — no payment creation, no payouts, no money movement. Your API key is used locally to sign requests and never leaves your machine.
You: "What's my Tegro.Money balance and how many orders were paid today?"
Claude: → calls get_balance, list_orders → answers with your real data.Tools
Tool | What it does |
| Balance of all your wallets, per currency (RUB/USD/…) |
| Your projects (shops): id, name, url, Shop ID, status |
| Payment orders for a shop (amount, status, method, dates) |
| Status & details of one order by |
| Payout requests for a shop |
| Status & details of one payout by |
| Exchange rate between two currencies |
| Payment methods available for a shop |
Related MCP server: app.wishpool/ukraine-payments-mcp
Quick start
You need your REST API key from the Tegro.Money dashboard → your project → Settings → Keys → API KEY (this is the key for the REST API; it is different from the Shop ID / Secret Key used for the payment form).
Claude Desktop
Add to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"tegro-money": {
"command": "npx",
"args": ["-y", "@tegroton/tegro-money-mcp"],
"env": {
"TEGRO_API_KEY": "your_rest_api_key",
"TEGRO_SHOP_ID": "your_shop_id_optional"
}
}
}
}Restart Claude Desktop — the tools appear under the 🔌 menu.
Cursor
Settings → MCP → Add new server, or add to .cursor/mcp.json:
{
"mcpServers": {
"tegro-money": {
"command": "npx",
"args": ["-y", "@tegroton/tegro-money-mcp"],
"env": { "TEGRO_API_KEY": "your_rest_api_key" }
}
}
}Any MCP client
Run over stdio:
TEGRO_API_KEY=your_rest_api_key npx -y @tegroton/tegro-money-mcpConfiguration
Env var | Required | Default | Description |
| ✅ | — | Your REST API key. Used only to sign requests locally (HMAC-SHA256); never sent over the network. |
| — | — | Default Shop ID for shop-scoped tools, so you don't pass it each time. |
| — |
| API base URL. |
Security
Read-only. No tool can create an order, move funds, or change anything. It only reads.
Your key stays local. The API key signs each request body with HMAC-SHA256 right on your machine; only the signature (
Authorization: Bearer <hmac>) goes to the API — the key itself is never transmitted.No secrets in this repo. You provide your own key via environment variables.
Open source (MIT). Read every line — it's small on purpose.
Found a security issue? See SECURITY.md.
Examples
Once connected, just ask in natural language — the assistant picks the tool. A few things it can answer:
You ask | Tool(s) used | Example answer |
"What's my balance?" |
| "RUB 12 480.50, USD 0.00." |
"Did order 777 get paid?" |
| "Order 777: paid on 2026-06-20, 1 200 ₽." |
"Revenue today?" |
| sums paid orders by |
"Which payment methods are on shop X?" |
| lists the enabled methods. |
"RUB to USD rate?" |
| the current rate. |
A raw tool result is the API's data object, pretty-printed JSON — e.g. get_balance:
{ "user_id": 1, "balance": { "RUB": "12480.50", "USD": "0.00" } }How it works
Each request is a JSON body (with a unique nonce) signed per the official Tegro.Money API:
sign = HMAC_SHA256(json_body, api_key)
POST https://tegro.money/api/<endpoint>/
Authorization: Bearer <sign>The signed body is byte-identical to the body sent, so the signature always matches. The key only ever feeds the local HMAC — it is never placed in a URL, body, or log.
Troubleshooting
Symptom | Cause / fix |
| Set the env var to your REST API key (dashboard → project → Settings → Keys → API KEY) — not the Shop ID / Secret Key. |
| The key is incorrect, or the request body was altered between signing and sending. Double-check |
| The endpoint needs a shop. Pass |
| The API is behind Cloudflare, which rejects unusual clients. This server already sends a descriptive |
Tools don't appear in the client | Restart the client after editing its config; confirm |
FAQ
Is this safe to run? Can it spend my money? No. Every tool is read-only — there is no order-creation or payout tool. The worst it can do is read your account data.
Where does my API key go? Nowhere. It signs each request locally (HMAC-SHA256); only the resulting signature is sent. The key is never transmitted or logged.
Which key do I use? The REST API key (dashboard → project → Settings → Keys → API KEY). The Shop ID and Secret Key are for the payment form and are not used here.
Does it work with ChatGPT? MCP is the protocol used by Claude Desktop, Cursor, Claude Code, and other MCP clients. ChatGPT uses a different connector system, so this stdio server isn't a drop-in there.
Can it create payment links / invoices? Not in this package — it's read-only on purpose. That belongs in a separate, clearly-scoped tool.
Development
git clone https://github.com/TegroTON/tegro-money-mcp.git
cd tegro-money-mcp
npm install
npm run typecheck # tsc --noEmit
npm run build # compile to dist/
npm test # node:test via tsx (mocked fetch — no API key needed)
TEGRO_API_KEY=... npm run dev # run the server from sourceContributing
PRs welcome — see CONTRIBUTING.md and our Code of Conduct. Keep it read-only, tested, and secret-free.
Links
🌐 Tegro.Money · API docs
Community
Follow Tegro.Money:
💬 Telegram — @TegroMoney · bot: @TegroMoneybot
𝕏 Twitter/X — @TegroTON
🟦 VK — vk.com/tegro
💼 LinkedIn — tegromoney
📸 Instagram — @tegromoney
✍️ Teletype — @tegro
🐙 GitHub — TegroTON
License
MIT © Tegro.Money
Available Tools
6 toolstegro_create_orderCreate a Tegro.money invoice (REST)C
Create a payment order via the REST API and get back its details/URL. Needs TEGRO_API_KEY. Collects a payment into the shop.
| Name | Required | Description | Default |
|---|---|---|---|
| test | No | ||
| No | |||
| amount | Yes | ||
| orderId | Yes | Your own unique order id | |
| currency | Yes | RUB, USD, EUR, USDT, … | |
| paymentSystem | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool creates an order and collects payment, but does not disclose side effects like immediate charges, reversibility, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the main action. However, it could be more structured by listing key facts.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters and no output schema or annotations, the description is too brief. It lacks info on response format, error handling, and comprehensive usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%. The description adds 'Needs TEGRO_API_KEY' but does not explain other parameters like test, email, paymentSystem, or amount. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a payment order via REST API and returns details/URL. It mentions it collects a payment into the shop. However, it does not explicitly differentiate from the sibling tool tegro_create_payment_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the sibling tools. The description only mentions the need for an API key but does not specify conditions or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tegro_create_payment_linkCreate a Tegro.money payment linkA
Build a ready-to-open payment URL (SCI form) for a given amount and currency. Needs TEGRO_SECRET_KEY. No money moves until the customer pays on the page.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| test | No | Test payment (no real charge) | |
| amount | Yes | Amount to charge | |
| failUrl | No | ||
| orderId | Yes | Your own unique order id | |
| currency | Yes | Currency code, e.g. RUB, USD, EUR, USDT | |
| notifyUrl | No | ||
| successUrl | No | ||
| paymentSystem | No | Specific payment method id (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the tool builds a URL and that payment occurs later, but lacks details on return format, error handling, rate limits, or authentication specifics beyond the secret key. It does not contradict any annotations (none exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no wasted words. The first sentence states the function, the second provides a prerequisite and clarifies behavior. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, no output schema, and no annotations, the description is too minimal. It does not explain the return value (the URL), format requirements for amount, or error scenarios. The agent is left with significant gaps in understanding how to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 56%, but the description adds no parameter-level insight beyond what's already in the schema. It mentions 'amount and currency' but doesn't explain optional parameters like lang, failUrl, or paymenSystem. The description fails to compensate for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Build a ready-to-open payment URL (SCI form) for a given amount and currency,' which specifies the verb (build), resource (payment URL), and scope (amount, currency). This distinguishes it from sibling tools like tegro_create_order or tegro_get_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the prerequisite 'Needs TEGRO_SECRET_KEY' and clarifies that 'No money moves until the customer pays,' providing some usage context. However, it does not explicitly state when to use this tool versus alternatives like tegro_create_order, nor does it offer exclusions or when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tegro_get_balanceGet Tegro.money shop balanceA
Read the shop's available balance. Needs TEGRO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It correctly indicates a read operation and an authentication requirement, but it does not mention rate limits, error behavior, or response structure. This is adequate for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence stating the action and a two-word requirement. No wasted words, and the critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters and no output schema. The description covers the core purpose and the only prerequisite. It could be improved by hinting at the output format, but given low complexity, it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% schema coverage. With no parameters, the baseline is 4, and the description appropriately adds no parameter-specific information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Read' and the resource 'shop's available balance', distinguishing it from sibling tools which deal with orders, payment links, and shop listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a necessary prerequisite (TEGRO_API_KEY) and implies use for balance checking only. It does not explicitly state when not to use or compare with alternatives, but the context of sibling tools provides sufficient differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tegro_get_orderGet Tegro.money order statusA
Look up one order by your orderId or the Tegro paymentId. Needs TEGRO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| orderId | No | Your order id | |
| paymentId | No | Tegro payment id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool is read-only by saying 'look up' and requires an API key. However, it does not specify behavior on missing orders or other side effects, which is a gap for a lookup without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no unnecessary words. It front-loads the purpose and includes important context (API key requirement). Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with two optional parameters and no output schema, the description covers the core functionality and authentication. It lacks details on return format or error handling, but given the tool's simplicity, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds clarity by stating they are alternatives ('by your orderId or the Tegro paymentId'), which is not explicit in the schema's 'optional' status. This enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it looks up one order by either orderId or paymentId, using specific verb and resource. It distinguishes from siblings like tegro_list_orders (multiple orders) and tegro_create_order (creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions prerequisites (TEGRO_API_KEY) and the two lookup keys, implying when to use it (single order lookup). However, it does not explicitly state when not to use it or suggest alternatives like tegro_list_orders for multiple orders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tegro_list_ordersList Tegro.money ordersC
List the shop's orders. Needs TEGRO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It omits behavioral traits such as pagination, sorting, response format, or rate limits, leaving agents uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Though short, the description is under-informative. It fails to include critical details that would justify its brevity, such as output or pagination behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and minimal parameter info, the description is incomplete. It does not describe return values, pagination, error handling, or authentication nuances beyond the API key.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and description does not mention the 'page' parameter. No explanation of its purpose, default, or behavior, so adds no value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List the shop's orders' clearly states the action (list) and resource (orders), distinguishing it from sibling tools like tegro_get_order (single order) and tegro_list_shops (shops).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only mentions the prerequisite 'Needs TEGRO_API_KEY' but provides no guidance on when to use this tool vs alternatives like tegro_get_order or tegro_create_order.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tegro_list_shopsList Tegro.money shopsA
List the shops on the account. Needs TEGRO_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It indicates a prerequisite (API key) but does not disclose potential behaviors like pagination, error responses, or whether the list is paginated. For a simple list operation, the transparency is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys essential information without wasted words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description is short. It covers the basic purpose and a prerequisite but lacks details about return format or behavior under failure. For a simple list tool, it is moderately complete but could be improved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters and 100% coverage. According to guidelines, zero parameters yields a baseline score of 4. The description adds no parameter information because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'shops on the account', distinguishing it from sibling tools like create_order or get_balance. It also mentions a necessary prerequisite (TEGRO_API_KEY), providing complete purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the need for an API key but does not explicitly guide when to use this tool versus alternatives (e.g., when to list shops vs list orders). Usage context is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.1.0- First observed
tegro_create_order - First observed
tegro_create_payment_link - First observed
tegro_get_balance - First observed
tegro_get_order - First observed
tegro_list_orders - First observed
tegro_list_shops
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: creating orders, generating payment links, checking balance, and querying orders/shops. No two tools overlap in functionality.
All tools follow a consistent 'tegro_verb_noun' snake_case pattern, using standard verbs like create, get, list. No mixing of styles.
With 6 tools, the set is well-scoped for a payment system, covering order creation, payment links, balance, and listings without being excessive or too thin.
The tool surface covers core payment workflows (create, retrieve, list) but lacks refund/cancel capabilities, which are minor gaps but not severe for basic usage.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Non-custodial crypto payments for AI assistants: balances, payments, and create payment links.
Read payment settings, orders and receipts, create payment links and API keys.
Accept crypto payments via the TgPay Merchant API — invoices, subscriptions, webhooks.
Stripe payments for AI agents. Create links, verify, manage customers.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with PayBridgeNP payment gateway accounts through natural language. Provides read-only access to payments, refunds, analytics, and account data, with write capabilities planned for future versions.461MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to accept payments in Ukraine via LiqPay (cards, Apple Pay, Google Pay). Provides tools to create hosted checkout links and query payment status.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding assistants to interact with MonCashConnect payment data read-only, including checking balances, listing transactions, and viewing payment details, without moving money.8MIT

Alternative Payments MCPofficial
FlicenseNot gradedqualityAmaintenanceProvides AI assistants with read and safe-write access to Alternative Payments customers, invoices, payment requests, transactions, payouts, and webhooks without directly moving money.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TegroTON/tegro-money-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server