Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Let AI agents collect VietQR payments — generate a QR and auto-confirm settlement.
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.
AGENTPAY_API_KEY, AGENTPAY_BASE_URLAls 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": {
"agentpay-vn": {
"command": "uvx",
"args": [
"agentpay-vn"
],
"env": {
"AGENTPAY_API_KEY": "your-value",
"AGENTPAY_BASE_URL": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add agentpay-vn --env AGENTPAY_API_KEY=your-value --env AGENTPAY_BASE_URL=your-value -- uvx agentpay-vnTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"agentpay-vn": {
"command": "uvx",
"args": [
"agentpay-vn"
],
"env": {
"AGENTPAY_API_KEY": "your-value",
"AGENTPAY_BASE_URL": "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": {
"agentpay-vn": {
"type": "stdio",
"command": "uvx",
"args": [
"agentpay-vn"
],
"env": {
"AGENTPAY_API_KEY": "your-value",
"AGENTPAY_BASE_URL": "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.
AGENTPAY_BASE_URL envDiese 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 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto phuocdu 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: AGENTPAY_API_KEY
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 (1.1.0) kam vor 16 Tagen 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: Spec Driven Development, Remote Desktop Commander, Python MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Local-only Python MCP server for the Files.com API.
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.
VietQR payment infrastructure for AI agents — collect money inside any conversation.
AgentPay VN lets AI agents (Claude, GPT, custom bots) generate payment QR codes, send them to users, and automatically confirm when the money arrives — all without ever holding or touching funds. Money flows directly from the payer's bank account into the merchant's account; AgentPay only reads the bank transaction feed to confirm settlement.
Status: Early access / self-hosted — running on the same swarm as Sổ Nợ AI.
AI Agent AgentPay API Bank feed (SePay)
| <- { qr_image_url, id } ---- | |
| -- send QR to user --------> | |
| user scans & pays | |
| <-- webhook (bank txn) ---- | |
| -- match AP* pay_code | |
| -- status → settled | |
| <-- await_settlement done -- | |
| -- deliver order / unlock -> |
POST /v1/payment-requests → gets a VietQR image URL and a checkout page.await_settlement() (or the MCP tool) to poll until status = settled.AgentPay never holds money. The QR points directly at the merchant's bank account number. The platform only monitors the bank transaction feed to detect matching transfers.
pip install agentpay-vn
A sandbox key is self-serve and instant:
curl -X POST https://agentpay.servicesai.vn/v1/sandbox/register \
-H "Content-Type: application/json" -d '{"shop_name": "My Bot"}'
export AGENTPAY_API_KEY=ap_test_xxx
From Python: register_sandbox(). From an agent: just call the register_sandbox MCP tool — it issues the key and applies it to the session.
Sandbox keys last 7 days, move no real money, and renew by calling the same endpoint with the same email. For real payments you need an ap_live_* key, which requires a registered merchant with a Vietnamese bank account — sign up at agentpay.servicesai.vn.
from agentpay.client import AsyncAgentPayClient, await_settlement
import asyncio
async def main(): async with AsyncAgentPayClient("ap_test_xxx") as client: pr = await client.create_payment_request(amount=50_000, description="Order #1") print(pr["checkout_url"]) # send this link to your user result = await await_settlement(client, pr["id"], timeout=120) assert result["status"] == "settled"
asyncio.run(main())
See examples/quickstart.py for the full runnable version.
AgentPay ships an MCP server so any MCP-compatible AI agent can call it as a tool — no extra code needed.
Add to claude_desktop_config.json (or use examples/claude_desktop_config.json):
{
"mcpServers": { "agentpay": { "command": "python", "args": ["-m", "agentpay.mcp_server"], "env": { "AGENTPAY_API_KEY": "ap_test_xxx", "AGENTPAY_BASE_URL": "https://agentpay.servicesai.vn/v1" } } } }
Or use the installed console script:
{
"mcpServers": { "agentpay": { "command": "agentpay-mcp", "env": { "AGENTPAY_API_KEY": "ap_live_xxx" } } } }
| Tool | Description |
|---|---|
register_sandbox | Self-issue a free ap_test_* key — call this first when no key is set |
create_payment_request | Generate a VietQR code for a given amount |
check_payment | Get current status of a payment request |
await_settlement | Poll until payment arrives or timeout (max 600 s) |
list_recent_payments | List last N settled transactions |
The MCP server gives an agent the *tools*. The bundled skill gives it the *judgement*: when to charge, how to format a VND amount, and the rule that nothing ships before status = settled. See skills/agentpay-vn/SKILL.md.
This repository is also a Claude Code plugin marketplace, so the skill and the MCP server install together in one step:
claude plugin marketplace add phuocdu/agentpay-vn
claude plugin install agentpay-vn@agentpay-vn
Claude Code prompts for your API key (stored in the OS credential store, not in settings.json). Leave it blank to start in sandbox — the agent will call register_sandbox on its first charge.
For other agents, copy skills/agentpay-vn/ into wherever that agent reads skills from, and add the MCP server as shown above.
from agentpay.client import AgentPayClient
with AgentPayClient("ap_live_xxx") as client:
pr = client.create_payment_request( amount=150_000, description="Consulting session 30 min", ttl_minutes=30, idempotency_key="session-abc-123", )
import time for _ in range(60): pr = client.get_payment_request(pr["id"]) if pr["status"] != "pending": break time.sleep(5)
txns = client.list_transactions(limit=10)
from agentpay.client import AsyncAgentPayClient, await_settlement
async with AsyncAgentPayClient("ap_live_xxx") as client: pr = await client.create_payment_request(amount=75_000, description="eBook download") result = await await_settlement(client, pr["id"], timeout=300) if result["status"] == "settled": send_download_link(result["metadata"].get("email"))
import hashlib, hmac
def verify_webhook(raw_body: bytes, signature_header: str, secret: str) -> bool: expected = hmac.new(secret.encode(), raw_body, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, signature_header)
Register a webhook endpoint:
ep = client.register_webhook(
url="https://your-server.com/webhooks/agentpay", events=["payment.settled", "payment.expired"], ) print(ep["secret"]) # store this — shown only once
agentpay-openapi.yamlhttps://agentpay.servicesai.vn/v1Authorization: Bearer ap_live_xxx (or ap_test_xxx for sandbox)| Method | Path | Description |
|---|---|---|
POST | /v1/payment-requests | Create payment request |
GET | /v1/payment-requests/{id} | Get status |
POST | /v1/payment-requests/{id}/cancel | Cancel pending request |
GET | /v1/transactions | List settled transactions |
POST | /v1/webhook-endpoints | Register webhook URL |
POST | /v1/sandbox/simulate-settlement | Simulate payment (sandbox only) |
GET | /pay/{pay_code} | Public checkout page (HTML, mobile-friendly) |
AgentPay runs as part of the Sổ Nợ AI FastAPI backend.
agentpay.servicesai.vn vhost| Variable | Default | Description |
|---|---|---|
AGENTPAY_BASE_URL | https://agentpay.servicesai.vn | Public base URL for checkout links |
MONGO_URI | mongodb://localhost:27017 | Inherited from Sono |
BILLING_WEBHOOK_TOKEN | — | SePay webhook token (inherited) |
curl -X POST https://sono.servicesai.vn/api/admin/agentpay/keys \
-H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{"org_id": " ", "name": "My bot", "livemode": true}'
The response includes the full key — store it immediately; it is shown only once.
| Tier | Settled payments/month | Requests/minute |
|---|---|---|
| Free | 50 | 120 |
Idempotency-Key header on POST /payment-requests to safely retry without creating duplicates (24-hour deduplication window).HMAC-SHA256(whsec_..., raw_body) in the AgentPay-Signature header. Always verify before processing.ap_test_* keys and POST /v1/sandbox/simulate-settlement to develop and test without real transactions.MIT © 2026 ServicesAI — see LICENSE.