zuora-mcp
v1.0.0-beta.7
Published
Zuora Developer MCP
Downloads
414
Maintainers
Readme
Zuora Developer MCP (Model Context Protocol) – Beta Preview
The Zuora Developer MCP Server provides an AI-powered developer experience for building Zuora integrations. It implements the Model Context Protocol (MCP), enabling developers to:
- Generate production-grade code snippets using the Zuora SDK.
- Discover, explore, and analyze APIs and data models.
- Perform guided SDK upgrades across multiple languages (Java, Python, Node.js, C#) within their preferred IDEs via MCP-compatible clients.
- Execute tenant operations like querying objects, creating products, rate plans, charges, and subscriptions with approval policy enforcement.
📌 Note: Tenant operations require valid Zuora client credentials (
ZUORA_BASE_URL,ZUORA_CLIENT_ID,ZUORA_CLIENT_SECRET) to authenticate with your Zuora tenant. For backward compatibility,BASE_URLis also supported but deprecated.
This repository hosts an beta version of the Zuora Developer MCP.
✨ Features
Currently, Zuora Developer MCP includes the following tools (more will be added over time):
zuora_codegen: Generate integration code using the Zuora SDK.ask_zuora: Answer product questions in natural language.sdk_upgrade: Assist in upgrading the Zuora SDK in any supported language project.query_objects: Retrieve objects from a Zuora tenant efficiently and in a consistent manner.get_account_summary: Retrieve comprehensive account summaries from Zuora, automatically enhanced with recent credit and debit memos.create_products: Create products in Zuora with approval policy enforced.create_product_rate_plans: Create product rate plans in Zuora with approval policy enforced.create_product_rate_plan_charges: Create product rate plan charges in Zuora with approval policy enforced.create_subscriptions: Create subscriptions in Zuora using the Order API with approval policy enforced. Prerequisite: Order API must be enabled in your Zuora tenant.cancel_subscriptions: Cancel subscriptions in Zuora with comprehensive parameter support and approval policy enforced. Supports all cancellation policies and parameters from the Zuora Cancel Subscription API.renew_subscriptions: Renew subscriptions in Zuora with comprehensive parameter support and approval policy enforced. Supports billing options, credit handling, and invoice generation.manage_revenue_reports: Manage Zuora Revenue (RevPro) reports with comprehensive workflow support - list reports/layouts, get filters, run reports, check status, and download results. Includes intelligent browsing and filtering of report runs.run_reports: Execute Zuora reports with automatic polling for completion. Accepts either reportId OR reportName.manage_reports: Manage Zuora reports and report runs - search/list reports, get status, export data, cancel runs.run_workflows: Execute workflows in Zuora and monitor their execution status with optional auto-polling.manage_workflows: Discover, understand, and manage Zuora workflow configurations with AI-powered workflow matching.manage_billing_previews: Preview billing charges for accounts or subscriptions before invoice generation. Supports creating preview runs (async), retrieving status, and downloading results. Enables "what-if" scenarios and proactive customer communication.manage_billing_documents: Manage Zuora billing document PDF and email operations for invoices, credit memos, and debit memos. Supports 4 operations: generate_pdf (generate or check PDF status, async for memos), list_files (list available PDF files), email (send document via email with optional recipients), and download (download specific PDF file by fileId). Approval policy enforced where applicable.zuora_approval: Ensures all tenant operations comply with the enforced approval policy. To disable approval, set the environment variableAPPROVAL_ENABLED="false".
🔐 Prerequisites
- Node.js and npm installed on your local machine.
- An IDE that supports MCP configuration (e.g. Cursor, Windsurf).
⚙️ Environment Variables
The following environment variables can be configured in your MCP client configuration:
Required for Tenant Operations
ZUORA_BASE_URL: Your Zuora API base URL. You can find your base URL here. For backward compatibility,BASE_URLis also supported but deprecated.ZUORA_CLIENT_ID: Your Zuora API client ID.ZUORA_CLIENT_SECRET: Your Zuora API client secret.
Optional Multi-Entity and Multi-Org Support
ZUORA_ENTITY_IDS: Used in Zuora's Multi-Entity setup to specify which business entity to run API operations against when a user has access to multiple entities. Provide a single entity ID or comma-separated list of entity IDs.ZUORA_ORG_IDS: Used in Zuora Multi-Org environments to specify which org(s) the API request should run against and be scoped to. Provide a single org ID or comma-separated list of org IDs.
📌 Note: Environment variables are required for
ask_zuoraand tenant operations. For code generation and SDK upgrade tools, environment variables are optional.
🚀 Quick Start
To configure the Zuora Developer MCP in a client like Claude Desktop, Cursor, or Windsurf, add the following to your MCP config:
Note:
- See the Environment Variables section above for details on all available environment variables.
- To use a specific version, specify it like
[email protected]in the args array.
{
"mcpServers": {
"zuora-developer-mcp": {
"command": "npx",
"args": [
"-y",
"zuora-mcp"
],
"env": {
"ZUORA_BASE_URL": "{baseUrl}",
"ZUORA_CLIENT_ID": "{clientId}",
"ZUORA_CLIENT_SECRET": "{clientSecret}",
"ZUORA_ENTITY_IDS": "{entityId1},{entityId2}",
"ZUORA_ORG_IDS": "{orgId1},{orgId2}"
}
}
}
}📌 Note:
ZUORA_ENTITY_IDSandZUORA_ORG_IDSare optional and only needed if you're using Zuora Multi-Entity or Multi-Org features.
For detailed setup guides, see:
📌 Important: The example above uses
npxto run the MCP server. Make sure thezuora-mcppackage is published or installed locally as needed.
Add the MCP rules to Cursor's User Rules. See cursor_rules.md for details.
🚀 What's New in Beta
Core Features
- Code Generation: Generate production-ready integration code using the Zuora SDK for Java, Python, Node.js, and C#
- API Discovery: Explore and analyze Zuora APIs and data models with intelligent guidance
- SDK Upgrades: Guided upgrades across multiple languages with detailed change logs
- Tenant Operations: Query objects, create products, rate plans, charges, subscriptions, and cancel subscriptions with approval policy enforcement
Recent Improvements
- Added comprehensive tenant operations (
query_objects,create_products,create_product_rate_plans,create_product_rate_plan_charges,create_subscriptions,cancel_subscriptions) - Added Zuora Revenue (RevPro) report management with
revenue_reporttool - Enhanced approval policy enforcement for all tenant operations
- Upgraded to latest Zuora SDKs (Java/Python/Node.js 3.12.0, C# 1.4.0)
- Added curl command generation support
- Improved API knowledge base with Zuora environments and query operators
📘 Changelog
1.0.0-beta.7
New Features:
- Added
manage_billing_previewstool for previewing billing before invoice generation. Supports three operations: create billing preview runs (async), retrieve preview run status, and download preview results. - Added
manage_billing_documentstool for managing Zuora billing documents PDF and email operations for invoices, credit memos, and debit memos. Supports 4 operations: generate_pdf (generate or check PDF status, async for memos), list_files (list available PDF files), email (send document via email with optional recipients), and download (download specific PDF file by fileId). Approval policy enforced where applicable.
- Added
Improvements:
- Added org scoping support via the
ZUORA_ORG_IDSenvironment variable, which is used in Zuora Multi-Org environments to specify which org(s) (one or more org IDs, comma-separated) the API request should run against and be scoped to. - Rename tool names to follow the plural naming convention.
- Rename
BASE_URLtoZUORA_BASE_URL.BASE_URLis still supported for backward compatibility but is deprecated (will be removed in a future release).
- Added org scoping support via the
1.0.0-beta.6
- New Features:
- Added
renew_subscriptionstool for comprehensive subscription renewal operations with approval policy enforced - Added
get_accounts_summarytool for retrieving comprehensive account summaries from Zuora, automatically enhanced with recent credit and debit memos
- Added
- Improvements:
- Added entity scoping support via the
ZUORA_ENTITY_IDSenvironment variable, which is used in Zuora's Multi-Entity setup to specify which business entity to run API operations against when a user has access to multiple entities.
- Added entity scoping support via the
1.0.0-beta.5
- New Features:
- Added
cancel_subscriptionstool for comprehensive subscription cancellation with approval policy enforced - Supports all 16 cancellation parameters from Zuora Cancel Subscription API including cancellation policies, effective dates, and invoice generation options
- Added
revenue_reporttool for complete Zuora Revenue (RevPro) report management workflow - Supports 7 operations: list reports/layouts, get filters, run reports, check status, download results, and intelligent report run browsing
- Added
- Architecture Improvements:
- Refactored subscription services to unified handler architecture for better maintainability
- Consolidated
SubscriptionExecutionServiceandSubscriptionCancelExecutionServiceinto single unified service - Implemented 3-layer pattern (Tool → Service → API) for consistent operation handling
- Enhanced error handling and response formatting with rich MCP client instructions
- Bug Fixes:
- Restored detailed success response formatting (
createSuccessResponse) that was removed during refactoring - Fixed missing
operationfield in subscription service responses - Updated test files to work with new unified service architecture
- Restored detailed success response formatting (
1.0.0-beta.4
- Internal Improvements:
- Enhanced subscription service architecture and error handling
- Improved test coverage for subscription operations
1.0.0-beta.3
- Improvements:
- Split
zuora_workflowtool into two focused tools for better separation of concerns:run_workflow: Focused on workflow execution and monitoring with auto-polling supportmanage_workflow: Focused on workflow discovery, management, and configuration (8 operations)
- Enhanced workflow tool descriptions and documentation for clearer usage guidance
- Split
1.0.0-beta.2
- New Features:
- Added
run_reporttool for executing Zuora reports with automatic polling for completion - Added
manage_reporttool for comprehensive report management (search, list, get status, export data, cancel runs) - Added
zuora_workflowtool for discovering, analyzing, and executing Zuora workflows with AI-powered matching
- Added
- Improvements:
- Added tenantId to telemetry logs for better analytics and tracking
- Upgraded to latest Zuora SDKs (Java/Python/Node.js 3.12.0, C# 1.4.0)
1.0.0-beta.1
- New Features:
- Added comprehensive tenant operations (
query_objects,create_products,create_product_rate_plans,create_product_rate_plan_charges,create_subscriptions) - Enhanced approval policy enforcement for all tenant operations
- Added curl command generation support
- Added comprehensive tenant operations (
- Improvements:
- Upgraded to latest Zuora SDKs (Java/Python/Node.js 3.10.0, C# 1.2.0)
- Improved API knowledge base with Zuora environments and query operators
- Enhanced caching system for better performance
- Bug Fixes:
- Fixed cURL issue caused by uppercase naming
- Addressed query_objects tool missing results under certain conditions
Previous Alpha Versions
- Enhanced API knowledge base with Zuora environments and object query operators
- Upgraded Java/Python/Node.js SDKs to version 3.8.0 and C# SDK to version 1.0.0
- Added Cursor workspace rules for MCP-first, SDK-compliant code generation
- Added language parameter support to telemetry signals for better analytics
- Added Cursor MCP install link for easier setup
- Improved documentation for clarity and completeness
- Enhanced API metadata for better accuracy and context
- Fixed several bugs in API resources
- Added telemetry event tracking
- Upgraded the SDK to version 3.7.0 and the C# SDK to version 1.0.0-beta.6
- Improved SDK upgrade support across all languages with detailed change logs
- Enhanced API detail responses to include request and response schemas
- Added support for passing multiple model names to
getModelDetail
