smilingleo/zuora-api-mcp
If you are the rightful owner of zuora-api-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
This is a JavaScript implementation of the Zuora API MCP Server, designed to facilitate the calling of Zuora public APIs.
Zuora API MCP Server
A JavaScript implementation of the Zuora API MCP Server, which can help you call Zuora public APIs.
⚠️ Disclaimer
This is NOT an official Zuora MCP server. This is a personal project and is not affiliated with, endorsed by, or officially supported by Zuora, Inc. Use at your own discretion and risk.
Features
- Dynamic OpenAPI spec parsing and tool generation
- OAuth 2.0 authentication with automatic token management
- JSON response summarization for large payloads
- File download capabilities
Configuration
{
"mcpServers": {
"zuora-api-mcp": {
"description": "Zuora API MCP Server",
"command": "npx",
"args": ["-y", "zuora-api-mcp"],
"env": {
"ZUORA_CLIENT_ID": "your_client_id_here",
"ZUORA_CLIENT_SECRET": "your_client_secret_here",
"ZUORA_BASE_URL": "https://rest.test.zuora.com"
}
}
}
}
For Claude Code, you can do:
claude mcp add zuora-api-mcp -e ZUORA_CLIENT_ID=your_client_id ZUORA_CLIENT_SECRET=your_client_secret ZUORA_BASE_URL=https://rest.apisandbox.zuora.com -- npx -y zuora-api-mcp
Troubleshooting
You can specify a log file by export ZUORA_API_MCP_LOG_FILE=/tmp/mcp.log and restart the MCP client, then check the log file and see what's wrong.
Testing the Integration
Once configured, try these example prompts:
- "List all available Zuora API operations"
- "Get account details for account A00000076"
- "Create a new product with SKU 'TEST-001'"
Available Tools
The server automatically generates tools from the Zuora OpenAPI specification and provides these static tools:
list_operations- Get a list of available API operationsdescribe_api- Get detailed information about a specific API operationinvoke_api- Call a Zuora API operation with specified argumentsdownload_file- Download a file from a URL
Environment Variables
ZUORA_CLIENT_ID- Your Zuora OAuth client ID (required)ZUORA_CLIENT_SECRET- Your Zuora OAuth client secret (required)ZUORA_BASE_URL- Your Zuora instance base URL (required)ZUORA_API_MCP_LOG_FILE- The log file path
Architecture
The server is built using:
@modelcontextprotocol/sdk- MCP SDK for JavaScriptjs-yaml- YAML parsing for OpenAPI specifications- Node.js built-in
fetchfor HTTP requests
The server automatically parses the zuora_openapi.yaml file and generates MCP tools for each API operation, handling parameter validation, request/response formatting, and OAuth authentication transparently.