A Model Context Protocol (MCP) server that provides testing and debugging tools for Stripe integrations. This server enables developers to efficiently test Stripe workflows, manage test data, and simulate time-based scenarios using Stripe's test helpers.
- Test Clock Management - Create and advance Stripe test clocks for time-based testing
- Subscription Testing - Test billing cycles and subscription renewals by controlling time
- Bulk Customer Creation - Create multiple test customers with customizable properties
- Customer Cleanup - Delete test customers to maintain clean test environments
- Test Clock Association - Link customers to test clocks for time-controlled testing
- Product Archiving - Archive test products by ID or URL
- Product Deletion - Permanently delete test products to clean up test data
- Test Subscription Creation - Create subscriptions with configurable proration behavior
- Time-based Testing - Test subscription billing cycles using test clocks
Creates a new Stripe test clock for time simulation.
Parameters:
frozen_time(required): Unix timestamp for the initial frozen timename(optional): Name for the test clock
Example:
Create a test clock starting at January 1, 2024:
frozen_time: 1704067200
name: "New Year Test Clock"
Advances an existing test clock to a new time.
Parameters:
test_clock_id(required): The ID of the test clock to advancefrozen_time(required): Unix timestamp to advance the clock to
Creates one or more test customers.
Parameters:
number(optional, default: 1): Number of customers to createpayment_method_id(optional): Payment method to associate with customersname(optional): Name for the customersemail(optional): Email for the customersdescription(optional): Description for the customerstest_clock(optional): Test clock ID to associate with customers (max 3 customers per clock)
Deletes test customers by their IDs.
Parameters:
customer_ids(required): Array of customer IDs to delete
Archives test products (sets active: false).
Parameters:
product_ids(optional): Array of product IDs to archiveurls(optional): Array of product URLs to archive
Permanently deletes test products.
Parameters:
product_ids(optional): Array of product IDs to deleteurls(optional): Array of product URLs to delete
Creates a test subscription for a customer.
Parameters:
customer(required): Customer ID to create the subscription foritems(required): Array of subscription items with price and quantityproration_behavior(optional): How to handle prorations (create_prorations,none,always_invoice)payment_method_id(optional): Payment method ID to set as the subscription's default payment method
- A Stripe account with test mode enabled
- Node.js and npm installed
- Claude Desktop or another MCP-compatible client
No installation is required! You can use this MCP server directly with npx:
npx stripe-test-mcpThis will automatically download and run the latest version of the server.
Set your Stripe test API key as an environment variable:
export STRIPE_API_KEY=sk_test_your_test_key_hereImportant: Only test keys are allowed. The server will reject live API keys for security.
Click this link for adding this MCP server:
Add the server to your Claude Desktop configuration:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"stripe-test-mcp": {
"command": "npx",
"args": ["stripe-test-mcp"],
"env": {
"STRIPE_API_KEY": "sk_test_your_test_key_here"
}
}
}
}-
Create a test clock:
Use create_stripe_test_clock with frozen_time: 1704067200 (Jan 1, 2024) -
Create customers associated with the test clock:
Use create_stripe_test_customers with test_clock: clock_id_from_step_1 -
Create subscriptions for the customers:
Use create_stripe_test_subscription with customer IDs and subscription items -
Advance time to trigger billing:
Use advance_stripe_test_clock to move forward by billing cycle periods
-
Delete test customers:
Use delete_stripe_test_customers with customer IDs -
Archive test products:
Use archive_stripe_test_products with product IDs or URLs
This repository ships as a Claude Code plugin so that agents can use the Stripe testing tools with the right procedures and guardrails built in.
This repository offers two complementary ways to set up Stripe test data — pick the one that matches your intent:
- Imperative lane (MCP tools) — call the Stripe API right now to create and
advance test clocks, customers, and subscriptions. Best when you want to run
something and see the result immediately. Provided by the
stripe-test-mcpMCP server (above). - Declarative lane (
stripe-fixturesskill) — generatestripe fixturesJSON you run with the Stripe CLI. Best for test datasets you want to keep in source control or reproduce in CI. The skill authors and statically validates the JSON; you execute it.
.claude-plugin/plugin.json- the plugin manifest..mcp.json- the MCP server definition (npx stripe-test-mcp, requiringSTRIPE_API_KEY), so the tools connect automatically when the plugin loads.skills/- four Agent Skills that encode the recommended workflows:stripe-billing-cycle-test- simulate a subscription billing cycle with a test clock (clock -> customer -> subscription -> advance -> verify).stripe-test-clock-constraints- reference for test-clock limits and pitfalls (max 3 customers per clock, creation-time-only attachment, forward-only async advance, Unix-second timestamps).stripe-test-data-lifecycle- setup, verification, and cleanup workflow using the delete/archive tools.stripe-fixtures- author and statically validatestripe fixturesJSON (multi-step subscriptions, test clocks,expected_error_typefailure paths, Connect destination charges, bulk creation) through guided conversation. Seeskills/stripe-fixtures/README.md.
When this plugin is installed in Claude Code, the MCP tools become available
and Claude can load the relevant skill automatically based on the task, or you
can invoke one directly (for example /stripe-test-mcp:stripe-billing-cycle-test
or /stripe-test-mcp:stripe-fixtures).
Make sure STRIPE_API_KEY is set to a Stripe test key in your environment.
The site/ directory holds the marketing landing page (Astro, EN + JA) for the
stripe-fixtures skill. It is a self-contained project that manages its own
dependencies with pnpm and deploys to Cloudflare Workers static assets. See
site/README.md for development and deploy instructions.
If you want to contribute or modify the server locally:
- Clone the repository:
git clone <repository-url>
cd stripe-testing-tools- Install dependencies:
npm install- Build the server:
npm run build- For development with auto-rebuild:
npm run watchSince MCP servers communicate over stdio, debugging can be challenging. Use the MCP Inspector:
npm run inspectorThe Inspector provides a web interface for testing and debugging MCP tools.
- Only Stripe test API keys are accepted
- Live API keys are rejected to prevent accidental charges
- All operations are performed in Stripe's test mode
- Missing API keys will throw descriptive error messages
- Live API keys are blocked with security warnings
- Test clock customer limits are enforced (max 3 customers per clock)
- Invalid parameters are validated using Zod schemas
This project is licensed under the MIT License.
The skills/stripe-fixtures skill and the site/ landing page were merged in
from the former stripe-fixtures-skills repository, which was licensed under
Apache-2.0. That skill keeps its original license: Apache-2.0 declaration
in its SKILL.md front matter; everything else in this repository is MIT.