Bitrefill
resmiShop for gift cards, esims, phone topups. Pay with cards and crypto.
Bitrefill MCP Server (Sample Implementation)
This is a sample / reference implementation. For production use, connect to the official hosted Bitrefill eCommerce MCP at
https://api.bitrefill.com/mcpinstead. It is maintained by Bitrefill, supports OAuth, and exposes the same tools without you having to run, deploy, or update anything.Use this repository if you want to learn how a Bitrefill MCP can be built, fork it, extend it, or self-host a customized variant on top of the Bitrefill API v2.
This server wraps the Bitrefill API v2 (https://api.bitrefill.com/v2) using Authorization: Bearer ${BITREFILL_API_KEY}. Only request parameters are validated with Zod; API responses are returned as JSON text unchanged.
Use the official remote MCP (recommended for production)
The Bitrefill eCommerce MCP is hosted by Bitrefill and is the recommended way to integrate with ChatGPT, Claude Desktop / Code, Cursor, and any other MCP-compatible client.
-
OAuth (recommended). Point your client at:
https://api.bitrefill.com/mcpYou'll be redirected to Bitrefill to sign in and authorize access. No API key handling required.
-
API key. Append your key from bitrefill.com/account/developers:
https://api.bitrefill.com/mcp/YOUR_API_KEY
Setup guides per client: ChatGPT, Claude Desktop, Claude Code, Cursor.
When to use this repo instead
Run this local MCP only if you need to:
- Study a working reference implementation of a Bitrefill MCP server.
- Fork it to add custom tools, prompts, validation, logging, or routing.
- Self-host inside a private network or air-gapped environment.
- Experiment with a wider set of v2 endpoints (this sample exposes 18 tools, while the official remote MCP intentionally exposes a curated set of 7; see eCommerce MCP).
For everyday "buy gift cards / eSIMs from my AI assistant" use cases, prefer the hosted server above.
Configuration
- Create an API key: Bitrefill account → Developers.
- Set in the environment (or
.envfor local runs):
BITREFILL_API_KEY=your_api_key_here
If BITREFILL_API_KEY is missing, no tools are registered (v2 requires authentication even for ping).
Tools (v1.0.0)
| Tool | API |
|---|---|
search-products | GET /products/search (with q) or GET /products (browse) |
product-details | GET /products/{id} |
buy-products | POST /invoices |
get-invoice-by-id | GET /invoices/{id} |
get-order-by-id | GET /orders/{id} |
list-invoices | GET /invoices |
list-orders | GET /orders |
pay-invoice | POST /invoices/{id}/pay |
get-account-balance | GET /accounts/balance |
check-phone-number | GET /check_phone_number |
ping | GET /ping |
list-esim-products | GET /products/esims |
get-esim-product | GET /products/esims/{id} |
create-esim-invoice | POST /esims |
get-esim-invoice | GET /esims/invoice/{id} |
pay-esim-invoice | POST /esims/invoice/{id}/pay |
list-esims | GET /esims |
get-esim | GET /esims/{id} |
Breaking change vs 0.x: old snake_case tool names (search, create_invoice, unseal_order, ...) were removed. Use the names above. There is no unseal_order in v2; GET /orders/{id} returns redemption_info when delivered.
Resources
bitrefill://payment-methods: allowedpayment_methodstrings forbuy-products/create-esim-invoicebitrefill://category-slugs: B2Bcategoryquery values for product list/searchbitrefill://product-types: product family keysbitrefill://product-types/{productType}: category slugs per family
Project layout
src/
index.ts
types/api.ts # Optional TS shapes for API JSON (not validated at runtime)
constants/ # payment_method list, category slugs
handlers/ # resources.ts, tools.ts
schemas/ # Zod: inputs only
services/ # API calls (search, products, invoices, orders, esims, misc)
utils/api/ # base (BitrefillApiError), authenticated (Bearer v2)
Development
pnpm install
pnpm run build
pnpm run typecheck
pnpm run lint
Smoke tests (this repo’s MCP only)
Smoke tests always start this package’s server (node build/index.js after pnpm run build). They do not open https://api.bitrefill.com/mcp or any other remote MCP URL.
Recommended: MCP client in-process (stdio to build/index.js):
pnpm run build
pnpm run smoke
Same as pnpm run test-services (alias).
Optional: MCP Inspector CLI, still only against this server:
pnpm run build
pnpm run smoke:inspector
All 18 tools (Inspector CLI, summary lines, dummy ids on purpose):
pnpm run test:inspector:all-tools
The Inspector uses --tool-arg key=value (repeat for multiple keys), not a single JSON blob. For nested data, use JSON in the value, e.g.
--tool-arg 'products=[{"product_id":"x","value":10}]'.
Interactive UI (local server only):
pnpm run build
pnpm run inspector
Examples:
pnpm dlx @modelcontextprotocol/inspector node build/index.js --cli --method tools/call --tool-name ping
pnpm dlx @modelcontextprotocol/inspector node build/index.js --cli --method tools/call --tool-name product-details --tool-arg id=test-gift-card-code
Client examples (self-hosted sample)
Reminder: for production, prefer the hosted
https://api.bitrefill.com/mcp(OAuth) over the stdio config below.
Cursor / Claude-style MCP config, pass the key in env:
{
"mcpServers": {
"bitrefill": {
"command": "npx",
"args": ["-y", "bitrefill-mcp-server"],
"env": {
"BITREFILL_API_KEY": "your_api_key_here"
}
}
}
}
Docker, e.g. -e BITREFILL_API_KEY=... or --env-file .env.
Hosted remote MCP (no install, recommended):
{
"mcpServers": {
"bitrefill": {
"url": "https://api.bitrefill.com/mcp"
}
}
}
Documentation
- Bitrefill docs (llms index)
- Bitrefill eCommerce MCP (hosted): official remote server, recommended for production
- Setup guides: ChatGPT, Claude, Cursor
License
MIT
İlgili Sunucular
GuruWalk MCP Server
Discover and book free walking tours and activities in 200+ cities worldwide. Search destinations, browse categories, check real-time availability, and get tour details.
Hawaii Conditions MCP
Real-time surf, trails, volcano, ocean safety, weather, and restaurants for all Hawaiian islands — built for AI agents.
trainedby.ai
Connect wearables to ChatGPT, so your AI coach knows you without typing a word
stresszero-mcp
MCP server for burnout risk scoring across 3 dimensions (physical, emotional, effectiveness) via the StressZero Intelligence API. Provides AI agents with burnout analysis, personalized recommendations, and detailed reports for coaches and HR platforms.
Gaggimate MCP
Allows an LLM agent to control your Gaggimate espresso machine
Strider Amazon
MCP server for Amazon shopping - AI agents can search products, check prices, add to cart, and manage shopping lists.
Tapo MCP
MCP server for discovering and controlling TP-Link Tapo smart home devices via AI Agents
Fabric MCP Server
The Fabric MCP server exposes the following MCP tools that allow AI assistants to interact with your Equinix Fabric resources. Each tool corresponds to a specific Fabric API endpoint.
SignalK MCP Server
Provides AI agents with read-only access to SignalK marine data systems, enabling queries of vessel navigation data, AIS targets, and system alarms.
CryptoAPIs MCP Signer
MCP server for local transaction signing across EVM, UTXO, Tron, and XRP blockchains — no API calls required