内容
# Discord MCP
一款使用 OAuth 与您的个人 Discord 账户进行身份验证的 Discord MCP(模型上下文协议)服务器。
## 设置
### 1. 创建 Discord 应用程序
1. 前往 [Discord 开发者门户](https://discord.com/developers/applications)
2. 点击 "新建应用程序" 并为其命名
3. 在侧边栏中前往 **OAuth2**
4. 添加重定向 URI:`http://localhost:8910/callback`
5. 复制您的 **客户端 ID** 和 **客户端密钥**
### 2. 安装
```bash
pnpm install
pnpm build
```
### 3. 身份验证
运行身份验证命令以链接您的 Discord 账户:
```bash
pnpm auth
```
这将:
1. 提示输入您的客户端 ID 和客户端密钥(仅第一次)
2. 打开您的浏览器以授权应用程序
3. 将您的令牌保存到 `~/.config/discord-mcp/config.json`
## 用法
### 与 Claude Desktop 配合使用
添加到您的 Claude Desktop 配置(`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/discord-mcp/dist/index.js"]
}
}
}
```
### 与 Claude Code 配合使用
添加到您的 Claude Code MCP 设置:
```json
{
"mcpServers": {
"discord": {
"command": "node",
"args": ["/path/to/discord-mcp/dist/index.js"]
}
}
}
```
## 可用工具
| 工具 | 描述 |
|------|-------------|
| `get_current_user` | 获取您的 Discord 个人资料 |
| `get_guilds` | 列出您是成员的服务器 |
| `get_guild_member` | 获取您在特定服务器中的成员信息 |
| `get_connections` | 获取您的关联账户(Twitch、YouTube 等) |
| `get_guild_channels` | 列出服务器中的频道(受 OAuth 作用域限制) |
## OAuth 作用域
此 MCP 请求以下作用域:
- `identify` - 访问您的用户名、头像和横幅
- `email` - 访问您的电子邮件地址
- `guilds` - 列出您所在的服务器
- `guilds.members.read` - 读取您在服务器中的成员信息
## 限制
与机器人令牌相比,Discord 的用户 OAuth 作用域有限。您 **无法**:
- 读取频道中的消息内容
- 发送消息
- 管理服务器设置
对于这些功能,您需要一个机器人。此 MCP 仅用于个人账户数据访问。
## 令牌刷新
令牌在过期时会自动刷新。您的刷新令牌存储在本地的 `~/.config/discord-mcp/config.json` 中。
## 许可证
MIT