Discord对话记录器MCP服务器
MCP(模型上下文协议)服务器,允许AI助手将对话记录到Discord进行审查和历史跟踪。
概述
此MCP服务器为AI助手在Discord中维护对话日志提供了一种简单的方法。它适用于:
- 审计跟踪:记录重要的互动和决策
- 审查:轻松回顾过去的对话和背景
- 协作:与团队成员共享对话历史记录
- 调试:跟踪问题及其解决方案
特性
- 记录不同角色(人员、助理、系统)的消息
- 颜色编码的Discord嵌入,便于识别
- 为有组织的日志自动创建线程
- 所有消息上的时间戳
- 可选上下文元数据
需求
- 锈蚀(1.70或更高)
- Discord帐户和机器人
- MCP兼容的AI客户端(克劳德桌面、克劳德代码等)
设置
1.创建Discord Bot
- 首选 Discord开发者门户
- 创建新应用程序
- 在bot部分创建一个bot并获取令牌
- 设置所需权限:
- 发送消息 - 创建公共线程 - 读取消息历史记录 - 嵌入链接
- 在Bot部分启用特权网关意图:
- 消息内容意图
2.安装
cargo install --git https://github.com/SH11235/discord-conversation-logger.git或者克隆并在本地构建:
git clone https://github.com/SH11235/discord-conversation-logger.git
cd discord-conversation-logger
cargo install --path .配置
Claude代码的快速设置
- 从存储库目录运行安装脚本:
./setup-discord-env.sh- 编辑
~/.claude/discord-config.json使用您的Discord凭据:
{
"bot_token": "YOUR_DISCORD_BOT_TOKEN",
"channel_id": "YOUR_CHANNEL_ID",
"thread_name": "Conversation Log" // Optional, defaults to "Conversation Log"
}- 加载环境变量(测试可选):
source ./load-discord-env.sh- 将MCP服务器添加到Claude代码中:
# First, load the environment variables (if using discord-config.json):
source ./load-discord-env.sh
# For global use (available in all projects):
claude mcp add -s user discord-conversation-logger discord-conversation-logger \
-e DISCORD_TOKEN="$DISCORD_TOKEN" \
-- --log-channel-id "$LOG_CHANNEL_ID" --log-thread-name "$LOG_THREAD_NAME"
# Or manually specify values:
claude mcp add -s user discord-conversation-logger discord-conversation-logger \
-e DISCORD_TOKEN="your-actual-discord-bot-token" \
-- --log-channel-id "123456789012345678" --log-thread-name "Conversation Log"
# For local project use (default):
claude mcp add discord-conversation-logger discord-conversation-logger \
-e DISCORD_TOKEN="$DISCORD_TOKEN" \
-- --log-channel-id "$LOG_CHANNEL_ID" --log-thread-name "$LOG_THREAD_NAME"注意:MCP服务器从环境变量或命令行参数读取配置,而不是直接从 ~/.claude/discord-config.json.
手动配置
或者,您可以手动将以下内容添加到MCP配置文件中(~/.claude.json):
{
"mcpServers": {
"discord-conversation-logger": {
"command": "discord-conversation-logger",
"args": [
"--log-channel-id", "your-channel-id",
"--log-thread-name", "AI Conversation Log"
],
"env": {
"DISCORD_TOKEN": "your-discord-bot-token"
}
}
}
}环境变量
DISCORD_TOKEN:您的Discord机器人令牌LOG_CHANNEL_ID:日志的Discord通道IDLOG_THREAD_NAME:线程名称(默认值:“对话日志”)
线程命名
记录器会自动将当前工作目录包含在线程名称中。例如:
- 如果
LOG_THREAD_NAME是“对话日志”,您正在其中工作/home/user/project - 实际线程名称将是:“对话日志\[/home/user/project\]”
这有助于确定对话日志属于哪个项目或上下文。
用法
配置后,AI助手可以使用 log_conversation 工具:
Assistant: I'll log this important decision.
[Uses log_conversation tool with role="assistant", message="Implemented feature X with approach Y"]消息角色
- 人:用户消息和请求(蓝色)
- 助手:人工智能响应和行动(绿色)
- 系统:系统消息、错误或元数据(灰色)
示例用法
{
"role": "human",
"message": "Please implement a new authentication system",
"context": "feature-request"
}消息格式
记录的消息在Discord中显示为嵌入式消息,其中包含:
- 标题:带有表情符号的角色指示器(💬 人类,💬 助理,💬 系统)
- 颜色:特定角色的颜色编码
- 内容:消息文本
- 时间戳:自动时间戳
- 页脚:可选上下文信息
查找不一致ID
获取频道ID
- 在Discord中启用开发人员模式(设置→ 高级→ 开发者模式)
- 右键单击频道→ “复制ID”
发展
贡献或修改:
git clone https://github.com/SH11235/discord-conversation-logger.git
cd discord-conversation-logger
cargo build
cargo run -- --log-channel-id YOUR_CHANNEL_ID许可证
MIT许可证-有关详细信息,请参阅许可证文件
CLAUDE.md配置示例
使用Claude Code时,您可以创建 CLAUDE.md 在项目中创建文件以建立日志规则:
# Discord Conversation Logger Rules
## Important Message Logging Rules
Please use discord-conversation-logger MCP to log messages in the following cases:
### 1. User Messages (human)
- Task start/change/completion instructions
- Important decisions or confirmations
- Error reports or issue identification
### 2. Assistant Messages (assistant)
- Task completion reports
- Important suggestions or solutions
- Error resolution methods
- Summary of significant changes made
### 3. System Messages (system)
- Critical errors or warnings
- Important environment changes
- Security-related notifications
## Logging Format
mcp_disscored对话触发器\_\_log_conversation( message:“实际消息内容”, 角色:“人”|“助手”|“系统”, context:“简要上下文描述” )
## Cases Not Requiring Logs
- Simple acknowledgments
- Intermediate progress reports
- Temporary debug outputs此配置有助于维护重要项目决策和进度的审计跟踪。
贡献
欢迎投稿!请随时提交拉取请求。
致谢
构建使用:
