Skip to main content
Glama
TegroTON

Tegro.money MCP Server

Official
by TegroTON

Tegro.Money MCP Server

npm version CI License: MIT MCP

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

get_balance

Balance of all your wallets, per currency (RUB/USD/…)

list_shops

Your projects (shops): id, name, url, Shop ID, status

list_orders

Payment orders for a shop (amount, status, method, dates)

get_order

Status & details of one order by order_id

list_withdrawals

Payout requests for a shop

get_withdrawal

Status & details of one payout by order_id

get_rates

Exchange rate between two currencies

list_payment_systems

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-mcp

Configuration

Env var

Required

Default

Description

TEGRO_API_KEY

Your REST API key. Used only to sign requests locally (HMAC-SHA256); never sent over the network.

TEGRO_SHOP_ID

Default Shop ID for shop-scoped tools, so you don't pass it each time.

TEGRO_API_BASE

https://tegro.money

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?"

get_balance

"RUB 12 480.50, USD 0.00."

"Did order 777 get paid?"

get_order

"Order 777: paid on 2026-06-20, 1 200 ₽."

"Revenue today?"

list_orders

sums paid orders by date_payed.

"Which payment methods are on shop X?"

list_payment_systems

lists the enabled methods.

"RUB to USD rate?"

get_rates

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

TEGRO_API_KEY is not set

Set the env var to your REST API key (dashboard → project → Settings → Keys → API KEY) — not the Shop ID / Secret Key.

Wrong authorization token

The key is incorrect, or the request body was altered between signing and sending. Double-check TEGRO_API_KEY.

Empty required param shop_id

The endpoint needs a shop. Pass shop_id, or set TEGRO_SHOP_ID.

non-JSON … error 1010 / Cloudflare block

The API is behind Cloudflare, which rejects unusual clients. This server already sends a descriptive User-Agent; if you still see 1010, your IP/network may be filtered — try another network or contact support.

Tools don't appear in the client

Restart the client after editing its config; confirm npx can reach the package (npx -y @tegroton/tegro-money-mcp should start and print to stderr).

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 source

Contributing

PRs welcome — see CONTRIBUTING.md and our Code of Conduct. Keep it read-only, tested, and secret-free.

Community

Follow Tegro.Money:

License

MIT © Tegro.Money

Available Tools

6 tools
tegro_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
testNo
emailNo
amountYes
orderIdYesYour own unique order id
currencyYesRUB, USD, EUR, USDT, …
paymentSystemNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_get_balanceGet Tegro.money shop balanceA

Read the shop's available balance. Needs TEGRO_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdNoYour order id
paymentIdNoTegro payment id

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 6 tool updatesv0.1.0
    • First observedtegro_create_order
    • First observedtegro_create_payment_link
    • First observedtegro_get_balance
    • First observedtegro_get_order
    • First observedtegro_list_orders
    • First observedtegro_list_shops

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: creating orders, generating payment links, checking balance, and querying orders/shops. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow a consistent 'tegro_verb_noun' snake_case pattern, using standard verbs like create, get, list. No mixing of styles.

Tool Count5/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessUnresponsive

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    46
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding assistants to interact with MonCashConnect payment data read-only, including checking balances, listing transactions, and viewing payment details, without moving money.
    8
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Provides 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

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