Stream
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STREAM_API_KEY | Yes | Your Stream API key | |
| STREAM_TIMEOUT | No | Request timeout (seconds) | 30 |
| STREAM_BASE_URL | No | API base URL | https://stream-app-service.streampay.sa |
| STREAM_MAX_RETRIES | No | Retry count for 429 / 5xx | 2 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_payment_linkB | Create a new payment / checkout link on Stream. items is a list of objects, each containing:
You cannot mix one-time and recurring products in the same link. |
| list_payment_linksC | List all payment links with optional filters. statuses can include: INACTIVE, ACTIVE, COMPLETED. |
| get_payment_linkB | Retrieve a single payment link by its ID. |
| deactivate_payment_linkB | Deactivate (archive) a payment link so it can no longer be used. |
| create_customerB | Create a new customer in Stream. Provide at least a name. Optionally include phone_number, email, external_id, iban, alias, comment, preferred_language (EN/AR), and communication_methods (WHATSAPP, EMAIL, SMS). |
| list_customersC | List / search customers with pagination. Returns a paginated list of customers. |
| get_customerB | Get a single customer record by ID. |
| update_customerC | Update fields on an existing customer. Only the fields you provide will be changed; others remain untouched. |
| delete_customerA | Soft-delete a customer by ID. The customer record is archived but not permanently removed. |
| create_productC | Create a new product or service in Stream. type is |
| list_productsB | List products with optional filters. type can be |
| get_productB | Get a single product by ID. |
| update_productB | Update an existing product's name, description, or active status. Only the fields you provide will be changed. |
| archive_productA | Archive a product so it can no longer be sold. This is a soft-delete; the product record is retained for history. |
| list_paymentsB | List payments with optional filters. Filter by statuses (PENDING, PROCESSING, SUCCEEDED, FAILED, CANCELED, UNDER_REVIEW, EXPIRED, SETTLED, REFUNDED), invoice_id, search_term, or a date range (from_date / to_date in ISO-8601). |
| get_paymentA | Get details of a single payment by ID. Returns amount, status, payment method, customer info, and more. |
| mark_payment_as_paidB | Manually mark a payment as paid. Record a payment received through manual methods. payment_method must be one of: CASH, BANK_TRANSFER, CARD, or QURRAH. |
| refund_paymentB | Issue a refund on a completed payment. refund_reason must be one of: REQUESTED_BY_CUSTOMER, DUPLICATE, FRAUDULENT, OTHER. |
| create_couponB | Create a new discount coupon on Stream. Set is_percentage to True for percentage discount, False for fixed amount. For fixed coupons, currency is required (e.g. SAR, USD). |
| list_couponsB | List all coupons with optional filters. active filters by active/inactive status. is_percentage filters by discount type. |
| get_couponB | Get a single coupon by ID. |
| deactivate_couponB | Deactivate a coupon so it can no longer be redeemed. |
| create_invoiceA | Create a ZATCA-compliant invoice in Stream. items is a list of line-item dicts, each with:
scheduled_on is the ISO-8601 date-time for when the invoice is due/sent. Set notify_consumer to True to send the invoice to the customer. |
| list_invoicesB | List invoices with optional filters. Filter by organization_consumer_id, statuses (DRAFT, CREATED, SENT, ACCEPTED, REJECTED, COMPLETED, CANCELED, EXPIRED), payment_statuses (PENDING, PROCESSING, SUCCEEDED, FAILED, etc.), or a date range. |
| get_invoiceB | Get a single invoice by ID. |
| send_invoiceB | (Re)send an invoice to the customer via email / SMS. |
| void_invoiceA | Void (cancel) an unpaid invoice. Once voided, the invoice can no longer be paid. |
| list_stream_docsA | List all available Stream documentation pages. Pages are auto-discovered from the Stream docs sitemap. Returns slug, URL, and resource URI for each page. Use the slug with get_stream_doc to fetch the full content. |
| get_stream_docA | Fetch the content of a Stream documentation page by slug. Slugs are auto-discovered from the sitemap. Call list_stream_docs first to see what's available, or pass a slug directly if you already know it (e.g. 'getting-started', 'testing-cards', 'webhooks', 'authentication', etc.). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_openapi_spec | Returns the full Stream OpenAPI JSON spec for agent reference. Fetched from https://docs.streampay.sa/openapi.json and cached for 1 hour. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/streampayments/stream-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server