OrcaRail MCP
OfficialThis MCP server lets AI agents manage crypto payments, subscriptions, product catalog, and exchange rates via OrcaRail.
Payment Intents: Create with a price ID or custom amount/currency/token/network, retrieve, update, confirm, complete, cancel; supports metadata, expiry, payment methods, withdrawal addresses, and descriptions.
Subscriptions: Create with a price ID or custom interval/amount/currency/token/network, with trial, billing cycle anchors, payer details, and cancellation settings; retrieve, update (including pausing collection), cancel (immediate with optional feedback), resume, list with filters and cursor pagination, and list payment links (cycle invoices).
Product Catalog: Create, list, update, and delete products with names, descriptions, metadata, default prices, and marketing features; manage prices: create one-time or recurring prices with currency, token/network, product linkage, recurring intervals, and lookup keys; update, deactivate, and list prices.
Exchange Rates (Public): Get a fiat-to-USDC quote for any amount in a supported currency and list supported fiat currencies.
Hosted Pay (Public): Retrieve payment details by pay slug and cancel a payment intent by slug.
Credentials & Config: Public tools work without credentials; private tools (payment intents, subscriptions, catalog) require API key and secret via environment variables or flags. Can restrict tools via
--toolsand target a custom API base URL.
Enables creating and managing crypto payment intents on the Polygon network via OrcaRail, supporting USDC payments and subscription billing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OrcaRail MCPCreate a $25 USDC payment intent on Polygon and give me the pay link."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@orcarail/mcp
Official Model Context Protocol (MCP) server for OrcaRail — accept crypto payments from your AI coding agent.
Runs locally over stdio and wraps the @orcarail/node SDK, so Claude Code, Cursor, Codex, and any other MCP client can create payment intents, manage subscriptions, maintain your product catalog, and look up exchange rates — the same delivery model as Stripe's @stripe/mcp.
Dashboard: app.orcarail.com
npm:
@orcarail/mcp
What you can ask your agent
"Create a $25 USDC payment intent on Polygon with return URL
https://myapp.com/successand give me the pay link.""List my active subscriptions and cancel the one for
customer@example.comat period end.""Create a product called Pro Plan with a $29/month recurring price."
"How much is 500 EUR in USDC right now?"
Related MCP server: Safefy MCP
Requirements
Node.js 18+
For private tools (payment intents, subscriptions, catalog): an OrcaRail API key (
ak_…) and secret (sk_…) from the dashboardPublic tools (
rates.*,pay.*) work with no credentials
Quick start
Public rates/pay tools need no credentials:
npx -y @orcarail/mcp --tools=allFor private tools, set environment variables (preferred — keeps secrets out of shell history):
export ORCARAIL_API_KEY=ak_live_xxx
export ORCARAIL_API_SECRET=sk_live_xxx
npx -y @orcarail/mcp --tools=allOr pass flags:
npx -y @orcarail/mcp --tools=all --api-key=ak_live_xxx --api-secret=sk_live_xxxThe server speaks MCP over stdin/stdout; it is meant to be launched by an MCP client, not used interactively. npx -y @orcarail/mcp --help prints usage.
Configuration
Every option is a CLI flag or an environment variable. Flags win. Prefer env for secrets.
Flag | Environment variable | Required | Description |
|
| For private tools | API key ( |
|
| For private tools | API secret ( |
|
| No | API base URL. Default |
|
| No | Default organization for |
| — | No |
|
Restrict what the agent can do:
npx -y @orcarail/mcp \
--tools=payment_intents.create,payment_intents.retrieve,subscriptions.list \
--api-key=... --api-secret=...Self-hosted or local API:
npx -y @orcarail/mcp --tools=all --api-base=http://127.0.0.1:3000/api/v1 --api-key=... --api-secret=...Client setup
Claude Code
claude mcp add orcarail -- npx -y @orcarail/mcp --tools=all --api-key=ak_live_xxx --api-secret=sk_live_xxxOr pass secrets via env:
claude mcp add orcarail \
-e ORCARAIL_API_KEY=ak_live_xxx \
-e ORCARAIL_API_SECRET=sk_live_xxx \
-- npx -y @orcarail/mcp --tools=allVerify with claude mcp list.
Cursor
Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"orcarail": {
"command": "npx",
"args": ["-y", "@orcarail/mcp", "--tools=all"],
"env": {
"ORCARAIL_API_KEY": "ak_live_xxx",
"ORCARAIL_API_SECRET": "sk_live_xxx"
}
}
}
}Codex
Add to ~/.codex/config.toml:
[mcp_servers.orcarail]
command = "npx"
args = ["-y", "@orcarail/mcp", "--tools=all"]
[mcp_servers.orcarail.env]
ORCARAIL_API_KEY = "ak_live_xxx"
ORCARAIL_API_SECRET = "sk_live_xxx"Other MCP clients
Any stdio-capable MCP client works with the same shape: command npx, args ["-y", "@orcarail/mcp", "--tools=all"], credentials in env. For Claude Desktop, use the Cursor JSON block in claude_desktop_config.json.
Tool reference
Tool names follow resource.action. Responses are raw OrcaRail API objects as JSON.
Payment intents
Tool | Arguments | Description |
|
| Create a payment intent (returns |
|
| Fetch current status |
|
| Update before confirmation |
|
| Confirm and get the hosted pay redirect URL |
|
| Mark processing after the customer hits your success URL |
|
| Cancel the intent |
tokenId / networkId are UUIDs — see Networks and Tokens.
Subscriptions
Tool | Arguments | Description |
|
| Create a recurring subscription |
|
| Fetch a subscription |
|
| Update |
|
| Cancel |
|
| Resume a paused subscription |
| Optional | List with cursor pagination |
|
| Cycle invoices for a subscription |
Catalog — products and prices
Catalog tools operate on an organization: pass organization_id per call or set a default via --organization-id / ORCARAIL_ORGANIZATION_ID.
Tool | Arguments | Description |
| optional | List products |
|
| Create a product |
|
| Update a product |
|
| Delete a product |
| optional | List prices |
|
| Create a one-time or recurring price |
|
| Update a price |
|
| Deactivate a price |
Rates and pay (public — no credentials required)
Tool | Arguments | Description |
|
| Fiat → USD/USDC quote |
| optional | Supported fiat currencies |
|
| Payment details by hosted pay slug |
|
| Cancel by pay slug |
Error handling
API failures surface to the agent as tool errors with the HTTP status, error type, and message intact, e.g. API error (401): [authentication_error]: …. Nothing is retried automatically.
Calling a private tool without credentials returns a clear tool error telling you to set ORCARAIL_API_KEY and ORCARAIL_API_SECRET (or the matching flags).
Programmatic usage
The package also exports its building blocks if you want to embed the server:
import { createServer, startStdioServer, listToolNames } from '@orcarail/mcp';
const { server, tools } = createServer({
// Optional — omit for public rates/pay only
apiKey: process.env.ORCARAIL_API_KEY,
apiSecret: process.env.ORCARAIL_API_SECRET,
tools: 'all', // or new Set(['payment_intents.create'])
});
console.log(listToolNames()); // all 25 tool names
await startStdioServer(server);Security
API keys grant full access to the linked organization — treat MCP config files like
.envfiles.Prefer environment variables over inline
--api-key=…args.Never commit live keys; keep project-level
.cursor/mcp.jsonwith secrets out of git.Scope with
--toolsto only the operations your agent needs.Use test keys during development; rotate leaked keys in the dashboard.
Troubleshooting
Symptom | Fix |
| Set |
| Verify the key/secret pair; don't mix test and live credentials |
| Pass |
Tool missing from the client | Check the |
Client can't start the server | Ensure Node.js 18+ on the client's PATH; try |
Development
npm install
npm run build # tsup → dist/
npm test # vitest
npm run typecheck # tsc --noEmit
npm run lint # eslintTest against a local MCP inspector:
npx @modelcontextprotocol/inspector node dist/cli.cjs --tools=all --api-key=ak_test_xxx --api-secret=sk_test_xxxRelated
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to accept Bitcoin Lightning payments. It allows agents to create orders, generate invoices, check payment status, and manage the full SatsRail merchant API through natural language.MIT
Safefy MCPofficial
AlicenseBqualityDmaintenanceOfficial MCP server for Safefy, enabling AI agents to manage PIX payments, withdrawals, customers, and transactions via the Safefy payment API.2910MIT
zuckpay-mcpofficial
AlicenseAqualityAmaintenanceOfficial MCP server for ZuckPay – create PIX, SPEI, and PayPal charges, and query transactions from your AI assistant.2025MIT- AlicenseAqualityBmaintenanceOfficial MCP server for NanoCart, enabling AI agents to manage products, orders, coupons, categories, subscribers, settings, and pull sales reports from your store.31244MIT
Related MCP Connectors
Official MCP server for Lovable, the AI-powered full-stack app builder.
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OrcaRail/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server