# Revolt — how to use (mcp.ai)

Connect your Revolt account and use 26 tools for communication straight from your AI agent. Connect with your own API key. Revolt is a free and open-source chat platform offering secure and customizable communication.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_revolt?ms=1787295840000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `revolt_acknowledge_policy_changes`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/revolt`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/revolt/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/revolt/acknowledge/policy/changes` — Tool to acknowledge platform policy changes. Use when accepting or confirming policy updates for your bot account.
- `POST https://api.mcp.ai/api/revolt/add/channels/messages/reactions` — Tool to add a reaction to a message in a channel. Use when you want to react with an emoji to a specific message. Returns success on completion.
  - body: { msg: string, emoji: string, target: string }
- `POST https://api.mcp.ai/api/revolt/block/user` — Tool to block another user by their ID. Use when you need to prevent interactions with a specific user.
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/create/sync/settings/set` — Tool to upload and save settings data to Revolt's sync storage. Use when you need to persist user settings or preferences.
  - body: { settings: object, timestamp?: integer }
- `POST https://api.mcp.ai/api/revolt/delete/message` — Tool to delete a message you've sent or one you have permission to delete. Use when you need to remove a message from a channel.
  - body: { channel_id: string, message_id: string }
- `POST https://api.mcp.ai/api/revolt/delete/messages/bulk` — Tool to bulk delete multiple messages from a channel. Use when you need to delete multiple messages at once. Requires ManageMessages permission regardless of message ownership. Messages must have been
  - body: { channel_id: string, message_ids: string[] }
- `POST https://api.mcp.ai/api/revolt/fetch/owned/bots` — Tool to fetch all bots that you have control over. Use when you need to retrieve information about bots owned by the authenticated user account.
- `POST https://api.mcp.ai/api/revolt/fetch/sync/settings` — Tool to fetch settings from server filtered by keys. Returns an object with the requested keys where each value is a tuple of (timestamp, value). Only settings that exist on the server will be include
  - body: { keys: string[] }
- `POST https://api.mcp.ai/api/revolt/fetch/user` — Tool to fetch detailed information about a user. Use when you have a valid user ID and need full account details. Call after authenticating with bot token.
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/revolt/fetch/user/flags` — Tool to fetch flags associated with a specific user. Use after obtaining the user ID to inspect their special statuses or roles.
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/revolt/get/api/info` — Tool to fetch the server configuration for this Revolt instance. Use when you need to discover API version, feature availability, WebSocket endpoints, or service URLs.
- `POST https://api.mcp.ai/api/revolt/get/channel` — Tool to fetch a channel by its ID. Use when you need to retrieve detailed information about a specific channel.
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/get/current/user` — Tool to retrieve your own user information. Use when you need to fetch details about the authenticated user account.
- `POST https://api.mcp.ai/api/revolt/get/invite` — Tool to fetch detailed information about an invite by its code. Use when you have a valid invite code and need to retrieve invite details including server info, channel info, and member count.
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/get/sync/unreads` — Tool to fetch information about unread state on channels. Use when you need to check which channels have unread messages or mentions.
- `POST https://api.mcp.ai/api/revolt/get/user/profile` — Tool to retrieve a user's profile data including bio and background. Use when you need profile-specific information beyond basic user data. Will fail if you do not have permission to access the target
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/get/users/default/avatar` — Tool to fetch a user's default avatar image based on their ID. Use when you need to retrieve the default avatar picture for a specific user.
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/get/users/dm` — Tool to open a DM with another user. Use when you need to start or access a direct message conversation. If the target is oneself, returns a saved messages channel.
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/get/users/dms` — Tool to fetch all direct message conversations for the authenticated user. Use when you need to list all DM and group DM channels.
- `POST https://api.mcp.ai/api/revolt/pin/message` — Tool to pin a message in a channel by its ID. Use when you need to highlight important messages for channel members.
  - body: { msg: string, target: string }
- `POST https://api.mcp.ai/api/revolt/remove/message/reaction` — Tool to remove a reaction from a message. Use when you need to remove your own, someone else's, or all reactions of a given emoji from a message. Requires ManageMessages permission if removing others'
  - body: { msg: string, emoji: string, target: string, user_id?: string, remove_all?: boolean }
- `POST https://api.mcp.ai/api/revolt/send/channels/messages` — Tool to send a message to a Revolt channel. Use when you need to post a text message, embed, or attachment to a specific channel. Call after authenticating with bot token.
  - body: { flags?: integer, nonce?: string, embeds?: object[], target: string, content?: string, replies?: object[], masquerade?: object, attachments?: string[], interactions?: object, idempotency_key?: string }
- `POST https://api.mcp.ai/api/revolt/unblock/user` — Tool to unblock another user by their ID. Use when you need to remove a block on a specific user. The relationship status will change from 'Blocked' to 'None' after successful execution.
  - body: { target: string }
- `POST https://api.mcp.ai/api/revolt/unpin/message` — Tool to unpin a message in a channel. Use when you need to remove a pinned message from the channel's pinned messages list.
  - body: { channel_id: string, message_id: string }
- `POST https://api.mcp.ai/api/revolt/update/channels/messages` — Tool to edit a message that you've previously sent in a channel. Use when you need to update the content or embeds of an existing message. At least one of content or embeds must be provided.
  - body: { msg: string, embeds?: object[], target: string, content?: string }
- `POST https://api.mcp.ai/api/revolt/update/user` — Tool to update user information. Use when you need to modify user profile or status fields. Call after authenticating with bot token.
  - body: { clear?: string[], avatar?: string, user_id: string, status_text?: string, profile_content?: string, profile_background?: string }

## Example prompts
- "What can I do in Revolt?"
- "Show me a summary of my Revolt account"

## More
- Page: https://mcp.ai/revolt
- Agent spec (llms.txt): https://mcp.ai/revolt/llms.txt
- Postman collection: https://mcp.ai/revolt/postman.json
