npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

zuora-mcp

v1.0.0-beta.7

Published

Zuora Developer MCP

Downloads

414

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_URL is 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 variable APPROVAL_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_URL is 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_zuora and tenant operations. For code generation and SDK upgrade tools, environment variables are optional.

🚀 Quick Start

Add to Cursor

To configure the Zuora Developer MCP in a client like Claude Desktop, Cursor, or Windsurf, add the following to your MCP config:

Note:

{
  "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_IDS and ZUORA_ORG_IDS are 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 npx to run the MCP server. Make sure the zuora-mcp package 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_report tool
  • 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_previews tool 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_documents tool 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.
  • Improvements:

    • Added org scoping support via the ZUORA_ORG_IDS environment 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_URL to ZUORA_BASE_URL. BASE_URL is still supported for backward compatibility but is deprecated (will be removed in a future release).

1.0.0-beta.6

  • New Features:
    • Added renew_subscriptions tool for comprehensive subscription renewal operations with approval policy enforced
    • Added get_accounts_summary tool for retrieving comprehensive account summaries from Zuora, automatically enhanced with recent credit and debit memos
  • Improvements:
    • Added entity scoping support via the ZUORA_ENTITY_IDS environment 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.

1.0.0-beta.5

  • New Features:
    • Added cancel_subscriptions tool 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_report tool 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
  • Architecture Improvements:
    • Refactored subscription services to unified handler architecture for better maintainability
    • Consolidated SubscriptionExecutionService and SubscriptionCancelExecutionService into 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 operation field in subscription service responses
    • Updated test files to work with new unified service architecture

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_workflow tool into two focused tools for better separation of concerns:
      • run_workflow: Focused on workflow execution and monitoring with auto-polling support
      • manage_workflow: Focused on workflow discovery, management, and configuration (8 operations)
    • Enhanced workflow tool descriptions and documentation for clearer usage guidance

1.0.0-beta.2

  • New Features:
    • Added run_report tool for executing Zuora reports with automatic polling for completion
    • Added manage_report tool for comprehensive report management (search, list, get status, export data, cancel runs)
    • Added zuora_workflow tool for discovering, analyzing, and executing Zuora workflows with AI-powered matching
  • 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
  • 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