zuora-api-mcp

smilingleo/zuora-api-mcp

3.2

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.

Tools
4
Resources
0
Prompts
0

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 operations
  • describe_api - Get detailed information about a specific API operation
  • invoke_api - Call a Zuora API operation with specified arguments
  • download_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 JavaScript
  • js-yaml - YAML parsing for OpenAPI specifications
  • Node.js built-in fetch for 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.