Stream MCP by usefulapi

io.usefulapi/stream

Query channels, search messages, and read threads, users and reactions in your Stream Chat app.

Yes, your AI can use this right now.Answered a live MCP handshake in 155 ms with no sign-in needed and exposes 13 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://stream.usefulapi.io/mcp

13 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
stream_get_appread-only

Fetch the Stream app's settings and configured channel types. Good first call to confirm credentials and discover available channel types. GET /api/v2/app.

stream_query_channelsread-only

List/filter channels by a Stream query filter. e.g. filter {"type":"messaging"} or {"members":{"$in":["user-1"]}}. Returns channels with recent state. POST /api/v2/chat/channels.

stream_get_channelread-only

Fetch a single channel's state (config, members) and its most recent messages. Note: uses Stream's get-or-create endpoint — for an existing channel it reads; if the type/id does not exist it may be created empty. POST /api/v2/chat/channels/{type}/{id}/query.

stream_search_messagesread-only

Search messages across channels. Scope with a channel filter (filter, e.g. {"type":"messaging"}) plus EITHER a full-text `query` OR a `message_filter` object (e.g. {"text":{"$q":"refund"}}). GET /api/v2/chat/search.

stream_get_messageread-only

Fetch a single message by its id. GET /api/v2/chat/messages/{id}.

stream_get_repliesread-only

Fetch the reply messages in a thread, given the parent message id. GET /api/v2/chat/messages/{parent_id}/replies.

stream_get_reactionsread-only

List the reactions on a message. GET /api/v2/chat/messages/{id}/reactions.

stream_query_membersread-only

List/filter the members of one channel. Requires the channel type + id. Optional member filter, e.g. {"name":{"$autocomplete":"jo"}}. GET /api/v2/chat/members.

stream_query_usersread-only

List/filter users in the app. e.g. filter {"role":{"$eq":"admin"}} or {"id":{"$in":["u1"]}}. GET /api/v2/users.

stream_query_threadsread-only

List threads (messages with replies). Server-side calls should pass a user_id to scope thread read-state to that user. POST /api/v2/chat/threads.

stream_get_unread_countsread-only

Fetch total and per-channel unread message/mention counts for one user. GET /api/v2/chat/unread.

stream_send_messagecan modify

⚠️ WRITE: post a new message to a channel, attributed to user_id (must be an existing user in the app). POST /api/v2/chat/channels/{type}/{id}/message.

stream_send_reactioncan modify

⚠️ WRITE: add a reaction (e.g. "like", "love") to a message, attributed to user_id (must be an existing user). POST /api/v2/chat/messages/{id}/reaction.

Alternatives in Search & Research

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”