Stoat integration
Stoat (formerly Revolt) is an open-source chat platform with servers, channels, groups and direct messages. With a bot token, send, edit, search, pin, react to and delete messages; read and edit servers, channels, roles, permissions, members, bans, invites, emoji and audit logs; open DMs, create channel webhooks and edit the bot's own profile. Account, login, session, MFA, onboarding, push, settings-sync, read-marker and voice routes, friend, block and mutual routes, group and server creation, invite joining, Discover submissions, bot management, webhook routes that carry or return a webhook token, content reports and file uploads are not exposed. Authentication is a bot token sent in the X-Bot-Token header (create a bot in the client's user settings).
Say what should happen.
The workflow builds itself.
What you can do with Stoat
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Message, 9 operations
bulk_delete_messagesBulk delete messagesDELETEDeletes several messages at once by id; always requires the ManageMessages permission.delete_messageDelete messageDELETEDeletes a message you sent, or one you have permission to delete.get_messageGet messageGETReturns one message by its id: author, content, attachments, embeds, mentions, replies, reactions and edit time.list_messagesList messagesGETLists messages in a channel. Page with before or after (message ids), or center on one with nearby. The answer holds messages plus the users (and, in a server channel, members) they involve.pin_messagePin messagePOSTPins a message in a channel.search_messagesSearch messagesPOSTSearches messages in a channel by full-text query, or lists pinned messages (pinned=true, not combined with query). Page with before or after. The answer holds messages plus the users (and, in a server channel, members) they involve.send_messageSend messagePOSTSends a message to a channel: text content, replies, embeds, masquerade, and attachments by already uploaded attachment id. Use Idempotency-Key to avoid sending twice.unpin_messageUnpin messageDELETEUnpins a message in a channel.update_messageUpdate messagePATCHEdits the content or embeds of a message you sent previously.
Emoji, 4 operations
delete_emojiDelete emojiDELETEDeletes a custom emoji.get_emojiGet emojiGETReturns a custom emoji: name, parent server, creator, animated and nsfw.list_server_emojisList server emojisGETLists the custom emoji of a server.update_emojiUpdate emojiPATCHRenames a custom emoji.
Invite, 4 operations
create_channel_inviteCreate channel invitePOSTCreates an invite to a text channel; share the returned _id (the invite code). Optional max_uses and expires.delete_inviteDelete inviteDELETEDeletes an invite by its code.get_inviteGet inviteGETReturns an invite's details by its code: server or group name and icon, channel name and description, and the inviting user.list_server_invitesList server invitesGETLists all invites of a server.
Role, 4 operations
create_roleCreate rolePOSTCreates a server role; returns its id and the role.delete_roleDelete roleDELETEDeletes a server role.get_roleGet roleGETReturns a server role: name, permissions, colour, hoist and rank.update_roleUpdate rolePATCHEdits a server role: name, colour, hoist or icon. Send only the fields to change; remove clears listed fields.
Server member, 4 operations
get_server_memberGet server memberGETReturns one server member: nickname, avatar, roles, join time and timeout. With roles=true the member moves under member and roles holds the member's role objects keyed by role id.kick_memberKick memberDELETEKicks a member from the server.list_server_membersList server membersGETLists all members of a server with the matching user objects; exclude_offline drops offline users.update_server_memberUpdate server memberPATCHEdits a server member: nickname, avatar, roles, timeout, voice mute or deafen. Send only the fields to change; remove clears listed fields.
Ban, 3 operations
ban_userBan userPUTBans a user from the server, optionally deleting their recent messages.list_bansList bansGETLists the bans of a server with the banned users.unban_userUnban userDELETERemoves a user's ban from the server.
Channel, 3 operations
delete_channelDelete channelDELETEDeletes a server channel, leaves a group, or closes a group.get_channelGet channelGETReturns a channel by its id. channel_type tells a SavedMessages, DirectMessage, Group, TextChannel or VoiceChannel apart.update_channelUpdate channelPATCHEdits a channel: name, description, icon, nsfw, archived, slowmode, or group owner. Send only the fields to change; remove clears listed fields.
Group member, 3 operations
add_group_memberAdd group memberPUTAdds a user to a group channel.list_group_membersList group membersGETLists the users in a group channel. May not return full user information for users who are not friends.remove_group_memberRemove group memberDELETERemoves a user from a group channel.
Reaction, 3 operations
add_reactionAdd reactionPUTAdds your reaction to a message.clear_reactionsClear reactionsDELETERemoves all reactions from a message. Requires the ManageMessages permission.remove_reactionRemove reactionDELETERemoves one reaction from a message: yours by default, a given user's with user_id, or everyone's with remove_all. Others' reactions need ManageMessages.
Server, 3 operations
delete_or_leave_serverDelete or leave serverDELETEDeletes the server when you own it, otherwise leaves it.get_serverGet serverGETReturns a server by its id: owner, name, description, channel ids, categories, system message channels, roles and default permissions.update_serverUpdate serverPATCHEdits a server: name, description, icon, banner, categories, system message channels, flags, discoverable, analytics or owner. Send only the fields to change.
User, 3 operations
get_current_userGet current userGETReturns the authenticated user (the bot's own user): id, username, discriminator, display name, avatar, status, badges and flags.get_userGet userGETReturns a user's information by id: username, discriminator, display name, avatar, status, badges, flags, and bot details when the user is a bot.update_current_userUpdate current userPATCHEdits the authenticated user (the bot's own profile): display name, pronouns, avatar, status or profile. Send only the fields to change; remove clears listed fields.
Webhook, 3 operations
create_webhookCreate webhookPOSTCreates a webhook on a channel that third-party platforms can use to send messages. The response holds the new webhook id and its token.delete_webhookDelete webhookDELETEDeletes a webhook by its id.get_webhookGet webhookGETReturns a webhook's id, name, avatar, channel and permissions (not its token).
Channel permission, 2 operations
set_channel_default_permissionsSet channel default permissionsPUTSets the default permissions of a group or text channel: an integer bit field for a group, an allow and deny override for a server channel.set_channel_role_permissionsSet channel role permissionsPUTSets the allow and deny permissions of a server role in one text channel; returns the updated channel.
Direct message channel, 2 operations
list_direct_message_channelsList direct message channelsGETLists your direct message channels, including DM and group DM conversations.open_direct_messageOpen direct messageGETOpens (or returns the existing) direct message channel with a user; pass its _id to send_message. If the target is yourself, the saved messages channel is returned.
Server permission, 2 operations
set_server_default_permissionsSet server default permissionsPUTSets the permissions of the server's default role (a permission bit field); returns the updated server.set_server_role_permissionsSet server role permissionsPUTSets the allow and deny permissions of a role across the server; returns the updated server.
Audit log, 1 operation
list_audit_logsList audit logsGETLists a server's audit log entries with the users and members involved. Filter by the user who acted (user), the user acted on (target) or action type; page with before or after (entry ids).
Bot, 1 operation
get_public_botGet public botGETReturns the public details of a public (or owned) bot by its id: username, avatar, description, policy URLs and default permissions.
Role rank, 1 operation
update_role_ranksUpdate role ranksPATCHSets the order of the server's roles; returns the updated server.
Server channel, 1 operation
create_server_channelCreate server channelPOSTCreates a text or voice channel in a server.
User flags, 1 operation
get_user_flagsGet user flagsGETReturns a user's flags bit field.
User profile, 1 operation
get_user_profileGet user profileGETReturns a user's profile (description content and background). Fails if you do not have permission to access that user's profile.
Use Stoat from Claude Code, Cursor or Codex
Connect Stoat in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Stoat operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Stoat
- Create your workspace
Sign up free. Nothing to install.
- Connect Stoat once
Add your Stoat connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Stoat integration FAQ
What can you do with the Stoat integration?
LiveContext exposes 58 operations on Stoat, covering message, emoji, invite and role.
