Bahrain Payments MCP — let AI agents accept payments in Bahrain
Use it in 60 seconds
Paste this into your MCP client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent):
{
"mcpServers": {
"bahrain-payments": {
"type": "http",
"url": "https://mcp-bh.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/bahrain-payments-mcp && cd bahrain-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-bh.wishpool.app/mcp· Listed on the official MCP Registry asapp.wishpool/bahrain-payments-mcp· Part of a 71-country family — hub: mcp.wishpool.app
A remote MCP server that lets any AI agent (Claude, ChatGPT, Cursor…) accept payments in Bahrain: Benefit (the Bahraini debit network), cards, Apple Pay — whatever is enabled on the Tap account — via Tap Payments's hosted checkout.
⚖️ Stateless translation layer: funds always flow buyer → Tap Payments → merchant directly. Never holds funds or stores credentials — no database at all.
Quick start
MCP endpoint: https://mcp-bh.wishpool.app/mcp (Streamable HTTP, stateless JSON-RPC)
| Header | Value |
|---|---|
x-tap-secret-key | your Tap Payments secret key (free sk_test_ keys from businesses.tap.company; sk_live_ keys are production) |
Tools
| Tool | What it does |
|---|---|
create_payment_link | Create a BHD hosted-checkout link. |
query_payment_status | Pull-based status check; paid=true when PAID. |
Develop
node test/serve.js # local server (http://localhost:3272/mcp)
node test/e2e.js # protocol + validation suite (probes real Tap Payments auth errors)
Zero runtime dependencies; Node ≥ 18. MIT license.