MCP.so
Sign In
Servers
S

Stream

@Mohammed-Rashad

Stream MCP server

Overview

What is Stream?

The Stream MCP Server is a Model Context Protocol server for the Stream (streampay.sa) payment platform. It exposes 27 tools across six resource domains — payment links, customers, products, coupons, invoices, and payments — plus a read-only OpenAPI documentation resource. The server is built with FastMCP and targets developers building AI assistants that interact with Stream’s payment infrastructure.

How to use Stream?

Install the server via pip install -e ".[dev]", set the STREAM_API_KEY environment variable, and run stream-mcp for stdio mode or stream-mcp-remote for remote HTTP mode. Configure your MCP client (Claude Desktop, Cursor, VS Code) with either a stdio command or a remote URL that passes the API key as a Bearer token. The server can also be deployed with Docker for hosted access.

Key features of Stream

  • 27 tools covering payment links, customers, products, coupons, invoices, and payments
  • Read-only OpenAPI spec resource available at stream://docs/openapi
  • Supports both local stdio and remote HTTP (URL) modes
  • Per-user authentication via Bearer token in remote mode
  • Structured error handling with StreamAPIError returning {error, code, message}
  • Configurable timeout, retries, and base URL via environment variables

Use cases of Stream

  • Create and manage payment links for one-time checkouts
  • Manage customer records with create, read, update, and soft-delete operations
  • Create and update products (one-time or recurring) and archive them
  • Generate and handle fixed or percentage discount coupons
  • Create ZATCA-compliant invoices, send them, and void unpaid ones
  • List, retrieve, and refund payments with full or partial refunds

FAQ from Stream

How do I run the server in stdio mode vs remote HTTP mode?

For stdio mode, use the stream-mcp command. For remote HTTP mode, run stream-mcp-remote, which listens on http://0.0.0.0:8000/mcp by default.

Where does the API key go?

In stdio mode, set the STREAM_API_KEY environment variable. In remote mode, each user passes their own API key as a Bearer token in the HTTP Authorization header; the server never stores the key.

What tools are available?

The server provides 27 tools: payment links (create, list, get, deactivate), customers (create, list, get, update, delete), products (create, list, get, update, archive), coupons (create, list, get, deactivate), invoices (create, list, get, send, void), and payments (list, get, refund).

How does the server handle errors?

All tools catch StreamAPIError and return a structured dictionary {"error": true, "code": <status_code>, "message": "<description>"} instead of raising an exception.

Can I deploy the server remotely?

Yes. Run the server with stream-mcp-remote or use the provided Dockerfile. Each user passes their own Stream API key as a Bearer token, and the key is used only for the duration of the session.

More from Other