Discord 原始 API MCP 服务器
此 MCP 服务器通过单一灵活的工具提供原始 Discord API 访问。它支持 REST API 调用和斜线命令语法。
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Discord Raw API:
npx -y @smithery/cli install @hanweg/mcp-discord-raw --client claude
手动安装
设置你的 Discord 机器人:
克隆并安装包:
# Clone the repository
git clone https://github.com/hanweg/mcp-discord-raw.git
cd mcp-discord-raw
# Create and activate virtual environment
uv venv
.venv\Scripts\activate
### If using Python 3.13+ - install audioop library: `uv pip install audioop-lts`
# Install the package
uv pip install -e .
Related MCP server: MCP-Discord
配置
将其添加到您的claude_desktop_config.json
"discord-raw": {
"command": "uv",
"args": [
"--directory",
"PATH/TO/mcp-discord-raw",
"run",
"discord-raw-mcp"
],
"env": {
"DISCORD_TOKEN": "YOUR-BOT-TOKEN"
}
}
用法
REST API 样式
{
"method": "POST",
"endpoint": "guilds/123456789/roles",
"payload": {
"name": "Bot Master",
"permissions": "8",
"color": 3447003,
"mentionable": true
}
}
斜线命令样式
{
"method": "POST",
"endpoint": "/role create name:Bot_Master color:blue permissions:8 mentionable:true guild_id:123456789"
}
示例
创建角色:
{
"method": "POST",
"endpoint": "/role create name:Moderator color:red permissions:moderate_members guild_id:123456789"
}
发送消息:
{
"method": "POST",
"endpoint": "channels/123456789/messages",
"payload": {
"content": "Hello from the API!"
}
}
获取服务器信息:
{
"method": "GET",
"endpoint": "guilds/123456789"
}
建议:
将服务器、频道和用户 ID 以及一些示例放入项目知识中,以避免必须提醒模型这些内容,以及类似这样的内容来启动它:
“以下是如何有效使用 Discord 原始 API 工具的方法:该工具称为 discord_api 并采用三个参数:
方法:HTTP 方法(“GET”、“POST”、“PUT”、“PATCH”、“DELETE”)
端点:Discord API 端点(例如,“guilds/{guild.id}/roles”)
有效载荷:请求主体的可选 JSON 对象我使用的关键示例:
创建角色:
discord_api
method: POST
endpoint: guilds/{server_id}/roles
payload: {
"name": "Role Name",
"color": 3447003, // Blue color in decimal
"mentionable": true
}
创建类别和频道:
// Category
discord_api
method: POST
endpoint: guilds/{server_id}/channels
payload: {
"name": "Category Name",
"type": 4 // 4 = category
}
// Text channel in category
discord_api
method: POST
endpoint: guilds/{server_id}/channels
payload: {
"name": "channel-name",
"type": 0, // 0 = text channel
"parent_id": "category_id",
"topic": "Channel description"
}
将频道移至类别:
discord_api
method: PATCH
endpoint: channels/{channel_id}
payload: {
"parent_id": "category_id"
}
发送消息:
discord_api
method: POST
endpoint: channels/{channel_id}/messages
payload: {
"content": "Message text with emojis \ud83d\ude04"
}
分配角色:
discord_api
method: PUT
endpoint: guilds/{server_id}/members/{user_id}/roles/{role_id}
payload: {}
该工具支持完整的 Discord API,因此您可以参考 Discord API 文档了解更多端点和功能。响应包含 ID 和其他元数据,可用于后续请求。专业提示:
执照
MIT 许可证