Stream MCP Server
MCP (Model Context Protocol) is a standard way for AI clients to call tools and read resources from external systems.
The Stream MCP Server exposes Stream operations (payments, invoices, customers, products, etc.) as MCP tools so clients like Claude Desktop, Cursor, and VS Code can use them directly.
Resources vs tools: MCP resources (such as the OpenAPI documentation) do not require a Stream API key. Tools that call the Stream API—payments, customers, invoices, products, coupons, and the rest, do require a valid key in your client configuration.
Main Feature: API Documentation Integration
The primary feature of this MCP server is direct integration with Stream API documentation.
- It exposes the full OpenAPI spec as an MCP resource.
- AI clients can read the latest API schema and stay aligned with current endpoints.
- This improves tool accuracy for request fields, validation, and endpoint usage.
Hosted endpoint
Stream hosts the MCP server at:
https://mcp.streampay.sa/mcp
Configure your client to use this URL. Include Authorization when you use tools that hit the Stream API; you can omit it if you only read documentation resources.
Client configuration (Claude Desktop / Cursor / VS Code)
Add this to your MCP config file (claude_desktop_config.json or mcp.json). Use the headers block whenever you rely on tools that require the Stream API (omit it for resources-only use, such as the OpenAPI spec).
{
"mcpServers": {
"stream": {
"url": "https://mcp.streampay.sa/mcp",
"headers": {
// Required for operational tools (payments, customers, etc.); omit if you only read docs resources (e.g. OpenAPI).
"Authorization": "Bearer sk_live_your_key_here"
}
}
}
}
Available Tools
Payment Links
| Tool | Description |
|---|---|
create_payment_link | Create a new checkout / payment link |
list_payment_links | Paginated list with optional status filter |
get_payment_link | Get a single payment link by ID |
deactivate_payment_link | Deactivate / archive a payment link |
Customers
| Tool | Description |
|---|---|
create_customer | Create a customer with name, email, phone, metadata |
list_customers | Paginated list of customers |
get_customer | Get a single customer by ID |
update_customer | Update customer fields |
delete_customer | Soft-delete a customer |
Products
| Tool | Description |
|---|---|
create_product | Create a one-time or recurring product |
list_products | List products with optional type filter |
get_product | Get a single product by ID |
update_product | Update product name, description, or price |
archive_product | Archive a product |
Coupons
| Tool | Description |
|---|---|
create_coupon | Create a fixed or percentage discount coupon |
list_coupons | List coupons with optional status filter |
get_coupon | Get a single coupon by ID |
deactivate_coupon | Deactivate a coupon |
Invoices
| Tool | Description |
|---|---|
create_invoice | Create a ZATCA-compliant invoice |
list_invoices | List invoices with filters |
get_invoice | Get a single invoice by ID |
send_invoice | (Re)send an invoice via email / SMS |
void_invoice | Void / cancel an unpaid invoice |
Payments
| Tool | Description |
|---|---|
list_payments | List payments with filters |
get_payment | Get payment details |
refund_payment | Issue a full or partial refund |
Resources
Reading these resources does not require your Stream API key in the client (unlike the operational tools above).
| Resource URI | Description |
|---|---|
stream://docs/openapi | Full Stream OpenAPI spec (cached, auto-refreshed) — main documentation integration feature |