Skip to main content
Glama
AnswerDotAI

cordslite-mcp

Official
by AnswerDotAI
README.md
# cordslite-mcp

Read-only Discord access for Claude Desktop. The extension serves [cordslite](https://github.com/AnswerDotAI/cordslite) through an MCP server built with [mcpmini](https://github.com/AnswerDotAI/mcpmini), packed as an MCPB bundle. Claude can list the servers a bot has joined, map their channels, read and search messages, follow threads, and view image and text attachments. It cannot post, edit, or delete anything.

## Install

1. Create a bot in the [Discord Developer Portal](https://discord.com/developers/applications): create an application, add a bot under "Bot", and copy its token. Under "OAuth2", generate an invite URL with the `bot` scope and the "Read Messages/View Channels" and "Read Message History" permissions, then open it to invite the bot to your server.
2. Open `cordslite-mcp.mcpb` in Claude Desktop. It asks for the bot token, and optionally a default server id and your own account token. The account token unlocks the three DM tools. Discord's terms forbid automating a user account, so leave it empty unless you accept that; the token is the `Authorization` header the Discord web app sends, visible in the browser's developer tools. Claude Desktop installs Python and the dependencies itself through `uv`.

## Tools

- `list_guilds`: the servers the bot has joined, with their ids.
- `guild_tree`: a map of a server: categories, channels with their ids and topics, and members.
- `guild_channels`: the channels of a server, with ids, types, parent categories, and topics.
- `channel_messages`: the latest messages in a channel or thread, oldest first.
- `guild_search`: search a server's messages across all channels and threads, with author, channel, content type, and date filters.
- `channel_search`: search one channel's or thread's messages.
- `message_context`: the messages around one message.
- `find_member`: the user id of a server member, by username or nickname.
- `fetch_attachment`: an attachment's contents. Images come back as images, text files as text. Other types, and files above 8 MB, come back as metadata only.
- `list_dms`: the account's DMs and group DMs with their channel ids. Needs the user token.
- `dm_messages`: the latest messages in a DM or group DM, oldest first. Needs the user token.
- `dm_search`: search a DM or group DM. Needs the user token.

Message lines carry the timestamp, author, url, content, and any attachments as `[attachment: name (type, size) url]`.

## Development

`src/cordslite_mcp.py` holds the tools. Its module docstring is the guidance the server sends to the model, and each function's docments become the tool schema.

    uv sync
    DISCORD_BOT_TOKEN=... uv run mcpmini src/cordslite_mcp.py
    npx @anthropic-ai/mcpb validate manifest.json
    npx @anthropic-ai/mcpb pack

`mcpb pack` writes `cordslite-mcp.mcpb` in the project directory.

TDQS

A3.5/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target clearly distinct actions: listing servers, mapping a server, reading messages, searching, fetching attachments, and resolving members. The only mild overlap is between guild_tree and guild_channels, since both describe a server's structure, but their output purposes differ enough to avoid serious confusion.

Naming Consistency3/5

The naming is readable and mostly thematic, with search tools consistently suffixed as *_search and list tools prefixed as list_*. However, it mixes styles: verb_noun (find_member, fetch_attachment), noun_noun (channel_messages, message_context, guild_tree), and noun_verb (guild_search). The pattern is not chaotic, but it is not consistently applied.

Tool Count5/5

Twelve tools is a reasonable size for a Discord-focused server. Each tool covers a distinct need such as discovery, navigation, message retrieval, search, member lookup, attachment access, and DM support, without feeling padded or redundant.

Completeness4/5

The toolset provides strong read-side coverage of Discord: guilds, channels, categories, threads, messages, DMs, members, attachments, and search. The main gap is that it is entirely read-only, so sending messages or modifying Discord resources is not possible, but for a search/retrieval-oriented MCP server this is likely acceptable.

Maintenance

ActivityMaintained
ResponsivenessNo issues