Stripe MCP
Vendor MCP10 toolsOAuth 2.1/DCRAccounting & FinanceAutomationConnect to Stripe MCP. Manage customers, invoices, subscriptions, refunds, disputes, and payments from your AI workflows.
Stripe MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'stripemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Stripe MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'stripemcp_list_available_accounts_or_orgs',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "stripemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Stripe MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="stripemcp_list_available_accounts_or_orgs",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Planner stripe implementation — Stripe payment integration planner
- Write stripe api — Execute a write (POST/DELETE) Stripe API operation by its operation ID and parameters
- Read stripe api — Execute a read-only (GET) Stripe API operation by its operation ID and parameters
- Analytics stripe — Analyze Stripe data (e.g
- Accounts manage stripe — Returns a URL to the Stripe Dashboard where the user can add accounts, remove accounts, or change permissions for this session
- List available accounts or orgs — Lists all Stripe accounts available in this session with their stripe_context and livemode values
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
stripemcp_list_available_accounts_or_orgs#Lists all Stripe accounts available in this session with their stripe_context and livemode values. Call this first to get stripe_context and livemode before any account-specific operation. Ask the user which account to use unless already specified, and warn before switching between test mode and live mode.0 params
Lists all Stripe accounts available in this session with their stripe_context and livemode values. Call this first to get stripe_context and livemode before any account-specific operation. Ask the user which account to use unless already specified, and warn before switching between test mode and live mode.
stripemcp_manage_stripe_accounts#Returns a URL to the Stripe Dashboard where the user can add accounts, remove accounts, or change permissions for this session. Use when the user wants to add, remove, or modify permissions for an account — no need to call list_available_accounts_or_orgs first. After the user confirms they completed their changes, call list_available_accounts_or_orgs to sync the updated account list.0 params
Returns a URL to the Stripe Dashboard where the user can add accounts, remove accounts, or change permissions for this session. Use when the user wants to add, remove, or modify permissions for an account — no need to call list_available_accounts_or_orgs first. After the user confirms they completed their changes, call list_available_accounts_or_orgs to sync the updated account list.
stripemcp_search_stripe_documentation#Search Stripe official documentation and API reference for answers. Use this to look up Stripe concepts, API parameters, error codes, or integration guidance.3 params
Search Stripe official documentation and API reference for answers. Use this to look up Stripe concepts, API parameters, error codes, or integration guidance.
questionstringrequiredThe question or topic to search Stripe documentation for.languagestringoptionalProgramming language for code examples in results. Defaults to no specific language.search_only_api_refbooleanoptionalSet to true to search only the API reference. Set to false (default) to search all documentation including guides and tutorials.stripemcp_send_stripe_mcp_feedback#Submit feedback about a Stripe MCP tool experience. Use source=user for feedback from a human, source=agent for feedback generated by an AI agent.5 params
Submit feedback about a Stripe MCP tool experience. Use source=user for feedback from a human, source=agent for feedback generated by an AI agent.
contextstringrequiredAdditional context about what you were trying to do when you used the tool.quotestringrequiredA direct quote or specific observation about the tool experience.sentimentstringrequiredSentiment of the feedback. Valid values: positive, negative, neutral.sourcestringrequiredWho generated this feedback. Valid values: user (human feedback), agent (AI-generated feedback).tool_namestringoptionalName of the specific Stripe MCP tool this feedback is about.stripemcp_stripe_analytics#Analyze Stripe data (e.g. revenue, products, or payments) and run SQL-based reporting queries. Supports ad-hoc SQL (execute_query_run/retrieve_query_run against searchable tables via search_query_tables/retrieve_query_table) and pre-built subscription/billing metric templates (execute_query_template/retrieve_query_template). Monetary values are returned in the smallest currency unit.4 params
Analyze Stripe data (e.g. revenue, products, or payments) and run SQL-based reporting queries. Supports ad-hoc SQL (execute_query_run/retrieve_query_run against searchable tables via search_query_tables/retrieve_query_table) and pre-built subscription/billing metric templates (execute_query_template/retrieve_query_template). Monetary values are returned in the smallest currency unit.
intentstringrequiredThe intent of the tool call.livemodebooleanrequiredWhether to operate in livemode (true) or test mode/ sandbox (false). Must match the livemode of the stripe_context account.stripe_contextstringrequiredThe account to target for this request. Use the `stripe_context` value returned by list_available_accounts_or_orgs.paramsobjectoptionalThe parameters for the tool call. Required parameters depend on the intent.stripemcp_stripe_api_details#Get the full parameter schema for a specific Stripe API operation. Use stripe_api_search to find the operation ID first (e.g. GetCustomers, PostRefunds), then call this to see all available parameters.3 params
Get the full parameter schema for a specific Stripe API operation. Use stripe_api_search to find the operation ID first (e.g. GetCustomers, PostRefunds), then call this to see all available parameters.
livemodebooleanrequiredWhether to operate in livemode (true) or test mode/ sandbox (false). Must match the livemode of the stripe_context account.stripe_api_operation_idstringrequiredThe Stripe API operation ID to get details for. Get valid IDs from stripe_api_search (e.g. GetCustomers, PostRefunds, PostSubscriptions).stripe_contextstringrequiredThe account to target for this request. Use the `stripe_context` value returned by list_available_accounts_or_orgs.stripemcp_stripe_api_read#Execute a read-only (GET) Stripe API operation by its operation ID and parameters. Use stripe_api_search to discover available operations and stripe_api_details to see their parameters before executing.4 params
Execute a read-only (GET) Stripe API operation by its operation ID and parameters. Use stripe_api_search to discover available operations and stripe_api_details to see their parameters before executing.
livemodebooleanrequiredWhether to operate in livemode (true) or test mode/ sandbox (false). Must match the livemode of the stripe_context account.parametersobjectrequiredParameters for the API call. Include path parameters (e.g. 'customer' for /v1/customers/{customer}), query parameters, and body parameters. Array fields (e.g. line_items) must be passed as a JSON array value, not as a plain string.stripe_api_operation_idstringrequiredThe operation ID to execute (e.g. PostCustomers, GetPaymentIntents).stripe_contextstringrequiredThe account to target for this request. Use the `stripe_context` value returned by list_available_accounts_or_orgs.stripemcp_stripe_api_search#Search available Stripe API operations by intent and resource. Returns operation IDs (e.g. PostCustomers, GetSubscriptions) with their HTTP method and parameters — use these with stripe_api_details or stripe_api_read/stripe_api_write.5 params
Search available Stripe API operations by intent and resource. Returns operation IDs (e.g. PostCustomers, GetSubscriptions) with their HTTP method and parameters — use these with stripe_api_details or stripe_api_read/stripe_api_write.
intentstringrequiredThe intent of the operation. Examples: create, list, refund.livemodebooleanrequiredWhether to operate in livemode (true) or test mode/ sandbox (false). Must match the livemode of the stripe_context account.resourcestringrequiredTarget resource the operation is looking to manipulate. Examples: customer, payout methods, issuing card transactions.stripe_contextstringrequiredThe account to target for this request. Use the `stripe_context` value returned by list_available_accounts_or_orgs.limitintegeroptionalMaximum number of results to return.stripemcp_stripe_api_write#Execute a write (POST/DELETE) Stripe API operation by its operation ID and parameters. Use stripe_api_search to discover available operations and stripe_api_details to see their parameters before executing. May require human confirmation for sensitive operations.5 params
Execute a write (POST/DELETE) Stripe API operation by its operation ID and parameters. Use stripe_api_search to discover available operations and stripe_api_details to see their parameters before executing. May require human confirmation for sensitive operations.
livemodebooleanrequiredWhether to operate in livemode (true) or test mode/ sandbox (false). Must match the livemode of the stripe_context account.parametersobjectrequiredParameters for the API call. Include path parameters (e.g. 'customer' for /v1/customers/{customer}), query parameters, and body parameters. Array fields (e.g. line_items) must be passed as a JSON array value, not as a plain string.stripe_api_operation_idstringrequiredThe operation ID to execute (e.g. PostCustomers, GetPaymentIntents).stripe_contextstringrequiredThe account to target for this request. Use the `stripe_context` value returned by list_available_accounts_or_orgs.human_confirmationobjectoptionalThis tool might require human confirmation. To run it, first invoke it with the desired parameters, ignoring the `approval_token` parameter. If it requires human confirmation, the response will include an approval request ID and a URL to an approval page for the human to approve the tool call. Present this URL to the human as a clickable markdown link, and after they confirm approval, call the tool again with the same parameters plus `approval_token`.stripemcp_stripe_implementation_planner#Stripe payment integration planner. Use this BEFORE writing code when the user wants to accept payments, sell products online, set up billing, or build any Stripe integration — it returns use cases, decision trees, documentation links, and a guide_id for follow-up calls. Successor to stripe_integration_recommender.5 params
Stripe payment integration planner. Use this BEFORE writing code when the user wants to accept payments, sell products online, set up billing, or build any Stripe integration — it returns use cases, decision trees, documentation links, and a guide_id for follow-up calls. Successor to stripe_integration_recommender.
livemodebooleanrequiredWhether to operate in livemode (true) or test mode/ sandbox (false). Must match the livemode of the stripe_context account.messagestringrequiredFor new guides: describe the use case or business requirements. For existing guides: provide the latest user response or the full accepted transcript.stripe_contextstringrequiredThe account to target for this request. Use the `stripe_context` value returned by list_available_accounts_or_orgs.acceptbooleanoptionalSet to true when returning the completed decision tree with your chosen options to receive the finalized integration guide.guide_idstringoptionalONLY pass a guide_id that was returned by a previous call to this tool in this conversation. Never fabricate, guess, or reuse guide_ids from other sessions. If you do not have a guide_id from a prior response, omit this field entirely. Invalid guide_ids will be rejected.