Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STREAM_API_KEYYesYour Stream API key
STREAM_TIMEOUTNoRequest timeout (seconds)30
STREAM_BASE_URLNoAPI base URLhttps://stream-app-service.streampay.sa
STREAM_MAX_RETRIESNoRetry count for 429 / 5xx2

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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_payment_linkB

Create a new payment / checkout link on Stream.

items is a list of objects, each containing:

  • product_id (str, required)

  • quantity (int ≥ 1, optional, default 1)

  • coupons (list[str], optional)

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 ONE_OFF, RECURRING, or METERED. For recurring products, specify recurring_interval (WEEK, MONTH, SEMESTER, YEAR).

list_productsB

List products with optional filters.

type can be ONE_OFF, RECURRING, or METERED. active filters by active/inactive status.

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:

  • product_id (str, required)

  • quantity (int > 0, required)

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_openapi_specReturns 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

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