Tkassa Mcp

io.github.theYahiaPublished by GitHub account theYahiav1.0.0Updated Oct 24, 2026

MCP server for T-Kassa (T-Bank/Tinkoff) payment API — payments, refunds. 5 tools. First MCP for T-K

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

Local MCP server for the T-Kassa (T-Bank/Tinkoff) payment API, letting an assistant create and manage payments, refunds, customers, saved cards, SBP QR codes, 2

What you can do
Create and manage payments: initiate one-step or two-step payments, check status, confirm or cancel, and charge recurring payments from a saved card. Issue full or partial refunds on confirmed payments. Manage customers and saved cards: register, look up and remove customers, list and remove saved cards. Generate SBP fast-payment QR codes and check their payment status. Send 54-FZ closing receipts with item, price, quantity and tax details. Look up T-Invest portfolio holdings and search instruments by ticker, ISIN or name.
When to use it
Useful when you work with a T-Kassa merchant terminal and want an assistant to draft, track or adjust payments and refunds, manage recurring customers and cards, or handle SBP and fiscal receipts without leaving the chat. Also relevant for quick T-Invest portfolio lookups.
Requirements
Runs locally via npx as an npm package (Node.js). Requires a T-Kassa terminal key in TKASSA_TERMINAL_KEY and a terminal password in TKASSA_PASSWORD for request signing; the optional T-Invest tools need TINKOFF_INVEST_TOKEN. Network access to the T-Kassa API is required. An HTTP mode is available on a chosen port.
Before you install
Handles real money: tools can create payments, charge saved cards, confirm, cancel and refund, and send fiscal receipts. The terminal password and API tokens are secrets passed as environment variables. Removing a customer also deletes all their saved cards. The README notes the repository is archived and development moved to another monorepo, though the npm package is said to be unchanged.

Installation

In SourceWeft

  1. Open Tkassa Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

🗄 Репозиторий заархивирован

Разработка переехала в theYahia/WWmcp — монорепозиторий MCP-серверов для незападных API: СНГ, MENA, Африка, LATAM, Юго-Восточная Азия. Общее ядро @theyahia/mcp-core, единый CI, единый релизный конвейер.

Актуальная версия того, что лежало здесь: servers/tkassa/

Пакет в npm прежний — @theyahia/tkassa-mcp, ставится и работает как раньше. Здесь больше ничего не обновляется. Задачи и pull request'ы — в WWmcp.

Archived — development moved to theYahia/WWmcp, a monorepo of MCP servers for non-Western APIs. The current version of this package now lives at servers/tkassa/. The npm package @theyahia/tkassa-mcp is unchanged. Please open issues and pull requests there.

@theyahia/tkassa-mcp

MCP server for T-Kassa (T-Bank/Tinkoff) payment API. 16 tools: payments, refunds, recurring charges, customer management, saved cards, SBP (Fast Payments), receipts (54-FZ), T-Invest portfolio.

[npm] [license]

Part of the Russian API MCP series (50 servers) by @theYahia.

Quick Start

Claude Desktop

json
{  "mcpServers": {    "tkassa": {      "command": "npx",      "args": ["-y", "@theyahia/tkassa-mcp"],      "env": {        "TKASSA_TERMINAL_KEY": "your-terminal-key",        "TKASSA_PASSWORD": "your-password"      }    }  }}

Claude Code

bash
claude mcp add tkassa -e TKASSA_TERMINAL_KEY=your-key -e TKASSA_PASSWORD=your-password -- npx -y @theyahia/tkassa-mcp

Cursor / Windsurf

json
{  "tkassa": {    "command": "npx",    "args": ["-y", "@theyahia/tkassa-mcp"],    "env": {      "TKASSA_TERMINAL_KEY": "your-terminal-key",      "TKASSA_PASSWORD": "your-password"    }  }}

Environment Variables

VariableRequiredDescription
TKASSA_TERMINAL_KEYYesTerminal key (Dashboard -> Shops -> Terminals)
TKASSA_PASSWORDYesTerminal password (used for SHA-256 token signing)
TINKOFF_INVEST_TOKENNoT-Invest API token (for tools 15–16). Get in T-Invest app: Settings → OpenAPI Token

Get test credentials at T-Kassa Dashboard.

Tools (16)

Payments (5)

ToolDescription
init_paymentCreate a payment. Returns PaymentURL. Supports one-step/two-step, receipts (54-FZ), recurring, DATA fields
get_payment_stateGet payment status by PaymentId (NEW, AUTHORIZED, CONFIRMED, REVERSED, REFUNDED, REJECTED)
confirm_paymentConfirm a two-step payment. Supports partial confirmation
cancel_paymentCancel a payment (before or after confirmation). Supports partial cancellation
charge_paymentCharge a recurring payment using RebillId from a saved card

Refunds (1)

ToolDescription
refund_paymentFull or partial refund. Payment must be in CONFIRMED status

Customers & Cards (5)

ToolDescription
add_customerRegister a customer for saving cards and recurring payments
get_customerGet customer data (Email, Phone) by CustomerKey
remove_customerRemove a customer and all saved cards
get_card_listList saved cards (CardId, Pan, ExpDate, RebillId)
remove_cardRemove a saved card by CardId

SBP - Fast Payments (2)

ToolDescription
create_sbp_qrGenerate QR code for SBP payment (payload link or base64 PNG)
get_sbp_qr_stateCheck SBP QR payment status

Receipts - 54-FZ (1)

ToolDescription
send_closing_receiptSend a closing receipt with Items (Name, Price, Quantity, Tax) for fiscal compliance

T-Invest (2)

Requires TINKOFF_INVEST_TOKEN. If not set, these tools return a descriptive error.

ToolDescription
get_invest_portfolioGet investment portfolio: stocks, bonds, ETFs, current value and P&L
find_instrumentSearch instrument by ticker, ISIN, or company name. Returns FIGI key

Auth

Every request is signed with SHA-256:

Token = SHA-256(concat(sorted values of {Password, TerminalKey, ...params}))

Only scalar values participate in signing. Nested objects (Receipt, DATA) are excluded. Handled automatically.

HTTP Transport

bash
HTTP_PORT=3000 npx @theyahia/tkassa-mcp# ornpx @theyahia/tkassa-mcp --http 3000

Endpoints: POST /mcp (JSON-RPC), GET /health (status).

Skills

  • skill-create-payment -- create a payment and get a payment URL
  • skill-payment-status -- check payment status by PaymentId

Webhook Notifications

T-Kassa sends POST notifications to your notification_url (set in init_payment) when payment status changes:

json
{  "TerminalKey": "your-key",  "OrderId": "your-order-id",  "Success": true,  "Status": "CONFIRMED",  "PaymentId": 123456789,  "ErrorCode": "0",  "Amount": 10000,  "RebillId": 987654321,  "CardId": 12345,  "Pan": "430000******0777",  "ExpDate": "1230",  "Token": "sha256-signature"}

Verify by computing the Token the same way (sorted values concat + SHA-256) and comparing.

Notes

  • Base URL: https://securepay.tinkoff.ru/v2/
  • Amounts are in kopecks internally (server converts rubles automatically)
  • Automatic retry with exponential backoff on 429/5xx
  • API docs: https://www.tbank.ru/kassa/dev/payments/

Demo Prompts

Create a payment with receipt:

Create a payment for 1500 rubles, order "order-42", with a receipt: 1x "Premium subscription" at 1500 RUB, VAT 20%, tax system USN income. Send receipt to [email protected].

Set up recurring payments:

Register customer "cust-123" with email [email protected], then create a recurring payment for 990 rubles on order "sub-monthly-1".

Refund and check status:

Refund 500 rubles from payment 777888999, then check its current status.

Series: Russian API MCP

MCPStatusDescription
@metarebalance/dadata-mcpreadyAddresses, companies, banks, phones
@theyahia/cbr-mcpreadyExchange rates, key rate
@theyahia/yookassa-mcpreadyPayments, refunds, receipts 54-FZ
@theyahia/tkassa-mcpv2.116 tools -- payments, refunds, recurring, SBP, receipts, T-Invest
...soon+46 servers -- full list

License

MIT


Telegram: @vhodvai

Source: README.md at commit db6d17a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts