Stream MCP server. Query channels, search messages, and read threads, users and reactions in your Stream Chat app.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"stream": {
"url": "https://stream.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
stream_get_app | read | Get app Fetch the Stream app's settings and configured channel types — a good first call to confirm your credentials and discover which channel types are available. |
stream_query_channels | read | Query channels List and filter channels across the app by a Stream filter (e.g. by type or member), returning each channel's recent state and messages. |
stream_get_channel | read | Get channel Fetch a single channel's full state — its config, members and most recent messages — by channel type and id. |
stream_search_messages | read | Search messages Search messages across channels using full-text queries or structured message filters, scoped by a channel filter. |
stream_get_message | read | Get message Fetch a single message by its id, optionally including it even when it has been soft-deleted. |
stream_get_replies | read | Get replies Fetch the reply messages within a thread given the parent (thread-root) message id. |
stream_get_reactions | read | Get reactions List the reactions attached to a specific message, with pagination for messages that have many reactions. |
stream_query_members | read | Query members List and filter the members of one channel, with optional member filters like name autocomplete and sort order. |
stream_query_users | read | Query users List and filter users across the app by attributes such as role or id, with sorting and pagination. |
stream_query_threads | read | Query threads List threads (messages that have replies), optionally scoped to a user's participation and read-state, with a preview of recent replies. |
stream_get_unread_counts | read | Get unread counts Fetch total and per-channel unread message and mention counts for a single user. |
stream_send_message | write | Send message Post a new message to a channel, attributed to an existing user id, with optional @mentions. |
stream_send_reaction | write | Send reaction Add a reaction (such as like or love) to a message, attributed to an existing user id. |
stream_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
stream_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED Stream tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Pro | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.