Skip to main content
Glama

guildchat

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

Related MCP server: Discord MCP Server

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to interact with Discord through the REST API and real-time events, supporting message management, user info, channel operations, and more with security controls.
      16 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.
      19 npm
      2
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI assistants to interact with Discord through the REST API, supporting message reading and sending, channel and guild management, threads, pins, and reactions.
      17
      MIT