Overview
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely access external tools and data sources. The Infinite MCP Server provides:- API Log Access: Query your recent API requests and errors
- Request Debugging: Look up specific requests by ID
- API Exploration: Make read-only API calls to explore your data
- Documentation Search: Natural-language search over these docs and the API reference (with snippets), plus full page reads and endpoint schemas
- Agent onboarding: Create a business customer, start hosted verification, poll status, and ensure a balance account
- Payments: With an agent key, draft and submit payments within the agent’s limits
Getting Started
Endpoint
Sign-in clients use Streamable HTTP:Authentication
Sign in with your Infinite account, or send an API key. Sign in. Add the server URL with no API key. Your assistant opens Auth Kit sign-in for the organization tied to your login. That session acts as you for that organization. It uses the production environment. Sandbox access stays on an API key. Agent payment tools stay on an agent key. Do not sign in as a member of the shared Infinite Connect platform org (org_connect) in a personal client — that membership is org-wide on the API, not customer-scoped.
API key. Include it as a Bearer token:
sk_live_*→ Production environmentsk_sandbox_*→ Sandbox environment
org_connect (slug=connect). In a correctly scoped operator session, get_organization_info reports org_connect. End users: net-new Connect is operator-assisted today — do not join the shared org_connect org in Auth Kit, do not paste the shared Connect platform org API key into personal MCP clients, and do not use MCP sign-in while a member of org_connect. Auth Kit tokens for that org are accepted on public /v1 routes with org-wide permissions; MCP bind_session_customer only scopes bot tools, not direct REST. Integrators with an existing org: use your BYO org API key. Trusted Infinite-operated hosts only: platform org API key or operator-run MCP for net-new Connect (demos and hosted integrations). Platform MCP sessions still require binding a customer before customer-scoped tools.
Do not use org_infinite for new Connect onboarding. Customers already on org_infinite remain on that org unchanged.
Never paste an unconstrained live organization key into a shared chat. Prefer sandbox keys for demos.
Configuring Your AI Assistant
Sign in. Point the client athttps://bot.api.infinite.dev/mcp and omit the key. The assistant opens Auth Kit sign-in for your organization (not the shared org_connect platform org unless you are an Infinite operator on a trusted host).
API key. Put the key in the Authorization header. Use the host’s native header support where it exists; otherwise bridge with mcp-remote and pass the key with --header. Setting only an environment variable does not send the key.
The API-key commands below read the key from INFINITE_API_KEY so it doesn’t end up in your shell history. Export it first (export INFINITE_API_KEY=sk_sandbox_…).
Claude Code
Sign in:/mcp to confirm infinite is connected.
Cursor
Sign in (no API key) in~/.cursor/mcp.json (or .cursor/mcp.json in a project):
Codex
${AUTH} is single-quoted on purpose: your shell leaves it alone, and mcp-remote substitutes it from the AUTH variable Codex passes to the bridge.
Claude Desktop
Add the following to your Claude Desktop configuration file: macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Other MCP Clients
Point a Streamable HTTP client athttps://bot.api.infinite.dev/mcp and sign in, or configure an SSE transport to https://bot.api.infinite.dev/mcp/sse with Authorization: Bearer <key>.
Verify the connection
Ask the assistant: “What organization am I connected to?” It should callget_organization_info. Only a successful call proves the tools are usable — if they don’t appear, reload the host’s MCP tools or restart it, then try again.
To operate as an agent alongside your organization, add a second server (for example infinite-agent) with the agent key.
Docs-only MCP
To search these docs without an Infinite key, connecthttps://docs.infinite.dev/mcp. It’s read-only and moves no money.
Available Tools
Every code example in these docs has an MCP tab: the prompt to give an assistant connected to this server. Read prompts and dedicated onboarding tools (create_business_customer, start_verification, …) run on MCP. Generic api_request remains GET-only. Payments run on MCP when the session uses an agent key (see Paying with an agent key); with an organization key use the CLI/REST tabs to pay.
get_my_api_errors
Get recent API errors for your organization. Parameters:hours(optional): Hours to look back (default: 24, max: 72)path_pattern(optional): Filter by path patternlimit(optional): Max results (default: 20, max: 50)
“Show me API errors from the last 6 hours”
get_my_api_logs
Get recent API request logs for debugging. Parameters:hours(optional): Hours to look back (default: 24, max: 72)path_pattern(optional): Filter by path patternmethod(optional): Filter by HTTP method (GET, POST, etc.)status_code(optional): Filter by status codelimit(optional): Max results (default: 20, max: 100)
“Show me all POST requests to /v1/customers/individuals in the last hour”
get_request_by_id
Look up a specific API request by request ID. Parameters:request_id(required): The request ID to look up
“Look up request req_abc123xyz”
search_docs
Search this documentation site and the API reference. Pass the question in natural language — not just keywords. Results include a short snippet so the assistant can answer before opening the full page. Parameters:query(required): The user question or topic (e.g. “How do I fund an Infinite wallet in sandbox?”)
“Deposit instructions are the same for every onramp and there is no memo — how do I tell deposits apart?“
read_doc
Read a documentation page in full. Parameters:page(required): Page slug, as returned bysearch_docs(e.g.,guides/webhooks)
“Read the idempotency guide”
get_endpoint_schema
Get the request and response schema for an API endpoint, including required fields. Parameters:method(required): HTTP method (e.g., “POST”)path(required): API path (e.g., “/v1/customers”)
“What fields are required to create a business customer?“
api_request
Make a read-only GET request to the Infinite API. Parameters:path(required): API path (e.g., “/v1/customers”)query_params(optional): Query parameters as key-value pairs
“List all my customers with status ACTIVE”
Paying with an agent key
Connect with an agent key (sk_live_agent_… / sk_sandbox_agent_…, issued from Agents) instead of an organization key. The session is pinned to the agent’s customer and funding account, and these tools replace the onboarding tools:
Amounts are decimal strings in the agent’s limit currency (
"40.00"); the server converts to minor units. Every guardrail — customer, funding account, payee allowlist, per-transfer / daily / monthly caps — is enforced by the API, not by the assistant.
Example prompt:
“Pay $40 to Acme Supplies for the June invoice.”The assistant calls
list_payees, then create_transfer (draft), shows you “Send $40.00 from vba_… to Acme Supplies via ACH”, and on your yes calls submit_transfer. If the daily cap is hit it reports the denial and the remaining headroom instead of retrying blindly.
get_organization_info
Get information about your authenticated organization. Example prompt:“What organization am I connected to?”
Agent onboarding tools
Dedicated tools (session API key, not open POST):
Draft and submit payments on MCP with an agent key. Organization-key sessions can discover quotes, create payee/transfer drafts (no settle), and read transfer status after the customer is bound.
Example prompt:
“Onboard Acme Corp (acme@example.com, US), request USD_BALANCE, upload the formation docs I have, and tell me when we’re ACTIVE with a balance account.”
Example Conversations
Debugging API Errors
You: “I’m getting 400 errors when creating customers. Can you help me debug?” AI: Uses get_my_api_errors to find recent 400 errors, then uses get_endpoint_schema for POST /v1/customers/individuals and explains which required fields are missing.Exploring Your Data
You: “Show me my recent transfers and their statuses” AI: Uses api_request to call GET /v1/transfers and summarizes the results.Understanding the API
You: “How do I verify that a webhook actually came from you?” AI: Uses search_docs to find the webhooks guide, reads it with read_doc, and walks through signature verification.Rate Limits
The MCP server enforces rate limits per organization:- 60 requests per minute per organization
- Rate limit headers are included in responses
Security
- Scoped to your organization: You can only access data belonging to your organization
- API key validation: Keys are validated on every request
- No sensitive data exposure: API keys and secrets are never returned in responses
api_requestis GET-only: omitted entirely for platform Connect orgs (along with org-wide log tools); onboarding writes go through dedicated agent tools- Customer bind: platform sessions and immutable
X-Infinite-On-Behalf-Of(trusted host only) pin tools to onecus_; platform bind allows header pin, customers created in that MCP session, or a signedcontinuationTokenfromcreate_business_customer— knowing acus_id is not enough on a shared platform key create_business_customer: pass a secret UUIDoperationId(crypto.randomUUID()); reuse after reconnect to recover the same customer +continuationToken- Sandbox tools are sandbox-only:
sandbox_*tools are registered only forsk_sandbox_sessions and act only on the bound customer’s accounts and transfers - Rate limits: platform traffic is limited per SSE session (60/min) with a larger org ceiling (300/min)
- Hosted KYB: prefer for humans — do not collect identity documents in chat when a verification URL is available; verification status tools return projected progress, not full form schemas. MCP
upload_document/upload_rfi_documentare allowed when the host supplies files for RFI fulfillment or API KYB substitute (10MB decoded cap). - Payments need an agent key: organization-key sessions can’t move money; agent-key sessions are limited by the agent’s customer, funding account, payee allowlist, and spend limits, all enforced by the API
Troubleshooting
”Invalid API key” error
Ensure your API key:- Starts with
sk_sandbox_orsk_live_(agent keys:sk_sandbox_agent_/sk_live_agent_) - Is sent in the
Authorizationheader asBearer <key>— withmcp-remote, pass it via--header, not only an environment variable - Has not been revoked (a revoked agent’s key stops working immediately)
“Rate limit exceeded” error
Wait a minute before making more requests. Consider batching your queries.Connection issues
Verify:- Your network can reach
https://bot.api.infinite.dev/mcp/sse - Your MCP client is correctly configured
- The Authorization header is being sent
Need Help?
- Check the API Reference for endpoint details
- Contact support@infinite.dev for assistance