article
README
🚀 钉钉 MCP 服务器 V2
这是一个基于 MCP(模型控制协议)的钉钉机器人服务器实现。它提供了与钉钉交互的各种功能,包括发送消息、获取会话信息、用户信息和日历事件等,为开发者提供了便捷的钉钉机器人开发解决方案。
🚀 快速开始
环境要求
- Python 3.10+
- MCP 0.1.0+
- aiohttp 3.9.1+
环境变量配置
使用前需设置以下环境变量:
DINGTALK_APP_KEY:钉钉应用的 AppKeyDINGTALK_APP_SECRET:钉钉应用的 AppSecret
在 Claude 客户端中使用
- 在你的
claude_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"
]
}
}
}
本地开发
- 克隆代码库:
git clone https://github.com/yourusername/dingtalk-mcp-server.git
cd dingtalk-mcp-server
- 安装依赖:
pip install -r requirements.txt
- 配置环境变量并运行:
export DINGTALK_APP_KEY=你的AppKey
export DINGTALK_APP_SECRET=你的AppSecret
python server.py
✨ 主要特性
- 发送消息到钉钉会话
- 获取钉钉会话信息
- 获取钉钉用户信息
- 查询用户日历事件
- 支持多种消息类型(文本、Markdown、链接等)
💻 使用示例
基础用法
在 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
}
}
📚 详细文档
API 工具
send_message
- 功能:发送消息到指定会话。
- 参数:
conversation_id:目标会话 ID。message:要发送的消息内容。msg_type:消息类型,默认为 "text"。
get_calendar_list
- 功能:获取指定用户的时间表。
- 参数:
userid:用户 ID。start_time:开始时间(Unix 时间戳)。end_time:结束时间(Unix 时间戳)。max_results:最大返回结果数,默认为 10。
⚠️ 注意事项
安全性
- 请妥善保管钉钉 API 凭证。
- 不要在公共场合分享配置文件。
- 建议使用环境变量而非硬编码凭证。
故障排除
- 检查 API 凭证是否正确。
- 确保网络连接正常。
- 查看日志获取详细错误信息。
📄 许可证
MIT
扫码联系在线客服