zen-mcp
MCP server for ZEN.com Payment Gateway enabling payment links, transaction lookup, refunds, payouts, and reporting.
README
ZEN MCP
An MCP server that lets AI assistants work with the ZEN.com Payment Gateway: hosted payment links, transaction lookup, refunds, payouts, and reporting.
Unofficial. This project is not affiliated with, endorsed by, or maintained by ZEN.com.
What it does
Read-only tools:
- List terminal payment methods and documented currencies.
- Look up transactions, payment links, and payouts.
- List payment links and request reconciliation reports.
- Verify IPN webhook signatures locally.
Write tools:
- Create hosted payment links and QR codes without handling card data.
- Capture or cancel transactions and issue full or partial refunds.
- Create payouts and customer records.
Disclaimer
This integration was built from public ZEN documentation without access to a live merchant account. Endpoint versions, request fields, response fields, signing details, and webhook behavior must be checked against ZEN's current OpenAPI or Postman collection before production use. Mock mode is included for evaluation without an account.
Install
Add the published package to Claude Code:
claude mcp add zen --env ZEN_API_KEY=your_terminal_api_key -- npx -y @krystiangw/zen-mcp
For Claude Desktop, add this entry to its MCP configuration:
{
"mcpServers": {
"zen": {
"command": "npx",
"args": ["-y", "@krystiangw/zen-mcp"],
"env": {
"ZEN_API_KEY": "your_terminal_api_key",
"ZEN_PAYWALL_SECRET": "your_paywall_secret",
"ZEN_IPN_SECRET": "your_ipn_secret",
"ZEN_ENV": "sandbox"
}
}
}
}
Configuration
| Variable | Required | Description |
|---|---|---|
ZEN_API_KEY |
Outside mock mode | Terminal API Key sent in Authorization without a Bearer prefix |
ZEN_PAYWALL_SECRET |
Write operations | Checkout/paywall secret used to sign request bodies |
ZEN_IPN_SECRET |
Webhook verification | IPN secret used only by verify_webhook_signature |
ZEN_ENV |
No | sandbox (default) or production |
ZEN_BASE_URL |
No | API base URL override; takes priority over ZEN_ENV |
ZEN_MOCK |
No | 1 or true enables deterministic offline responses |
ZEN_HASH_ALG |
No | sha224, sha256 (default), sha384, or sha512 |
In the ZEN merchant panel, go to my.zen.com → Shop settings → Terminal to find the Terminal API Key. Use sandbox first; the default API host is api.zen-test.com, although sandbox availability and onboarding requirements should be confirmed with ZEN.
No merchant account yet? You can open a ZEN business account. That is a referral link: it credits the author of this project if you sign up through it, and costs you nothing. Every other link in this README is a plain one.
Tools
| Name | Type | Description |
|---|---|---|
list_payment_methods |
Read | List payment methods for the terminal |
get_transaction |
Read | Get a transaction by ZEN or merchant ID |
list_payment_links |
Read | List hosted payment links |
get_payment_link |
Read | Get one hosted payment link |
get_payout |
Read | Get a payout by ZEN ID |
download_report |
Read | Request a report download |
list_supported_currencies |
Read | List documented supported currencies |
verify_webhook_signature |
Read | Verify a ZEN IPN signature locally |
create_payment_link |
Write | Create a hosted checkout link and QR code |
refund_transaction |
Write, destructive | Issue a full or partial refund |
capture_transaction |
Write, destructive | Capture an authorized transaction |
cancel_transaction |
Write, destructive | Cancel a transaction |
create_payout |
Write, destructive | Send an outbound payout |
create_customer |
Write | Create a customer record |
Security
- Tools are read-only by default; operations that move or reverse money are marked destructive for MCP clients.
- Secrets are read only from environment variables and are never tool arguments.
- Payment acceptance uses ZEN-hosted links, so this server does not collect or transmit card numbers.
- The signing algorithm follows public ZEN documentation, but nested-object and array flattening are not fully specified publicly. Verify it against the live API.
- Verify every IPN webhook signature with
ZEN_IPN_SECRETbefore trusting its contents. - Use least-privilege terminal credentials and keep human confirmation enabled for write tools.
Demo without an account
Run the server with deterministic canned API responses:
ZEN_MOCK=1 ZEN_IPN_SECRET=demo npx -y @krystiangw/zen-mcp
verify_webhook_signature does real cryptography instead of calling the API, so it needs a secret even in mock mode. Any value works for a demo.
From a development checkout:
npm install
npm run build
ZEN_MOCK=1 ZEN_IPN_SECRET=demo npm run inspect
Development
Requires Node.js 18 or newer.
npm install
npm run typecheck
npm run build
npm test
ZEN_MOCK=1 ZEN_IPN_SECRET=demo npm run inspect
Roadmap
- Raw card charges only after a deliberate PCI/security design; they are excluded from the MVP.
- Recurring and one-click payments after the tokenization flow is verified.
- Consumer ZEN features such as cashback and personal cards if ZEN publishes a supported API.
- Remote Streamable HTTP transport and OAuth after the stdio MVP.
License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。