MCP server for Tegro.Money — connect Claude, Cursor and other AI tools to the Tegro.Money payment API (balances, shops, orders, payouts, rates). Read-only, secure, your API key never leaves your machine.
Server has 8 well-named, read-only tools with consistent verb_noun naming (get_*, list_*). All tools have descriptions (avg 110 chars, within baseline 34-392). Input schemas use Zod with type definitions and descriptions for all parameters. However, output schemas are completely undocumented, responses are JSON-stringified with no field documentation, forcing LLMs to infer structure. Error handling is minimal (generic fail() wrapper). No parameter enums despite several accepting constrained values (e.g., currency codes). Missing output schema documentation is a critical gap for composition and chaining.
Get the balance of all your Tegro.Money wallets (per currency, e.g. RUB/USD).
Get the status and details of a single payment order by its order id.
Get the current exchange rate between two currencies (e.g. from RUB to USD).
Get the status and details of a single payout (withdrawal) by its order id.
List payment orders for a shop. Returns id, amount, currency, status, payment system, email and dates.
List the payment methods (modules) available for a shop.
Output schemas completely undocumented. All tools return JSON.stringify(data) with no field documentation. LLMs cannot infer response structure, breaking composition and forcing manual exploration.
No parameter enums for constrained values. 'from' and 'to' in get_rates accept currency codes but are free-form strings. LLMs will hallucinate invalid codes. 'page' parameters lack min/max bounds.
Error handling is generic. fail() wrapper returns only error message text with no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
List your Tegro.Money projects (shops): id, name, url, public key (Shop ID) and status.
List payout (withdrawal) requests for a shop, with their status and amounts.
No pagination result limits documented. list_orders and list_withdrawals accept 'page' but tool descriptions do not state max results per page or total count return. Large result sets risk context window exhaustion.
Optional shop_id parameter with fallback to TEGRO_SHOP_ID env var creates implicit dependency. If env var is unset, tool silently fails. Should validate and return actionable error.