About guildchat
guildchat is a Discord client for agents and community chat workflows, covering guilds, channels, text messages, and reactions. Its tools map directly to Discord REST API v10 endpoints and form a defined subset rather than a full Discord integration.
Key features
- 01List and inspect guilds
- 02List and inspect channels
- 03Send, read, edit, and delete messages
- 04Add message reactions
- 05Bot-authenticated REST API calls
Use cases
- 01Inspect guilds and their channels
- 02Send messages to a Discord channel
- 03Read or update channel messages
- 04React to a message as a bot
MCP support
Exposes Discord guild, channel, message, reaction, and current-user operations as tools for MCP clients. Calls use Discord REST API v10 and require DISCORD_TOKEN.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
10Saved tool list · updated 1w ago
This tool takes no parameters.
Details
From the project READMEguildchat
guildchat is a small Discord client for agents: it covers the part of Discord that community chat work actually needs — guilds, channels, plain-text messages, and reactions — and maps each tool 1:1 to a Discord REST API v10 endpoint. It is a defined core subset, not a full Discord integration: there is no voice, no thread or forum management, no role or permission editing, no member moderation, no webhooks, no slash-command registration, and no gateway event stream.
Every call is made as a bot, with Authorization: Bot <DISCORD_TOKEN>. Set DISCORD_TOKEN before starting the server;
a call made without it fails with an error naming the variable.
The API base defaults to https://discord.com/api/v10 and can be
overridden with DISCORD_API_BASE.
Install
npx @reneturcios/guildchat list_guilds
docker run -i ghcr.io/cloudcorprecords/guildchat
CLI
guildchat list_guilds
guildchat get_guild <guild_id>
guildchat list_channels <guild_id>
guildchat send_message <channel_id> hello everyone
guildchat read_messages <channel_id> --limit 25
guildchat add_reaction <channel_id> <message_id> 👍
guildchat get_current_user
guildchat --version
Exit codes: 0 success, 1 API error, 2 usage error.
MCP server
npx -y @reneturcios/guildchat mcp
{
"mcpServers": {
"guildchat": {
"command": "npx",
"args": ["-y", "@reneturcios/guildchat", "mcp"],
"env": { "DISCORD_TOKEN": "your-bot-token" }
}
}
}
Tools
| Tool | Input | Discord endpoint |
|---|---|---|
list_guilds | — | GET /users/@me/guilds |
get_guild | guild_id | GET /guilds/{id} |
list_channels | guild_id | GET /guilds/{id}/channels |
get_channel | channel_id | GET /channels/{id} |
send_message | channel_id, content | POST /channels/{id}/messages |
read_messages | channel_id, limit?, before? | GET /channels/{id}/messages |
edit_message | channel_id, message_id, content | PATCH /channels/{id}/messages/{mid} |
delete_message | channel_id, message_id | DELETE /channels/{id}/messages/{mid} |
add_reaction | channel_id, message_id, emoji | PUT /channels/{id}/messages/{mid}/reactions/{emoji}/@me |
get_current_user | — | GET /users/@me |
Reaction emoji are URL-encoded into the request path, as Discord requires. Upstream HTTP errors are reported as tool errors with the status and response detail.
Development
npm install
npm run build
npm test
Tests run entirely on fake-fetch fixtures; no network and no real bot token are used.
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.