A TypeScript-based MCP server that provides access to Bitrefill services, allowing you to search for gift cards, mobile topups, and more. This server implements the Model Context Protocol to expose Bitrefill functionality to AI assistants.
The server operates using the Model Context Protocol (MCP) to communicate with Claude and similar AI assistants. It:
The app server follows this architecture:
src/
├── index.ts # Main entry point
├── constants/ # Static data
│ ├── categories.ts # Product categories
│ └── payment_methods.ts # Payment methods
├── handlers/ # MCP request handlers
│ ├── resources.ts # Resource endpoints
│ └── tools.ts # Tool implementations
├── schemas/ # Data validation schemas
│ ├── detail.ts # Product detail response types
│ ├── invoice.ts # Invoice schemas
│ ├── misc.ts # Miscellaneous schemas
│ ├── order.ts # Order schemas
│ └── search.ts # Search parameters and response types
├── services/ # API services
│ ├── invoices.ts # Invoice service
│ ├── misc.ts # Miscellaneous services
│ ├── orders.ts # Order services
│ ├── products.ts # Product details service
│ └── search.ts # Search functionality
└── utils/ # Utility functions
├── index.ts # Error logging, etc.
└── api/ # API clients
├── authenticated.ts # Authenticated API client
├── base.ts # Base API client
└── public.ts # Public API client
bitrefill://product-types
- List of available product types on Bitrefillbitrefill://categories/{type}
- List of available categories for a specific product type (e.g., bitrefill://categories/gift-cards
)search
- Search for gift cards, esims, mobile topups and more
query
(e.g., 'Amazon', 'Netflix', 'AT&T' or '*' for all)country
, language
, limit
, skip
, category
detail
- Get detailed information about a product
id
(product identifier)categories
- Get the full product type/categories map
create_invoice
- Create a new invoice for purchasing products (requires API key)
products
(array of products to include in the invoice)
product_id
quantity
, value
, package_id
, phone_number
, email
, send_email
, send_sms
payment_method
(one of: "balance", "bitcoin", "lightning")webhook_url
, auto_pay
get_invoices
- Retrieve a list of invoices with optional filtering
start
, limit
, after
, before
get_invoice
- Retrieve details for a specific invoice by ID
id
(invoice identifier)pay_invoice
- Pay an unpaid invoice (only works with 'balance' payment method)
id
(invoice identifier)get_orders
- Retrieve a list of orders with optional filtering
start
, limit
, after
, before
get_order
- Retrieve details for a specific order by ID
id
(order identifier)unseal_order
- Reveal codes and PINs for a specific order by ID
id
(order identifier)get_account_balance
- Retrieve your account balance
ping
- Check if the Bitrefill API is available
To use the all the tools that rely on the Bitrefill API except for search
, categories
and detail
, you need to set up Bitrefill API credentials:
.env
file in the root directory (you can copy from .env.example
)BITREFILL_API_SECRET=your_api_key_here
BITREFILL_API_ID=your_api_id_here
The create_invoice
tool will only be available if the API credentials are set. If the API credentials are not set, the tool will not be registered and won't appear in the list of available tools.
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.
To install Bitrefill for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @bitrefill/bitrefill-mcp-server --client claude
Add the server config at:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"bitrefill": {
"command": "npx",
"args": ["-y", "bitrefill-mcp-server"],
"env": {
"BITREFILL_API_SECRET": "your_api_key_here",
"BITREFILL_API_ID": "your_api_id_here"
}
}
}
}
{
"mcpServers": {
"github.com/bitrefill/bitrefill-mcp-server": {
"command": "npx",
"args": ["-y", "bitrefill-mcp-server"],
"disabled": false,
"autoApprove": ["search", "detail", "categories"],
"env": {
"BITREFILL_API_ID": "your_api_id_here",
"BITREFILL_API_SECRET": "your_api_key_here"
}
}
}
}
Additional Cline configuration options:
disabled
: Set to false
to enable the serverautoApprove
: List of tools that don't require explicit approval for each usenpx -y bitrefill-mcp-server
create_invoice
tool, add environment variables:
You can also run the server using Docker. First, build the image:
docker build -t bitrefill-mcp-server .
Then run the container:
docker run -e BITREFILL_API_SECRET=your_api_key_here -e BITREFILL_API_ID=your_api_id_here bitrefill-mcp-server
For development, you might want to mount your source code as a volume:
docker run -v $(pwd):/app --env-file .env bitrefill-mcp-server
Seamless access to top MCP servers powering the future of AI integration.