Discord Raw API MCP服务器
](https://smithery.ai/server/@hanweg/mcp-discord-raw) 此MCP服务器通过一个灵活的工具提供原始Discord API访问。它同时支持REST API调用和斜杠命令语法。
安装
通过Smithery安装
通过自动安装Discord Raw API for Claude Desktop 史密瑟里:
npx -y @smithery/cli install @hanweg/mcp-discord-raw --client claude手动安装
- 设置你的Discord机器人:
- 在以下位置创建新应用程序 Discord开发者门户 - 创建一个机器人并复制令牌 - 启用所需的特权意图: - 消息内容意图 - 在场意图 - 服务器成员意图 - 使用OAuth2 URL生成器将机器人邀请到您的服务器
- 克隆并安装软件包:
# 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 .配置
将此添加到您的 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
}
}Slash命令风格
{
"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工具: 该工具名为discrid_api,有三个参数:
- 方法:HTTP方法(“GET”、“POST”、“PUT”、“PATCH”、“DELETE”)
- endpoint:Discord API端点(例如,“公会/{公会.id}/角色”)
- payload:请求正文的可选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和可用于后续请求的其他元数据。 专业提示:
- 保存创建请求返回的ID以用于后续请求
- ~~ Unicode表情符号可以直接包含在消息内容中~~?告诉模特使用不和谐的表情符号,比如:champagne_glass:-带有unicode表情符号的消息挂在Claude Desktop上?
- 频道类型:0=文本,2=语音,4=类别,13=舞台
- 角色颜色采用十进制格式(不是十六进制)
- 大多数修改端点使用PATCH方法
- 空有效载荷应为{}而非null“
许可证
MIT许可证
