
Stripe AI
This repo is the one-stop shop for building AI-powered products and businesses on top of Stripe.
It contains a collection of SDKs to help you integrate Stripe with LLMs and agent frameworks, including:
@stripe/agent-toolkit- for integrating Stripe APIs with popular agent frameworks through function calling—available in Python and TypeScript.@stripe/ai-sdk- for integrating Stripe's billing infrastructure with Vercel'saiand@ai-sdklibraries.@stripe/token-meter- for integrating Stripe's billing infrastructure with native SDKs from OpenAI, Anthropic, and Google Gemini, without any framework dependencies.
Model Context Protocol (MCP)
Stripe hosts a remote MCP server at https://mcp.stripe.com. This allows secure MCP client access via OAuth. View the docs here.
The Stripe Agent Toolkit also exposes tools in the Model Context Protocol (MCP) format. Or, to run a local Stripe MCP server using npx, use the following command:
npx -y @stripe/mcp --api-key=YOUR_STRIPE_SECRET_KEY
Tool permissions are controlled by your Restricted API Key (RAK). Create a RAK with the desired permissions at https://dashboard.stripe.com/apikeys
See MCP for more details.
Agent toolkit
Stripe's Agent Toolkit enables popular agent frameworks including OpenAI's Agent SDK, LangChain, CrewAI, and Vercel's AI SDK to integrate with Stripe APIs through function calling. The library is not exhaustive of the entire Stripe API. It includes support for Python and TypeScript, and is built directly on top of the Stripe Python and Node SDKs.
Included below are basic instructions, but refer to Python and TypeScript packages for more information.
Python
Installation
You don't need this source code unless you want to modify the package. If you just want to use the package run:
pip install stripe-agent-toolkit
Requirements
- Python 3.11+
Usage
The library needs to be configured with your account's secret key which is
available in your Stripe Dashboard. We strongly recommend using a Restricted API Key (rk_*) for better security and granular permissions. Tool availability is determined by the permissions you configure on the restricted key.
from stripe_agent_toolkit.openai.toolkit import create_stripe_agent_toolkit
async def main():
toolkit = await create_stripe_agent_toolkit(secret_key="rk_test_...")
tools = toolkit.get_tools()
# ... use tools ...
await toolkit.close() # Clean up when done
The toolkit works with OpenAI's Agent SDK, LangChain, and CrewAI and can be passed as a list of tools. For example:
from agents import Agent
async def main():
toolkit = await create_stripe_agent_toolkit(secret_key="rk_test_...")
stripe_agent = Agent(
name="Stripe Agent",
instructions="You are an expert at integrating with Stripe",
tools=toolkit.get_tools()
)
# ... use agent ...
await toolkit.close()
Examples for OpenAI's Agent SDK,LangChain, and CrewAI are included in /examples.
Context
In some cases you will want to provide values that serve as defaults when making requests. Currently, the account context value enables you to make API calls for your connected accounts.
toolkit = await create_stripe_agent_toolkit(
secret_key="rk_test_...",
configuration={
"context": {
"account": "acct_123"
}
}
)
TypeScript
Installation
You don't need this source code unless you want to modify the package. If you just want to use the package run:
npm install @stripe/agent-toolkit
Requirements
- Node 18+
Migrating from v0.8.x
If you're upgrading from v0.8.x, see the Migration Guide for breaking changes.
Usage
The library needs to be configured with your account's secret key which is available in your Stripe Dashboard. We strongly recommend using a Restricted API Key (rk_*) for better security and granular permissions. Tool availability is determined by the permissions you configure on the restricted key.
import { createStripeAgentToolkit } from "@stripe/agent-toolkit/langchain";
const toolkit = await createStripeAgentToolkit({
secretKey: process.env.STRIPE_SECRET_KEY!,
configuration: {},
});
const tools = toolkit.getTools();
// ... use tools ...
await toolkit.close(); // Clean up when done
Tools
The toolkit works with LangChain and Vercel's AI SDK and can be passed as a list of tools. For example:
import { AgentExecutor, createStructuredChatAgent } from "langchain/agents";
import { createStripeAgentToolkit } from "@stripe/agent-toolkit/langchain";
const toolkit = await createStripeAgentToolkit({
secretKey: process.env.STRIPE_SECRET_KEY!,
configuration: {},
});
const tools = toolkit.getTools();
const agent = await createStructuredChatAgent({
llm,
tools,
prompt,
});
const agentExecutor = new AgentExecutor({
agent,
tools,
});
Context
In some cases you will want to provide values that serve as defaults when making requests. Currently, the account context value enables you to make API calls for your connected accounts.
const toolkit = await createStripeAgentToolkit({
secretKey: process.env.STRIPE_SECRET_KEY!,
configuration: {
context: {
account: "acct_123",
},
},
});
Supported API methods
See the Stripe MCP docs for a list of supported methods.
License
Recommend MCP Servers 💡
charlesverge/mcp_open_interest
An MCP server that retrieves options open interest data from Alpha Vantage and calculates the put/call ratio to determine market sentiment for a given stock symbol
RevenueCat MCP Server
Enables AI assistants to manage RevenueCat subscription infrastructure via natural language through MCP
alphavantage
An MCP server providing real-time and historical stock market data by integrating with the Alpha Vantage API.
finData
FinData enables your AI agents retrieve financial data from different providers like Tushare, Wind, and DataYes.
octagon-vc-agents
An MCP server that runs AI-driven venture capitalist agents, continuously enriched by Octagon Private Markets' real-time deals, valuations, and deep research intelligence, enabling programmable "VC brains" for pitch feedback, diligence simulations, and term sheet negotiations.
coin_api_mcp
A Model Context Protocol server providing access to CoinMarketCap's cryptocurrency data for AI applications