API reference

JSON-RPC protocol, authentication, rate limits, and error codes.

Base URL

https://mcp.excelplusplus.uncomfortablebudget.com

Authentication

Every request must include your API key:

Authorization: Bearer epp_your_api_key_here

JSON-RPC protocol

Excel++ MCP implements MCP over JSON-RPC 2.0. All requests are HTTP POST to /mcp.

List available tools

{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "id": 1
}

Call a tool

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "create_workbook",
    "arguments": {}
  },
  "id": 2
}

Response format

{
  "jsonrpc": "2.0",
  "result": {
    "content": [{"type": "text", "text": "..."}],
    "isError": false
  },
  "id": 2
}

Rate limits

Rate limit headers are included in every response:

X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9847

Exceeding your limit returns 429 Too Many Requests.

Error codes

SessionNotFound — Session ID does not exist
SessionLimitReached — Max concurrent sessions exceeded
WorkbookNotFound — Workbook ID does not exist
SheetNotFound — Sheet name not found in workbook
InvalidRange — Cell range format is invalid
InvalidFormula — Formula syntax error
FileNotFound — File path does not exist
FileTooLarge — File exceeds size limit
PathTraversal — Path traversal attempt detected
LicenseError — EPPlus license error
Locked — Resource is locked
InternalError — Unexpected server error

Health check

GET /health
# Returns: {"status": "healthy"}

Billing webhook

Configure your payment processor webhook to point to:

POST /billing/webhook

Events handled: customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.payment_failed.