Thailand Payments MCP — let AI agents accept PromptPay & card payments in Thailand
Use it in 60 seconds
Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):
{
"mcpServers": {
"thailand-payments": {
"type": "http",
"url": "https://mcp-th.wishpool.app/mcp"
}
}
}
Nothing to install. Credentials, when you need them, travel as HTTP headers on each request and are never stored — see the threat model.
Or run it yourself
Would you rather not send production credentials to a server you do not control? Deploy this identical code to your own account and point your agent at your own URL:
git clone https://github.com/junter1989k-ai/thailand-payments-mcp && cd thailand-payments-mcp && npx vercel --prod
MIT-licensed. Self-hosting removes us from the picture entirely, at no cost and with no loss of function.
Live · MCP endpoint:
https://mcp-th.wishpool.app/mcp· Listed on the official MCP Registry asapp.wishpool/thailand-payments-mcp· Part of an 8-country family: Taiwan · Japan · Korea · Indonesia · India · Brazil · Philippines
A remote MCP server that lets any AI agent (Claude, ChatGPT, Cursor…) accept payments in Thailand:
- 📱 PromptPay QR — Thailand's national instant payment rail
- 💳 Credit & debit cards / TrueMoney wallet / internet banking
- 🔍 Payment status check — pull-based, no webhook needed; no confirm step
v0.1 routes through Opn Payments (formerly Omise) Links, a major Thai payment gateway with hosted checkout. The provider registry is built for aggregation.
⚖️ Stateless translation layer: funds always flow buyer → Opn → merchant directly. This server never holds, moves, or stores funds or credentials — no database at all.
Quick start
MCP endpoint: https://mcp-th.wishpool.app/mcp (Streamable HTTP, stateless JSON-RPC)
| Header | Value |
|---|---|
x-omise-secret-key | Your Opn (Omise) secret key. skey_test_... = test mode (no real money, free from dashboard.omise.co); skey_live_... = production. |
Tools
| Tool | What it does |
|---|---|
create_payment_link | Create a THB payment link (baht, min ฿20). Returns hosted payment URL + link_id. |
query_payment_status | Check by link_id: UNPAID / PAID (with last-attempt failure reason). |
Develop
node test/serve.js # local server (http://localhost:3218/mcp)
node test/e2e.js # protocol + validation suite (probes real Opn auth errors)
Zero runtime dependencies; Node ≥ 18. MIT license.