DingTalk Bot
STDIOMCP server implementation for DingTalk robot with messaging and information retrieval capabilities.
MCP server implementation for DingTalk robot with messaging and information retrieval capabilities.
这是一个基于 MCP (Model Control Protocol) 的钉钉机器人服务器实现。它提供了与钉钉进行交互的各种功能,包括发送消息、获取会话信息、用户信息和日历事件等。
使用前需要设置以下环境变量:
DINGTALK_APP_KEY
: 钉钉应用的 AppKeyDINGTALK_APP_SECRET
: 钉钉应用的 AppSecretclaude_desktop_config.json
中添加以下配置:{ "mcpServers": { "dingding": { "command": "sh", "args": [ "-c", "docker ps -a | grep mcp-dingding-v2 | awk '{print $1}' | xargs -r docker rm -f > /dev/null 2>&1; docker pull ghcr.io/wllcnm/mcp-dingding-v2:latest > /dev/null 2>&1; docker run -i --rm --name mcp-dingding-v2 -e DINGTALK_APP_KEY=你的AppKey -e DINGTALK_APP_SECRET=你的AppSecret ghcr.io/wllcnm/mcp-dingding-v2:latest" ] } } }
注意:上面的启动命令会:
--name
参数给容器指定固定名称--rm
参数在容器停止时自动删除命令说明:
docker ps -a | grep mcp-dingding-v2 | awk '{print $1}' | xargs -r docker rm -f
: 删除所有旧容器docker pull ghcr.io/wllcnm/mcp-dingding-v2:latest
: 拉取最新镜像docker run -i --rm --name mcp-dingding-v2 ...
: 运行新容器> /dev/null 2>&1
: 隐藏不必要的输出信息pip install -r requirements.txt
直接运行服务器:
python src/server.py
使用 Docker 运行:
# 清理旧容器 docker ps -a | grep mcp-dingding-v2 | awk '{print $1}' | xargs -r docker rm -f # 构建并运行新容器 docker build -t dingding-mcp-v2 . docker run -i --rm --name mcp-dingding-v2 \ -e DINGTALK_APP_KEY=your_app_key \ -e DINGTALK_APP_SECRET=your_app_secret \ dingding-mcp-v2
发送消息到钉钉会话
获取钉钉会话信息
获取钉钉用户信息
查询用户的日历事件列表
在 Claude 中,你可以这样使用工具:
{ "tool": "send_message", "arguments": { "conversation_id": "你的会话ID", "message": "Hello, DingTalk!", "msg_type": "text" } }
查询日历示例:
{ "tool": "get_calendar_list", "arguments": { "userid": "用户ID", "start_time": 1704067200000, // 2024-01-01 00:00:00 "end_time": 1704153600000, // 2024-01-02 00:00:00 "max_results": 10 } }
安全性
故障排除
MIT