https://github.com/codebruinc/pikasim-mcp
PikaSim MCP Server - Browse, compare, and purchase eSIMs for 190+ countries via AI agents
https://github.com/codebruinc/pikasim-mcp
Last synced: 6 days ago
JSON representation
PikaSim MCP Server - Browse, compare, and purchase eSIMs for 190+ countries via AI agents
- Host: GitHub
- URL: https://github.com/codebruinc/pikasim-mcp
- Owner: codebruinc
- License: mit
- Created: 2026-05-28T00:54:37.000Z (27 days ago)
- Default Branch: main
- Last Pushed: 2026-06-08T04:18:50.000Z (15 days ago)
- Last Synced: 2026-06-08T06:17:13.670Z (15 days ago)
- Size: 1.95 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PikaSim MCP Server
Browse, compare, and purchase eSIMs for 190+ countries via AI agents using the [Model Context Protocol](https://modelcontextprotocol.io).
**Endpoint:** `https://pikasim.com/mcp`
**Transport:** Streamable HTTP (stateless)
**Documentation:** [pikasim.com/mcp-docs](https://pikasim.com/mcp-docs)
## Quick Start
Add to your AI agent's MCP config:
```json
{
"mcpServers": {
"pikasim": {
"type": "streamable-http",
"url": "https://pikasim.com/mcp"
}
}
}
```
No API key needed for browsing. Add an optional `Authorization` header to unlock purchasing tools:
```json
{
"mcpServers": {
"pikasim": {
"type": "streamable-http",
"url": "https://pikasim.com/mcp",
"headers": {
"Authorization": "Bearer pk_live_your_api_key_here"
}
}
}
}
```
Get a free API key at [pikasim.com/reseller](https://pikasim.com/reseller).
## Tools
### Public (no auth required)
| Tool | Description |
|------|-------------|
| `search_esim_packages` | Search by country code, region, or keyword. Returns top 10 matching packages with prices. |
| `get_package_details` | Full details for a package: coverage, data, duration, price, networks, and purchase URL. |
| `check_country_coverage` | All available plans for a country with price ranges and data options. |
| `get_pricing` | Price and accepted payment methods for a specific package. |
### Authenticated (free reseller API key)
| Tool | Description |
|------|-------------|
| `purchase_esim` | Buy an eSIM. Returns ICCID, QR code, and activation details. |
| `check_balance` | Wallet balance and available credit. |
| `get_esim_status` | Live status, data usage, and expiration of a purchased eSIM. |
| `topup_esim` | Add more data to an existing eSIM. |
| `get_topup_options` | Available top-up packages for an eSIM with prices. |
| `list_orders` | Recent order history with status and cost. |
| `create_deposit` | Fund wallet with crypto (BTC, XMR, USDT, 50+ altcoins). |
| `cancel_esim` | Cancel an unused eSIM for a wallet refund. |
## Supported Clients
Works with any MCP client that supports Streamable HTTP transport:
- **Claude Desktop** - Add to `claude_desktop_config.json`
- **Claude Code** - Add to `.mcp.json`
- **Cursor** - Settings > MCP Servers > Add Server
- **Windsurf** - MCP settings
- **Custom agents** - Any client implementing the [Streamable HTTP transport](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http)
## Authentication
Public tools work without any API key. Authenticated tools require a PikaSim reseller API key (`pk_live_...`), which is free to obtain:
1. Sign up at [pikasim.com/reseller](https://pikasim.com/reseller)
2. Get approved (usually same day)
3. Generate your API key from the dashboard
4. Fund your wallet with crypto
When authenticated, public browsing tools also show 10% discounted reseller pricing.
## Examples
### Test with cURL
```bash
# Search Japan eSIM packages
curl -X POST https://pikasim.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_esim_packages",
"arguments": { "country": "JP" }
}
}'
```
### Python
```python
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async def main():
async with streamablehttp_client("https://pikasim.com/mcp") as (
read_stream, write_stream, _
):
async with ClientSession(read_stream, write_stream) as session:
await session.initialize()
result = await session.call_tool(
"search_esim_packages",
arguments={"country": "JP"}
)
print(result.content[0].text)
import asyncio
asyncio.run(main())
```
### Node.js
```javascript
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport }
from "@modelcontextprotocol/sdk/client/streamableHttp.js";
const transport = new StreamableHTTPClientTransport(
new URL("https://pikasim.com/mcp")
);
const client = new Client(
{ name: "my-agent", version: "1.0" },
{ capabilities: {} }
);
await client.connect(transport);
const result = await client.callTool(
"search_esim_packages",
{ country: "JP" }
);
console.log(result.content[0].text);
await client.close();
```
## Rate Limits
| Scope | Limit | Window |
|-------|-------|--------|
| MCP endpoint (per IP) | 60 requests | 1 minute |
| Reseller API (per key) | 60 requests | 1 minute |
| Orders (per key) | 100 orders | 1 day |
## Links
- [MCP Documentation](https://pikasim.com/mcp-docs)
- [REST API Documentation](https://pikasim.com/api-docs-for-ai)
- [OpenAPI Specification](https://pikasim.com/openapi.yaml)
- [Reseller Program](https://pikasim.com/reseller)
- [LLM.txt](https://pikasim.com/llm.txt)
- [Website](https://pikasim.com)
## License
Licensed under the [MIT License](LICENSE).
This repository contains documentation and integration details for the PikaSim MCP server. The server itself is a hosted service at `pikasim.com/mcp`.