sendbird-mcp
by NoBanks
README.md
# sendbird-mcp
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io)
MCP server for [Sendbird](https://sendbird.com), the chat and messaging infrastructure platform. 5 tools for AI agents to provision chat users, create group channels, fetch channel history, send authoritative admin messages, and moderate disruptive users with temporary bans.
As of May 2026, Sendbird does not ship a standardized open-source MCP server. The only existing community attempt is a gated, proprietary connector hosted via a third-party iPaaS aggregator. This is the production-quality, self-hostable rail for external AI agents (Cursor, Claude Desktop, Hermes, LangChain) to natively manage Sendbird channels.
## The 5 tools
| Tool | Purpose |
|---|---|
| `create_chat_user` | Provision a new chat user ID and profile |
| `create_group_channel` | Spin up a new group chat channel for a set of users |
| `fetch_channel_history` | Read chronological message history of a channel |
| `send_admin_message` | Inject an authoritative message into a channel |
| `ban_disruptive_user` | Ban a user from a channel for a set time (moderation) |
## Install
```bash
pip install sendbird-mcp
```
## Configure
```bash
export SENDBIRD_APPLICATION_ID="your-sendbird-app-id"
export SENDBIRD_API_TOKEN="your-sendbird-master-api-token"
```
Get an Application ID and Master API Token in your Sendbird Dashboard under **Settings -> Application**. The Master API Token is highly privileged (can delete channels and users), keep it server-side only.
## Use with Claude Desktop
```json
{
"mcpServers": {
"sendbird": {
"command": "sendbird-mcp",
"env": {
"SENDBIRD_APPLICATION_ID": "your-sendbird-app-id",
"SENDBIRD_API_TOKEN": "your-sendbird-master-api-token"
}
}
}
}
```
Restart Claude Desktop. The 5 Sendbird tools are now available.
## Use case: AI chat operator / moderator
Typical agent flow:
1. Call `create_chat_user(user_id, nickname)` to provision a new user joining the app
2. Call `create_group_channel(user_ids, name)` to start a private chat
3. Call `fetch_channel_history(channel_url, message_ts)` to read context before responding
4. Call `send_admin_message(channel_url, user_id, message)` to post a system notice or AI reply
5. Call `ban_disruptive_user(channel_url, user_id, seconds, description)` to enforce community guidelines
## Architecture
- Public MIT-licensed wrapper around the Sendbird Platform REST API
- Async HTTP via `httpx`
- pydantic v2 input validation
- `Api-Token` header auth (Sendbird's non-Bearer scheme), server-side only
- Dynamic base URL built from `SENDBIRD_APPLICATION_ID`
- Rate-limit aware (429 returns a clean error per Sendbird plan tier)
## Security note
The Master API Token has admin-level access to your Sendbird application: it can delete users, delete channels, and post as any user. Vault it strictly in environment variables and never expose it to client-side code or agent context. CORS is not supported on Sendbird Platform endpoints, so all requests must run server-side.
## Development
```bash
git clone https://github.com/NoBanks/sendbird-mcp.git
cd sendbird-mcp
pip install -e ".[dev]"
pytest
```
## License
MIT. See [LICENSE](LICENSE).
## Author
Ryan Hammer (NoBanks). Solo founder + engineer. Built this and 9 other MCP servers as part of a sprint to expose AI agent rails for the products and platforms shipping daily.
- GitHub: [@NoBanks](https://github.com/NoBanks)
- X/Twitter: [@livingagentic](https://x.com/livingagentic)
- Site: [livingagentic.me](https://livingagentic.me), [nohumannearby.com](https://nohumannearby.com)
Open to AI engineering roles, contract or full-time, remote-only.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues