@theyahia/tkassa-mcp

@theyahia/tkassa-mcp

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

Category
Visit Server

README

@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

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

Claude Code

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

Cursor / Windsurf

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

Environment Variables

Variable Required Description
TKASSA_TERMINAL_KEY Yes Terminal key (Dashboard -> Shops -> Terminals)
TKASSA_PASSWORD Yes Terminal password (used for SHA-256 token signing)
TINKOFF_INVEST_TOKEN No T-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)

Tool Description
init_payment Create a payment. Returns PaymentURL. Supports one-step/two-step, receipts (54-FZ), recurring, DATA fields
get_payment_state Get payment status by PaymentId (NEW, AUTHORIZED, CONFIRMED, REVERSED, REFUNDED, REJECTED)
confirm_payment Confirm a two-step payment. Supports partial confirmation
cancel_payment Cancel a payment (before or after confirmation). Supports partial cancellation
charge_payment Charge a recurring payment using RebillId from a saved card

Refunds (1)

Tool Description
refund_payment Full or partial refund. Payment must be in CONFIRMED status

Customers & Cards (5)

Tool Description
add_customer Register a customer for saving cards and recurring payments
get_customer Get customer data (Email, Phone) by CustomerKey
remove_customer Remove a customer and all saved cards
get_card_list List saved cards (CardId, Pan, ExpDate, RebillId)
remove_card Remove a saved card by CardId

SBP - Fast Payments (2)

Tool Description
create_sbp_qr Generate QR code for SBP payment (payload link or base64 PNG)
get_sbp_qr_state Check SBP QR payment status

Receipts - 54-FZ (1)

Tool Description
send_closing_receipt Send 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.

Tool Description
get_invest_portfolio Get investment portfolio: stocks, bonds, ETFs, current value and P&L
find_instrument Search 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

HTTP_PORT=3000 npx @theyahia/tkassa-mcp
# or
npx @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:

{
  "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 user@example.com.

Set up recurring payments:

Register customer "cust-123" with email user@example.com, 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

MCP Status Description
@metarebalance/dadata-mcp ready Addresses, companies, banks, phones
@theyahia/cbr-mcp ready Exchange rates, key rate
@theyahia/yookassa-mcp ready Payments, refunds, receipts 54-FZ
@theyahia/tkassa-mcp v2.1 16 tools -- payments, refunds, recurring, SBP, receipts, T-Invest
... soon +46 servers -- full list

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured