Skip to main content
Glama

Stream MCP by usefulapi

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
70.5% over 54 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.7/5.0

Scored across 13 tools

Disambiguation4/5

Most tools clearly target distinct resources or actions, and the get_/query_/search_ prefixes help separate single-resource fetches from filtered lists. The main ambiguity is between get_channel and query_channels, since both return channel state and recent messages, and get_replies vs query_threads both surface threaded conversations.

Naming Consistency5/5

All tools follow a consistent stream_ prefix with clear verb_noun snake_case names. get_ is used for direct lookups, query_ for filtered listings, search_ for full-text search, and send_ for write actions, making the naming pattern highly predictable.

Tool Count5/5

With 13 tools, the set is well-scoped for a Stream chat integration covering app config, channels, messages, reactions, members, threads, users, and search. Each tool corresponds to a meaningful API surface without excessive fragmentation.

Completeness2/5

The read side is fairly comprehensive, but the write surface is severely limited: there is no update/delete for messages or reactions, no channel management, and no member or user mutations. Agents can look up and send content but cannot edit, moderate, or manage the chat environment, which is a significant gap for a chat API server.

Available Tools

13 tools
stream_get_appGet app settings
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

stream_get_channelGet channel state + recent messages
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesChannel id (the part after the type).
typeYesChannel type, e.g. "messaging", "team", "livestream".
messages_limitNoRecent messages to return. Default 25.
stream_get_messageGet a message
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage id.
show_deletedNoInclude the message even if soft-deleted. Default false.
stream_get_reactionsGet message reactions
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage id.
limitNoMax reactions. Default 50.
offsetNoPagination offset.
stream_get_repliesGet thread replies
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax replies (<=300). Default 25.
parent_idYesParent (thread-root) message id.
stream_get_unread_countsGet unread counts for a user
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUser id to fetch unread counts for.
stream_query_channelsQuery channels
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoDefault [{"field":"last_message_at","direction":-1}].
limitNoMax channels (<=30). Default 30.
filterNoStream filter_conditions object, e.g. {"type":"messaging"} or {"members":{"$in":["u1"]}}. Default {} (all channels the app can see).
offsetNoPagination offset.
message_limitNoRecent messages per channel to include. Default 25.
stream_query_membersQuery channel members
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesChannel id.
sortNoSort spec, e.g. [{"field":"created_at","direction":1}].
typeYesChannel type, e.g. "messaging".
limitNoMax members (<=100). Default 100.
filterNoMember filter_conditions, e.g. {"user_id":{"$in":["u1","u2"]}}. Default {}.
offsetNoPagination offset.
stream_query_threadsQuery threads
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort spec for threads.
limitNoMax threads (<=25). Default 10.
user_idNoUser id to scope thread participation/read-state to.
reply_limitNoReplies to preview per thread. Default 3.
stream_query_usersQuery users
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort spec, e.g. [{"field":"created_at","direction":-1}].
limitNoMax users (<=100). Default 100.
filterNoUser filter_conditions, e.g. {"role":{"$eq":"admin"}}. Default {} (all users).
offsetNoPagination offset.
stream_search_messagesSearch messages
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nextNoPagination cursor returned by a previous search.
sortNoSort spec for results.
limitNoMax results (<=100). Default 20.
queryNoFull-text search string. Provide this OR message_filter.
filterYesChannel filter_conditions, e.g. {"type":"messaging"} or {"members":{"$in":["u1"]}}.
message_filterNoMessage filter object, e.g. {"text":{"$q":"refund"}} or {"attachments":{"$exists":true}}.
stream_send_messageSend a message (WRITE — posts to Stream)
Destructive
Inspect

⚠️ 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesChannel id.
textYesMessage text.
typeYesChannel type, e.g. "messaging".
user_idYesExisting user id to send the message as.
mentioned_usersNoUser ids to @mention.
stream_send_reactionSend a reaction (WRITE — posts to Stream)
Destructive
Inspect

⚠️ 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage id to react to.
user_idYesExisting user id to react as.
reaction_typeYesReaction type, e.g. "like", "love", "haha".

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updates
    • Changedstream_get_app1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_get_channel1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_get_message1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_get_reactions1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_get_replies1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_get_unread_counts1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_query_channels1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_query_members1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_query_threads1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_query_users1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_search_messages1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_send_message1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedstream_send_reaction1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 13 tool updates
    • First observedstream_get_app
    • First observedstream_get_channel
    • First observedstream_get_message
    • First observedstream_get_reactions
    • First observedstream_get_replies
    • First observedstream_get_unread_counts
    • First observedstream_query_channels
    • First observedstream_query_members
    • First observedstream_query_threads
    • First observedstream_query_users
    • First observedstream_search_messages
    • First observedstream_send_message
    • First observedstream_send_reaction

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and retrieving information from Slack messages, threads, files, canvases, and user profiles using a User Token, with advanced filtering capabilities.
    50
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Provides read-only Discord access, enabling listing guilds, mapping channels, reading and searching messages, following threads, and viewing attachments without posting.
    12
    1
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Read-only MCP access to a personal Telegram account. Allows querying chats, reading and searching messages via Streamable HTTP.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables authorized MCP clients to perform five read-only operations — checking connection status, listing conversations, reading messages, searching, and polling for changes — over selected Discord server channels and DMs, with scope-based authentication, retention limits, and no ability to send messages or moderate.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.