Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Beschreibung vom Entwickler (englisches Original)
Comprehensive MCP server for the Robokassa payment gateway (18 tools, full API coverage).
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
ROBOKASSA_LOGIN, ROBOKASSA_PASSWORD1, ROBOKASSA_PASSWORD2, ROBOKASSA_PASSWORD3Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"robokassa": {
"command": "uvx",
"args": [
"robokassa-mcp"
],
"env": {
"ROBOKASSA_LOGIN": "your-value",
"ROBOKASSA_PASSWORD1": "your-value",
"ROBOKASSA_PASSWORD2": "your-value",
"ROBOKASSA_PASSWORD3": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add robokassa --env ROBOKASSA_LOGIN=your-value --env ROBOKASSA_PASSWORD1=your-value --env ROBOKASSA_PASSWORD2=your-value --env ROBOKASSA_PASSWORD3=your-value -- uvx robokassa-mcpTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"robokassa": {
"command": "uvx",
"args": [
"robokassa-mcp"
],
"env": {
"ROBOKASSA_LOGIN": "your-value",
"ROBOKASSA_PASSWORD1": "your-value",
"ROBOKASSA_PASSWORD2": "your-value",
"ROBOKASSA_PASSWORD3": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"robokassa": {
"type": "stdio",
"command": "uvx",
"args": [
"robokassa-mcp"
],
"env": {
"ROBOKASSA_LOGIN": "your-value",
"ROBOKASSA_PASSWORD1": "your-value",
"ROBOKASSA_PASSWORD2": "your-value",
"ROBOKASSA_PASSWORD3": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto artgas1 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: ROBOKASSA_LOGIN, ROBOKASSA_PASSWORD1, ROBOKASSA_PASSWORD2, ROBOKASSA_PASSWORD3
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 7 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
robokassa-mcp
📚 Documentation · PyPI · Docker · MCP Registry
Comprehensive Python client and Model Context Protocol server for Robokassa — the Russian payment gateway.
Covers the full API surface: checkout, XML status interfaces, refunds, holding (pre-auth), recurring subscriptions, 54-ФЗ fiscal receipts, Partner API, and auxiliary endpoints.
# As an MCP server for Claude Desktop / Claude Code / Cursor / Windsurf
uvx robokassa-mcp
pip install robokassa-mcp
import asyncio
from decimal import Decimal from robokassa import create_invoice, RobokassaClient
invoice = create_invoice( merchant_login="my-shop", out_sum=Decimal("599.00"), inv_id=12345, password1="...", description="Premium subscription", email="user@example.com", ) print(invoice.url) # https://auth.robokassa.ru/Merchant/Index.aspx?...
async def check() -> None: async with RobokassaClient("my-shop", password2="...") as client: state = await client.check_payment(inv_id=12345) print(state.is_paid, state.info.op_key)
asyncio.run(check())
from robokassa import RobokassaClient
async def refund_flow(inv_id: int) -> None: async with RobokassaClient("my-shop", password2="p2", password3="p3") as client:
state = await client.check_payment(inv_id) assert state.info.op_key, "payment not complete yet"
created = await client.refund_create(state.info.op_key) print("refund requestId:", created.request_id)
while True: status = await client.refund_status(created.request_id) if status.is_terminal: print("final:", status.state) break
from fastapi import FastAPI, Request, HTTPException, PlainTextResponse
from robokassa import verify_result_signature, build_ok_response
app = FastAPI()
@app.post("/robokassa/result") async def result_url(req: Request) -> PlainTextResponse: form = dict(await req.form()) if not verify_result_signature(form, password2="..."): raise HTTPException(status_code=403, detail="Bad signature")
return PlainTextResponse(build_ok_response(form["InvId"]))
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "robokassa": { "command": "uvx", "args": ["robokassa-mcp"], "env": { "ROBOKASSA_LOGIN": "your-shop-login", "ROBOKASSA_PASSWORD1": "password1", "ROBOKASSA_PASSWORD2": "password2", "ROBOKASSA_PASSWORD3": "password3" } } } }
claude mcp add robokassa \
-e ROBOKASSA_LOGIN=my-shop \ -e ROBOKASSA_PASSWORD1=... \ -e ROBOKASSA_PASSWORD2=... \ -e ROBOKASSA_PASSWORD3=... \ -- uvx robokassa-mcp
Edit ~/.cursor/mcp.json:
{
"mcpServers": { "robokassa": { "command": "uvx", "args": ["robokassa-mcp"], "env": { "ROBOKASSA_LOGIN": "your-shop-login", "ROBOKASSA_PASSWORD1": "password1", "ROBOKASSA_PASSWORD2": "password2", "ROBOKASSA_PASSWORD3": "password3" } } } }
In user or workspace settings.json:
{
"github.copilot.chat.mcp.servers": { "robokassa": { "command": "uvx", "args": ["robokassa-mcp"], "env": { "ROBOKASSA_LOGIN": "your-shop-login", "ROBOKASSA_PASSWORD1": "password1", "ROBOKASSA_PASSWORD2": "password2", "ROBOKASSA_PASSWORD3": "password3" } } } }
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "robokassa": { "command": "uvx", "args": ["robokassa-mcp"], "env": { "ROBOKASSA_LOGIN": "your-shop-login", "ROBOKASSA_PASSWORD1": "password1", "ROBOKASSA_PASSWORD2": "password2", "ROBOKASSA_PASSWORD3": "password3" } } } }
uvx robokassa-mcp --transport http --port 8000
Flags: --transport {stdio,http,streamable-http,sse}, --host, --port.
All 18 tools are wrapped as @mcp.tool() and available to any MCP-capable agent (Claude Desktop, Claude Code, Cursor, Windsurf, etc.).
| Tool | Purpose | Auth |
|---|---|---|
create_invoice | Build a signed checkout URL (optional 54-ФЗ receipt). | Password#1 |
check_payment | Get current state of a payment by InvId (via OpStateExt). | Password#2 |
list_currencies | List payment methods available to the shop. | — |
calc_out_sum | Compute amount credited to shop for a given payment. | Password#1 |
refund_create | Initiate a refund (requires Refund API access). | Password#3 JWT |
refund_status | Poll refund progress by requestId. | — |
verify_result_signature | Validate a ResultURL webhook. | Password#2 |
verify_success_signature | Validate a SuccessURL redirect. | Password#1 |
hold_init / hold_confirm / hold_cancel | Two-step card pre-authorization. | Password#1 |
init_recurring_parent / recurring_charge | Subscription auto-charges. | Password#1 |
build_split_invoice | Marketplace multi-recipient checkout. | — |
send_sms | Paid SMS service. | Password#1 |
second_receipt_create / second_receipt_status | 54-ФЗ final receipt after advance. | Password#1 |
partner_refund | Alternative refund path for partner integrators. | Partner JWT |
Low-level signature helpers are available from Python only: compute_signature, op_state_signature, build_checkout_signature, build_refund_jwt, build_sms_signature, compute_result_signature, compute_success_signature, encode_fiscal_body.
Mapped against the 8 public Robokassa API groups:
| Group | Coverage | Module |
|---|---|---|
| Merchant Checkout | ✅ create_invoice (+ 54-ФЗ) | robokassa.checkout |
| XML Interfaces | ✅ check_payment, list_currencies, calc_out_sum | robokassa.xml_interface |
| Refund API | ✅ refund_create, refund_status | robokassa.refund |
| Holding / Pre-auth | ✅ init / confirm / cancel | robokassa.holding |
| Recurring | ✅ parent + child | robokassa.recurring |
| Fiscal 54-ФЗ | ✅ second receipt create / status | robokassa.fiscal |
| Partner API | 🟡 partner_refund only — see coverage notes | robokassa.partner |
| Auxiliary | ✅ send_sms, webhook signatures, split payments | robokassa.sms, robokassa.webhooks, robokassa.split |
Most high-level entry points fall back to these env vars when credentials aren't passed explicitly:
| Variable | Required for |
|---|---|
ROBOKASSA_LOGIN | All operations |
ROBOKASSA_PASSWORD1 | Checkout, webhook SuccessURL verification, CalcOutSumm, fiscal, SMS |
ROBOKASSA_PASSWORD2 | check_payment (OpStateExt), webhook ResultURL verification |
ROBOKASSA_PASSWORD3 | refund_create |
All signature-producing helpers accept algorithm= with "md5" / "sha256" / "sha384" / "sha512" — match whatever is configured in your Robokassa cabinet.
git clone https://github.com/artgas1/robokassa-mcp.git
cd robokassa-mcp uv sync --all-extras --dev uv run pytest # 107+ unit tests uv run ruff check . uv run pyright
MIT — see LICENSE. Drop-and-forget maintenance; PRs welcome but not guaranteed to be reviewed promptly.