MCP server for YooKassa payment API — payments, refunds, receipts (54-FZ). 10 tools. First MCP for
SaferSkills independently audited yookassa-mcp (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP server for YooKassa API -- payments, refunds, receipts (54-FZ), payouts, webhooks, recurring, SBP, marketplace splits. 20 tools.
Part of Russian API MCP series by @theYahia.
{
"mcpServers": {
"yookassa": {
"command": "npx",
"args": ["-y", "@theyahia/yookassa-mcp"],
"env": {
"YOOKASSA_SHOP_ID": "your-shop-id",
"YOOKASSA_SECRET_KEY": "your-secret-key"
}
}
}
}claude mcp add yookassa -e YOOKASSA_SHOP_ID=your-id -e YOOKASSA_SECRET_KEY=your-key -- npx -y @theyahia/yookassa-mcp{
"servers": {
"yookassa": {
"command": "npx",
"args": ["-y", "@theyahia/yookassa-mcp"],
"env": {
"YOOKASSA_SHOP_ID": "your-shop-id",
"YOOKASSA_SECRET_KEY": "your-secret-key"
}
}
}
}{
"mcpServers": {
"yookassa": {
"command": "npx",
"args": ["-y", "@theyahia/yookassa-mcp"],
"env": {
"YOOKASSA_SHOP_ID": "your-shop-id",
"YOOKASSA_SECRET_KEY": "your-secret-key"
}
}
}
}⚠️ The HTTP transport exposes money-moving tools. It requires a Bearer token, binds to127.0.0.1by default, and validatesHost/Origin(DNS-rebinding protection). Never expose it directly to the internet — put it behind an authenticating reverse proxy / mTLS. See SECURITY.md.
MCP_AUTH_TOKEN="$(openssl rand -hex 32)" HTTP_PORT=3000 npx -y @theyahia/yookassa-mcp --httpThen call /mcp with Authorization: Bearer <MCP_AUTH_TOKEN>.
Endpoints:
POST /mcp -- MCP Streamable HTTP transport (Bearer auth required; stateless — POST only)GET /health -- unauthenticated health check ({ "status": "ok", "tools": <count> })| Variable | Required | Description |
|---|---|---|
YOOKASSA_SHOP_ID | Yes | Shop ID (Settings -> Shop) |
YOOKASSA_SECRET_KEY | Yes | Secret key (Integration -> API Keys) |
YOOKASSA_PAYOUT_AGENT_ID | Payouts | Gateway id (agentId) for the Payouts product (Settings -> Payouts) |
YOOKASSA_PAYOUT_SECRET_KEY | Payouts | Secret key for the Payouts gateway |
HTTP_PORT | No | Port for HTTP transport (default 3000); enables --http mode |
MCP_AUTH_TOKEN | HTTP only | Required in HTTP mode. Bearer token clients must send on /mcp |
HTTP_HOST | No | Bind address for HTTP mode (default 127.0.0.1; set 0.0.0.0 to expose — only behind a proxy) |
MCP_ALLOWED_HOSTS | No | Comma-separated Host allowlist (default 127.0.0.1:<port>,localhost:<port>) |
MCP_ALLOWED_ORIGINS | No | Comma-separated browser Origin CORS allowlist (default: none — browser origins rejected) |
YOOKASSA_DEBUG | No | Set to 1 to trace each request (method/path/status/latency/idempotency-key) to stderr — never logs secrets, the auth header, or request bodies |
This server drives real money operations. While developing:
use its YOOKASSA_SHOP_ID / YOOKASSA_SECRET_KEY.
"test": true — beforeswitching to a live shop.
create_payment, create_refund, create_payout, create_recurring_payment,save_payment_method, and capture_payment move real funds and are irreversible. These tools are annotated as destructive so MCP clients can prompt before running them.
SECURITY.md before any remote deployment.
| Tool | Description |
|---|---|
create_payment | Create a payment with amount, description, payment method. Returns payment URL. Supports receipts and metadata |
get_payment | Get payment details by ID -- status, amount, confirmation URL, metadata |
capture_payment | Confirm a two-step payment (capture held funds). Partial capture supported |
cancel_payment | Cancel a payment (pending or waiting_for_capture) |
list_payments | List payments with filters by status, date range, and pagination |
save_payment_method | Save a payment method for recurring charges (card binding) |
create_recurring_payment | Charge a saved payment method (no user interaction) |
create_sbp_payment | Create a payment via SBP (Russian fast payment system) |
create_split_payment | Split payment for marketplaces -- distribute funds among partners |
| Tool | Description |
|---|---|
create_refund | Full or partial refund by payment ID |
get_refund | Get refund details by ID |
list_refunds | List refunds with optional payment filter |
| Tool | Description |
|---|---|
create_receipt | Fiscal receipt (54-FZ) -- items, VAT codes, customer contacts |
list_receipts | List receipts by payment or refund ID |
⚠️ Payouts are a separately-activated YooKassa product with their own gateway credentials (YOOKASSA_PAYOUT_AGENT_ID+YOOKASSA_PAYOUT_SECRET_KEY), not the shop's payment key. Sending a raw card number requires a PCI DSS certificate — without it, collect the recipient via the payout widget and passpayout_token. Payouts are asynchronous (pollget_payout).
| Tool | Description |
|---|---|
create_payout | Payout to bank card / YooMoney wallet / SBP, or via payout_token |
get_payout | Get payout status and details by ID |
| Tool | Description |
|---|---|
create_webhook | Register a webhook URL for events (payment.succeeded, refund.succeeded, etc.) |
list_webhooks | List all registered webhooks |
delete_webhook | Delete a webhook by ID |
| Tool | Description |
|---|---|
get_shop_info | Shop info -- ID, status, test mode, fiscalization (YooKassa has no balance endpoint) |
Create a payment for 5000 RUB for order #123 with SBP as payment methodSet up a recurring subscription: bind the card with 1 ruble, then charge 999 RUB monthly using the saved methodShow all successful payments for the last 7 days and create a refund of 2500 RUB for payment pay_xxxYOOKASSA_SHOP_ID:YOOKASSA_SECRET_KEY)https://api.yookassa.ru/v3/--http / HTTP_PORT)| MCP | Status | Description |
|---|---|---|
| @metarebalance/dadata-mcp | ready | Addresses, companies, banks, phones |
| @theyahia/cbr-mcp | ready | Currency rates, key rate |
| @theyahia/yookassa-mcp | ready | Payments, refunds, receipts, payouts, webhooks |
| @theyahia/cloudpayments-mcp | ready | Payments, subscriptions, orders |
| ... | +46 servers -- full list |
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.