io.github.dontsovcmc/tochka-bank
MCP server for Tochka Bank API — balance, payments, invoices, UPD, payment tracking
Versions
0.6.2latestTools 44
goods_list List all goods from local catalog. Use goods_add/goods_remove to manage. Returns JSON array of goods with name, unit, and price.
goods_add Add a new good to local catalog. Args: name: Product name (e.g. "Wi-Fi модем Ватериус") unit: Unit of measurement (шт., компл., усл.ед., etc.) price: Price per unit as string (e.g. "5290.00")
goods_remove Remove a good from local catalog by exact name. Args: name: Exact product name to remove
tochka_balance Get bank account balance from Tochka Bank. For all accounts at once, use tochka_all_balances. Returns JSON with accountId, customerCode, currency, and balances (OpeningAvailable, ClosingAvailable, Expected).
tochka_payment Create outgoing payment order (I pay someone). Returns signing URL. The payment must be signed in Tochka internet bank to be processed. Args: counterparty_name: Recipient company name counterparty_inn: Recipient INN (10-12 digits) counterparty_bic: Recipient bank BIC (9 digits) counterparty_account: Recipient account number (20 digits) counterparty_corr_account: Recipient bank correspondent account (20 digits) amount: Payment amount in rubles purpose: Payment purpose (max 210 chars) counterparty_kpp: Recipient KPP (optional, 9 digits)
tochka_invoice Issue an invoice to a buyer (they pay me). Returns documentId. Args: buyer_name: Buyer company name buyer_inn: Buyer INN buyer_type: "company" or "ip" number: Invoice number positions: JSON array of positions, each with positionName, unitCode, ndsKind, price, quantity, totalAmount buyer_kpp: Buyer KPP (optional) buyer_address: Buyer legal address (optional) total: Total amount (calculated from positions if empty) nds_total: Total VAT amount (optional) based_on: Basis document (optional) comment: Comment (optional) pay_until_date: Payment deadline YYYY-MM-DD (optional)
tochka_download_invoice Download invoice PDF to local file. Args: document_id: Invoice UUID from tochka_invoice result output_path: Absolute path to save PDF (e.g. /tmp/invoice_42.pdf)
tochka_delete_closing_document Delete a closing document (UPD/Act) by document ID. Args: document_id: Closing document UUID from tochka_upd result
tochka_subscriptions Get list of payment subscriptions. Args: page: Page number (default 1) per_page: Results per page (default 1000)
tochka_upd Create UPD (universal transfer document). Returns documentId and signURL. function defaults to "schfdop" (invoice + primary document). Args: buyer_name: Buyer company name buyer_inn: Buyer INN buyer_type: "company" or "ip" number: UPD number positions: JSON array of positions (same format as invoice) buyer_kpp: Buyer KPP (optional) buyer_address: Buyer legal address (optional) total: Total amount (calculated from positions if empty) nds_total: Total VAT amount (optional) based_on: Basis document (optional) parent_document_id: Parent invoice UUID (optional, links UPD to invoice) function: "schfdop" (invoice + primary) or "dop" (primary only)
tochka_search Search bank transactions by counterparty INN or name via statements. Returns full counterparty details including bank BIC, account and correspondent account — enough to create a payment via tochka_payment without asking the user for details. Args: query: INN or part of counterparty name days: Search depth in days (default 90)
tochka_incoming Get incoming (Credit) bank transactions for a month, grouped by debtor INN. Useful for tax reports (AUSN vzaimozachet) — shows how much was received from each counterparty in a given month. Args: month: Month number (1-12) year: Year (e.g. 2026) inn: Optional debtor INN filter (e.g. "6316049606") description: Optional substring filter for payment description (case-insensitive, e.g. "РОБОКАССА")
tochka_track_invoice Start tracking an invoice for payment. Persists across sessions. Use tochka_pending_invoices to list tracked invoices, tochka_check_invoices to check payments. Args: number: Invoice number (e.g. "140") buyer_inn: Buyer INN (who should pay) buyer_name: Buyer company name amount: Expected payment amount (e.g. "5290.00") description: Invoice description (e.g. "Счёт №140 от 2026-04-10") document_id: Tochka documentId UUID (optional, for invoices created via tochka_invoice)
tochka_untrack_invoice Stop tracking an invoice by its number. Args: number: Invoice number (from tochka_track_invoice or tochka_pending_invoices)
tochka_pending_invoices List all invoices being tracked for payment. Use tochka_check_invoices to verify payment status. Returns JSON array of pending invoices with number, buyer_inn, buyer_name, amount, description, created_at.
tochka_check_invoices Check all pending invoices for payment. Automatically removes paid ones from tracking. Two strategies: - With document_id: uses Tochka payment-status API (fast, exact) - Without document_id: searches bank statement by buyer INN + amount (fallback) Fallback match criteria (all must be true): - Incoming (Credit) transaction - Debtor INN matches buyer_inn - Transaction date >= invoice created_at - abs(transaction amount - invoice amount) <= 1 ruble Args: days: Statement depth in days for fallback (default 30)
tochka_account_detail Get detailed account information. Args: account_id: Account ID (e.g. "40702810100000000001/044525000"). Uses first account if empty.
tochka_all_balances Get balances for all accounts at once. For a single account's balance, use tochka_balance. Returns JSON array of balances across all accessible accounts.
tochka_statements_list Get list of recent statements. Args: limit: Maximum number of statements (default 5)
tochka_card_transactions Get authorized card transactions for account. Args: account_id: Account ID. Uses first account if empty.
tochka_customers Get list of all accessible customers (organizations). For details on a specific customer, use tochka_customer.
tochka_customer Get detailed customer information. Use tochka_customers to list all available customer codes. Args: customer_code: Customer identifier (e.g. "100000001")
tochka_delete_invoice Delete an invoice by document ID. Args: document_id: Invoice UUID from tochka_invoice result
tochka_send_invoice_email Send invoice to specified email address. Args: document_id: Invoice UUID from tochka_invoice result email: Recipient email address
tochka_send_closing_document_email Send closing document to specified email address. Args: document_id: Closing document UUID from tochka_upd result email: Recipient email address
tochka_download_closing_document Download closing document PDF to local file. Args: document_id: Closing document UUID from tochka_upd result output_path: Absolute path to save PDF (e.g. /tmp/upd_42.pdf)
tochka_payments_for_sign Get list of payment orders created for signing.
tochka_acquiring_payments Get list of acquiring payment operations. Args: page: Page number (default 1) per_page: Results per page (default 1000) from_date: Start date filter YYYY-MM-DD (optional) to_date: End date filter YYYY-MM-DD (optional) status: Filter by status: CREATED, APPROVED, ON-REFUND, REFUNDED, EXPIRED (optional)
tochka_acquiring_payment_create Create acquiring payment operation (payment link). For payment with fiscal receipt, use tochka_acquiring_payment_with_receipt. Args: customer_code: Customer code (9 chars, e.g. "100000001") amount: Payment amount (> 0) purpose: Payment purpose (1-140 chars) payment_mode: Allowed payment methods, e.g. ["sbp", "card"] redirect_url: Success redirect URL (optional) fail_redirect_url: Failure redirect URL (optional) save_card: Save card for future payments (optional) consumer_id: Consumer identifier (optional) merchant_id: Merchant identifier, 15 chars (optional) pre_authorization: Two-stage payment mode (optional) ttl: Link lifetime in minutes, 1-44640, default 10080 (optional) payment_link_id: Custom payment link ID, 1-45 chars (optional)
tochka_acquiring_payment Get acquiring payment operation details. Args: operation_id: Payment operation ID
tochka_acquiring_payment_capture Capture funds for two-stage acquiring payment. Args: operation_id: Payment operation ID
tochka_acquiring_payment_refund Refund an acquiring payment (only for APPROVED status). Args: operation_id: Payment operation ID amount: Refund amount (must not exceed payment amount)
tochka_acquiring_payment_with_receipt Create acquiring payment operation with fiscal receipt. For payment without receipt, use tochka_acquiring_payment_create. Args: customer_code: Customer code (9 chars, e.g. "100000001") amount: Payment amount (> 0) purpose: Payment purpose (1-140 chars) payment_mode: Allowed payment methods, e.g. ["sbp", "card"] client_email: Receipt recipient email items_json: JSON array of receipt items [{name, amount, quantity, vatType?, paymentMethod?, paymentObject?}] redirect_url: Success redirect URL (optional) fail_redirect_url: Failure redirect URL (optional) save_card: Save card for future payments (optional) consumer_id: Consumer identifier (optional) merchant_id: Merchant identifier, 15 chars (optional) pre_authorization: Two-stage payment mode (optional) ttl: Link lifetime in minutes, 1-44640, default 10080 (optional) payment_link_id: Custom payment link ID, 1-45 chars (optional) client_name: Receipt recipient name (optional) client_phone: Receipt recipient phone (optional) tax_system_code: Tax system: osn, usn_income, usn_income_outcome, esn, patent (optional)
tochka_acquiring_registry Get acquiring payment registry for a specific date. Use tochka_acquiring_retailers to get valid merchant_id values. Args: merchant_id: Merchant identifier registry_date: Registry date YYYY-MM-DD
tochka_acquiring_retailers Get list of acquiring retailers (merchant points).
tochka_subscription_create Create recurring payment subscription. For subscription with fiscal receipt, use tochka_subscription_with_receipt. Args: customer_code: Customer code (9 chars, e.g. "100000001") amount: Subscription amount (> 0) purpose: Subscription purpose (1-140 chars) redirect_url: Success redirect URL (optional) fail_redirect_url: Failure redirect URL (optional) save_card: Save card for future payments (optional) consumer_id: Consumer identifier (optional) merchant_id: Merchant identifier (optional) recurring: Enable recurring charges (optional) payment_link_id: Custom payment link ID, 1-45 chars (optional)
tochka_subscription_charge Charge a subscription (recurring payment debit). Args: operation_id: Subscription operation ID amount: Charge amount
tochka_subscription_status Get subscription status. Args: operation_id: Subscription operation ID
tochka_subscription_status_set Set subscription status (cancel subscription). Args: operation_id: Subscription operation ID status: New status (only "Cancelled" is allowed)
tochka_subscription_with_receipt Create subscription with fiscal receipt. For subscription without receipt, use tochka_subscription_create. Args: customer_code: Customer code (9 chars, e.g. "100000001") amount: Subscription amount (> 0) purpose: Subscription purpose (1-140 chars) client_email: Receipt recipient email items_json: JSON array of receipt items [{name, amount, quantity, vatType?, paymentMethod?, paymentObject?}] redirect_url: Success redirect URL (optional) fail_redirect_url: Failure redirect URL (optional) save_card: Save card for future payments (optional) consumer_id: Consumer identifier (optional) merchant_id: Merchant identifier (optional) recurring: Enable recurring charges (optional) payment_link_id: Custom payment link ID, 1-45 chars (optional) client_name: Receipt recipient name (optional) client_phone: Receipt recipient phone (optional) tax_system_code: Tax system: osn, usn_income, usn_income_outcome, esn, patent (optional)
tochka_consents Get list of all API consents (permissions).
tochka_consent_create Create a new API consent. Args: permissions: List of permission strings (e.g. ["ReadAccountsBasic", "ReadBalances"]) expiration_date_time: Consent expiry in ISO8601 format (optional)
tochka_consent Get consent details. Args: consent_id: Consent identifier
tochka_consent_children Get all child consents for a given consent. Args: consent_id: Parent consent identifier
Permissions 3
network medium filesystem low env_vars low