这是一个基于MCP(模型控制协议)实现的机器人服务器,提供了与钉钉交互的各种功能,包括发送消息、获取会话信息、用户信息以及日历事件。
在使用之前,需要设置以下环境变量:
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, 钉钉!",
"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