app.wishpool/taiwan-payments-mcp
README.md
<!-- mcp-name: app.wishpool/taiwan-payments-mcp -->
> ### Part of **AgentPay** — the control layer for AI agents that sell, invoice and ship
> An AI agent can write the code to sell something. It cannot, on its own, collect money in Indonesia, file a legally valid invoice with the Polish tax authority, and put a parcel on a truck in Japan.
>
> | Family | Coverage | Entry point |
> |---|---|---|
> | 💳 Payments | **81 countries** · local rails · refunds in 70 · subscriptions in 49 | [mcp.wishpool.app](https://mcp.wishpool.app) |
> | 🧾 E-invoices | **31 national tax rails** — Poland KSeF, Korea NTS, Saudi ZATCA, Uruguay DGI, Mexico CFDI… | [inv.wishpool.app](https://inv.wishpool.app) |
> | 📦 Logistics | **19 countries** · real labels and consignment notes | [logi.wishpool.app](https://logi.wishpool.app) |
> | 🌐 Merchant of Record | **8 platforms** · sell software worldwide, sales tax handled | [mor.wishpool.app](https://mor.wishpool.app) |
>
> **Stateless by construction:** there is no database. Your keys live in a request header for the length of one call. On rails that require signing (Saudi ZATCA, Korea NTS, Uruguay DGI), *you sign and we relay* — the private key never leaves your side. MIT-licensed, so you can [run the identical code yourself](https://mcp.wishpool.app/trust) and remove us from the picture entirely.
# Taiwan Payments MCP — 讓 AI agent 在台灣收款與開電子發票
<!-- install-cta -->
## Use it in 60 seconds
Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):
```json
{
"mcpServers": {
"taiwan-payments": {
"type": "http",
"url": "https://mcp.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](https://mcp.wishpool.app/trust).
### 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:
[](https://vercel.com/new/clone?repository-url=https://github.com/junter1989k-ai/taiwan-payments-mcp)
```bash
git clone https://github.com/junter1989k-ai/taiwan-payments-mcp && cd taiwan-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.wishpool.app/mcp` · Listed on the [official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=wishpool) as `app.wishpool/taiwan-payments-mcp` · Sister servers: [Japan](https://github.com/junter1989k-ai/japan-payments-mcp) · [Korea](https://github.com/junter1989k-ai/korea-payments-mcp) · [Indonesia](https://github.com/junter1989k-ai/indonesia-payments-mcp) · [India](https://github.com/junter1989k-ai/india-payments-mcp)
**English below.**
一個 remote **MCP server**,讓任何 AI agent(Claude、ChatGPT、Cursor…)能在台灣:
- 🔗 **建立付款連結**(信用卡/ATM/超商/行動支付)— **聚合多家金流**:綠界 ECPay(預設,台灣最大)與藍新 NewebPay,同一個工具用 `provider` 切換
- 🔍 **查詢付款狀態**
- 🧾 **開立台灣電子發票**(B2C,個人載具/公司統編/捐贈)
- ↩️ **作廢電子發票**
**零設定即可試用**:不帶任何憑證時,所有工具自動跑綠界官方公開測試環境(sandbox),不會有真實金流。要正式使用,把你自己的綠界特店憑證用 HTTP headers 帶進來即可。
> ⚖️ **本服務是純軟體翻譯層**:金流永遠是「買家 → 綠界 → 商家」直接流動,本伺服器**不經手、不儲存**任何款項與憑證。
## 為什麼需要它
台灣的金流與財政部電子發票系統,全是為「人用瀏覽器點按鈕」設計的——AI agent 沒有辦法直接呼叫。這個 MCP server 把那層網頁操作翻譯成 agent 能呼叫的工具,補上「AI 想在台灣付款卻無 API 可用」的缺口。
## 快速開始
MCP endpoint:`https://mcp.wishpool.app/mcp`(Streamable HTTP, stateless JSON-RPC)
在支援 remote MCP 的 client(Claude Desktop / Claude Code / Cursor…)加入這個 server URL 即可。工具會立刻以 demo 模式可用。
### 正式使用(帶自己的綠界憑證,每次請求以 headers 傳入)
| 用途 | Headers |
|---|---|
| 金流(綠界 ECPay) | `x-ecpay-merchant-id`, `x-ecpay-hash-key`, `x-ecpay-hash-iv`(環境:`x-ecpay-mode: production`) |
| 金流(藍新 NewebPay) | `x-newebpay-merchant-id`, `x-newebpay-hash-key`, `x-newebpay-hash-iv`(環境:`x-newebpay-mode: production`) |
| 電子發票(綠界) | `x-einvoice-merchant-id`, `x-einvoice-hash-key`, `x-einvoice-hash-iv` |
> 綠界有官方公開沙箱,故 demo 模式免憑證即可試;**藍新無公開沙箱**,須自備測試特店憑證(`ccore.newebpay.com` 免費申請)。`create_payment_link` 未指定 `provider` 時,會依你帶入的憑證 headers 自動選金流,預設綠界。
## 工具
| Tool | 說明 |
|---|---|
| `create_payment_link` | 建立台灣付款連結,回傳買家開啟即可付款的 URL |
| `query_payment_status` | 查詢某筆訂單是否已付款(直接查綠界 QueryTradeInfo) |
| `issue_einvoice` | 開立台灣 B2C 電子發票 |
| `invalid_einvoice` | 作廢已開立的電子發票 |
## 開發
```bash
node test/serve.js # 本地跑起 server(http://localhost:3210/mcp)
node test/e2e.js # 端到端測試(含真打綠界 stage 發票 API)
```
零 runtime 相依套件;Node ≥ 18。
---
## English
A remote **MCP server** that lets any AI agent accept payments and issue government e-invoices in **Taiwan**. Payments **aggregate multiple Taiwan gateways** behind one tool — ECPay (綠界, default & largest) and NewebPay (藍新金流) — selected via the `provider` field.
- **create_payment_link** — TWD payment link (credit card / ATM / convenience store / mobile pay), ECPay or NewebPay
- **query_payment_status** — check if an order is paid
- **issue_einvoice** — issue a Taiwan B2C government e-invoice (電子發票)
- **invalid_einvoice** — void an issued invoice
**Zero-setup demo:** with no credential headers, every tool runs against ECPay's official public sandbox — safe to try immediately. Pass your own merchant credentials via HTTP headers for real use (ECPay `x-ecpay-*`, NewebPay `x-newebpay-*`). NewebPay has no public sandbox, so it requires your own test-merchant credentials.
This is a **stateless translation layer**: funds always flow buyer → ECPay → merchant directly and are never held or stored here.
Endpoint: `https://mcp.wishpool.app/mcp` · MIT License · zero dependencies.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing