Serveur MCP

stream

io.usefulapi/stream
Communication Indisponible MCP 2025-11-25

Ce que fait ce MCP

Queries Stream Chat channels, users, members, messages, threads, reactions, and unread counts, and can post messages or reactions.

stream_get_app
Get app settings
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.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
stream_get_channel
Get channel state + recent messages
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.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'id'], 'properties': {'id': {'type': 'string', 'description': 'Channel id (the part after the type).'}, 'type': {'type': 'string', 'description': 'Channel type, e.g. "messaging", "team", "livestream".'}, 'messages_limit': {'type': 'integer', 'maximum': 300, 'minimum': 0, 'description': 'Recent messages to return. Default 25.'}}}
stream_get_message
Get a message
Fetch a single message by its id. GET /api/v2/chat/messages/{id}.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Message id.'}, 'show_deleted': {'type': 'boolean', 'description': 'Include the message even if soft-deleted. Default false.'}}}
stream_get_reactions
Get message reactions
List the reactions on a message. GET /api/v2/chat/messages/{id}/reactions.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Message id.'}, 'limit': {'type': 'integer', 'maximum': 300, 'description': 'Max reactions. Default 50.', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination offset.'}}}
stream_get_replies
Get thread replies
Fetch the reply messages in a thread, given the parent message id. GET /api/v2/chat/messages/{parent_id}/replies.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parent_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 300, 'description': 'Max replies (<=300). Default 25.', 'exclusiveMinimum': 0}, 'parent_id': {'type': 'string', 'description': 'Parent (thread-root) message id.'}}}
stream_get_unread_counts
Get unread counts for a user
Fetch total and per-channel unread message/mention counts for one user. GET /api/v2/chat/unread.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'User id to fetch unread counts for.'}}}
stream_query_channels
Query channels
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.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'direction'], 'properties': {'field': {'type': 'string'}, 'direction': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'description': 'Default [{"field":"last_message_at","direction":-1}].'}, 'limit': {'type': 'integer', 'maximum': 30, 'description': 'Max channels (<=30). Default 30.', 'exclusiveMinimum': 0}, 'filter': {'type': 'object', 'description': 'Stream filter_conditions object, e.g. {"type":"messaging"} or {"members":{"$in":["u1"]}}. Default {} (all channels the app can see).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination offset.'}, 'message_limit': {'type': 'integer', 'maximum': 300, 'minimum': 0, 'description': 'Recent messages per channel to include. Default 25.'}}}
stream_query_members
Query channel members
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.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'id'], 'properties': {'id': {'type': 'string', 'description': 'Channel id.'}, 'sort': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'direction'], 'properties': {'field': {'type': 'string'}, 'direction': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'description': 'Sort spec, e.g. [{"field":"created_at","direction":1}].'}, 'type': {'type': 'string', 'description': 'Channel type, e.g. "messaging".'}, 'limit': {'type': 'integer', 'maximum': 100, 'description': 'Max members (<=100). Default 100.', 'exclusiveMinimum': 0}, 'filter': {'type': 'object', 'description': 'Member filter_conditions, e.g. {"user_id":{"$in":["u1","u2"]}}. Default {}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination offset.'}}}
stream_query_threads
Query threads
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.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'direction'], 'properties': {'field': {'type': 'string'}, 'direction': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'description': 'Sort spec for threads.'}, 'limit': {'type': 'integer', 'maximum': 25, 'description': 'Max threads (<=25). Default 10.', 'exclusiveMinimum': 0}, 'user_id': {'type': 'string', 'description': 'User id to scope thread participation/read-state to.'}, 'reply_limit': {'type': 'integer', 'maximum': 10, 'minimum': 0, 'description': 'Replies to preview per thread. Default 3.'}}}
stream_query_users
Query users
List/filter users in the app. e.g. filter {"role":{"$eq":"admin"}} or {"id":{"$in":["u1"]}}. GET /api/v2/users.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'sort': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'direction'], 'properties': {'field': {'type': 'string'}, 'direction': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'description': 'Sort spec, e.g. [{"field":"created_at","direction":-1}].'}, 'limit': {'type': 'integer', 'maximum': 100, 'description': 'Max users (<=100). Default 100.', 'exclusiveMinimum': 0}, 'filter': {'type': 'object', 'description': 'User filter_conditions, e.g. {"role":{"$eq":"admin"}}. Default {} (all users).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'Pagination offset.'}}}
stream_search_messages
Search messages
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.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['filter'], 'properties': {'next': {'type': 'string', 'description': 'Pagination cursor returned by a previous search.'}, 'sort': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'direction'], 'properties': {'field': {'type': 'string'}, 'direction': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}}, 'description': 'Sort spec for results.'}, 'limit': {'type': 'integer', 'maximum': 100, 'description': 'Max results (<=100). Default 20.', 'exclusiveMinimum': 0}, 'query': {'type': 'string', 'description': 'Full-text search string. Provide this OR message_filter.'}, 'filter': {'type': 'object', 'description': 'Channel filter_conditions, e.g. {"type":"messaging"} or {"members":{"$in":["u1"]}}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'message_filter': {'type': 'object', 'description': 'Message filter object, e.g. {"text":{"$q":"refund"}} or {"attachments":{"$exists":true}}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}}}
stream_send_message
Send a message (WRITE — posts to Stream)
⚠️ 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.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['type', 'id', 'text', 'user_id'], 'properties': {'id': {'type': 'string', 'description': 'Channel id.'}, 'text': {'type': 'string', 'minLength': 1, 'description': 'Message text.'}, 'type': {'type': 'string', 'description': 'Channel type, e.g. "messaging".'}, 'user_id': {'type': 'string', 'description': 'Existing user id to send the message as.'}, 'mentioned_users': {'type': 'array', 'items': {'type': 'string'}, 'description': 'User ids to @mention.'}}}
stream_send_reaction
Send a reaction (WRITE — posts to Stream)
⚠️ 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.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'reaction_type', 'user_id'], 'properties': {'id': {'type': 'string', 'description': 'Message id to react to.'}, 'user_id': {'type': 'string', 'description': 'Existing user id to react as.'}, 'reaction_type': {'type': 'string', 'minLength': 1, 'description': 'Reaction type, e.g. "like", "love", "haha".'}}}
Ajouté
stream_send_reaction
21 September 2026 02:44
Ajouté
stream_send_message
21 September 2026 02:44
Ajouté
stream_get_unread_counts
21 September 2026 02:44
Ajouté
stream_query_threads
21 September 2026 02:44
Ajouté
stream_query_users
21 September 2026 02:44
Ajouté
stream_query_members
21 September 2026 02:44
Ajouté
stream_get_reactions
21 September 2026 02:44
Ajouté
stream_get_replies
21 September 2026 02:44
Ajouté
stream_get_message
21 September 2026 02:44
Ajouté
stream_search_messages
21 September 2026 02:44
Ajouté
stream_get_channel
21 September 2026 02:44
Ajouté
stream_query_channels
21 September 2026 02:44
Ajouté
stream_get_app
21 September 2026 02:44