Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

AgentPay VN

by phuocduversion 1.1.0i★ –iRuns on your computer
Registry nameio.github.phuocdu/agentpay-vn

Install

Overview

Description from the maker (original English)

Let AI agents collect VietQR payments — generate a QR and auto-confirm settlement.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: AGENTPAY_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: AGENTPAY_API_KEY, AGENTPAY_BASE_URL

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "agentpay-vn": {
      "command": "uvx",
      "args": [
        "agentpay-vn"
      ],
      "env": {
        "AGENTPAY_API_KEY": "your-value",
        "AGENTPAY_BASE_URL": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add agentpay-vn --env AGENTPAY_API_KEY=your-value --env AGENTPAY_BASE_URL=your-value -- uvx agentpay-vn

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "agentpay-vn": {
      "command": "uvx",
      "args": [
        "agentpay-vn"
      ],
      "env": {
        "AGENTPAY_API_KEY": "your-value",
        "AGENTPAY_BASE_URL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "agentpay-vn": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "agentpay-vn"
      ],
      "env": {
        "AGENTPAY_API_KEY": "your-value",
        "AGENTPAY_BASE_URL": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • AGENTPAY_API_KEY secret env
    AgentPay API key (ap_live_* or ap_test_*). Optional — call the register_sandbox tool to self-issue a free sandbox key.
  • AGENTPAY_BASE_URL env
    API base URL.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account phuocdu, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32683 servers in this category
  • Published to the registry more recently than 69% of the other 32683 servers in this category
  • Basic checks equal to or better than 100% of the other 32683 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is AgentPay VN safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: AGENTPAY_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.1.0) reached the registry 17 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

AgentPay VN

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.


How it works

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 ->
  1. Create — agent calls POST /v1/payment-requests → gets a VietQR image URL and a checkout page.
  2. Send — agent embeds the QR image or sends the checkout link to the user in chat.
  3. Await — agent calls await_settlement() (or the MCP tool) to poll until status = settled.
  4. Deliver — only after confirmed settlement does the agent release the goods/service.

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.


Quick start

1. Install
pip install agentpay-vn
2. Get an API key — no account needed

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"}'

-> { "api_key": "ap_test_...", "expires_at": "..." }

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.

3. Collect a payment (3 lines)
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.


MCP server setup

AgentPay ships an MCP server so any MCP-compatible AI agent can call it as a tool — no extra code needed.

Claude Desktop / Claude Code

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" } } } }

Available MCP tools
ToolDescription
register_sandboxSelf-issue a free ap_test_* key — call this first when no key is set
create_payment_requestGenerate a VietQR code for a given amount
check_paymentGet current status of a payment request
await_settlementPoll until payment arrives or timeout (max 600 s)
list_recent_paymentsList last N settled transactions

Agent skill (Claude Code, Cursor, and other agents)

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.


Python SDK

Synchronous
from agentpay.client import AgentPayClient

with AgentPayClient("ap_live_xxx") as client:

Create

pr = client.create_payment_request( amount=150_000, description="Consulting session 30 min", ttl_minutes=30, idempotency_key="session-abc-123", )

Poll manually

import time for _ in range(60): pr = client.get_payment_request(pr["id"]) if pr["status"] != "pending": break time.sleep(5)

Reconcile

txns = client.list_transactions(limit=10)

Asynchronous
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"))

Webhook verification
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


API reference

  • OpenAPI spec: agentpay-openapi.yaml
  • Base URL: https://agentpay.servicesai.vn/v1
  • Authentication: Authorization: Bearer ap_live_xxx (or ap_test_xxx for sandbox)
Key endpoints
MethodPathDescription
POST/v1/payment-requestsCreate payment request
GET/v1/payment-requests/{id}Get status
POST/v1/payment-requests/{id}/cancelCancel pending request
GET/v1/transactionsList settled transactions
POST/v1/webhook-endpointsRegister webhook URL
POST/v1/sandbox/simulate-settlementSimulate payment (sandbox only)
GET/pay/{pay_code}Public checkout page (HTML, mobile-friendly)

Self-hosting

AgentPay runs as part of the Sổ Nợ AI FastAPI backend.

Requirements
  • Docker Swarm cluster (same as Sono)
  • MongoDB (shared with Sono)
  • SePay bank feed account (for live payments)
  • Nginx with an agentpay.servicesai.vn vhost
Environment variables
VariableDefaultDescription
AGENTPAY_BASE_URLhttps://agentpay.servicesai.vnPublic base URL for checkout links
MONGO_URImongodb://localhost:27017Inherited from Sono
BILLING_WEBHOOK_TOKEN—SePay webhook token (inherited)
Create an API key (admin)
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.


Rate limits

TierSettled payments/monthRequests/minute
Free50120

Design principles

  1. No money held — QR codes point directly at the merchant's bank account. AgentPay only reads the transaction feed; it never touches the money.
  1. Idempotency — pass an Idempotency-Key header on POST /payment-requests to safely retry without creating duplicates (24-hour deduplication window).
  1. HMAC webhook verification — every outbound webhook is signed with HMAC-SHA256(whsec_..., raw_body) in the AgentPay-Signature header. Always verify before processing.
  1. Sandbox — use ap_test_* keys and POST /v1/sandbox/simulate-settlement to develop and test without real transactions.
  1. Minimal trust surface — the MCP server is a thin REST client with no local secrets beyond the API key. Compromising an agent key only exposes one tenant's payment-request creation ability.

License

MIT © 2026 ServicesAI — see LICENSE.

Ask PopNx