DingTalk MCP Server V2

DingTalk MCP Server V2

site icon
2025.01.06 3
Python钉钉机器人消息服务日历管理交流协作日程管理
DingTalk MCP Server V2 是一个基于 MCP (Model Control Protocol) 的钉钉机器人服务器实现。它提供了与钉钉进行交互的各种功能,包括发送消息、获取会话信息、用户信息和日历事件等。
View on GitHub

Overview

基本能力

产品定位

DingTalk MCP Server V2 是一个钉钉机器人服务器,主要用于与钉钉平台进行交互,实现消息发送、会话管理、用户信息查询和日历事件管理等功能。

核心功能

  • 发送消息到钉钉会话(支持多种消息类型:文本、Markdown、链接等)
  • 获取钉钉会话信息
  • 获取钉钉用户信息
  • 查询用户日历事件

适用场景

  • 企业内部沟通自动化
  • 钉钉机器人开发
  • 钉钉日历事件管理
  • 钉钉用户信息查询

工具列表

  1. send_message: 发送消息到钉钉会话
  2. 参数:conversation_id(会话 ID)、message(消息内容)、msg_type(消息类型,默认为 text)
  3. get_conversation_info: 获取钉钉会话信息
  4. 参数:conversation_id(会话 ID)
  5. get_user_info: 获取钉钉用户信息
  6. 参数:user_id(用户 ID)
  7. get_calendar_list: 查询用户的日历事件列表
  8. 参数:userid(用户 ID)、start_time(开始时间戳)、end_time(结束时间戳)、max_results(最大返回结果数,默认 50)、next_token(分页 token)

常见问题解答

  1. 安全性问题
  2. 妥善保管钉钉 API 凭证
  3. 不要在公共场合分享配置文件
  4. 建议使用环境变量而不是硬编码凭证
  5. 故障排除
  6. 检查 API 凭证是否正确
  7. 确保网络连接正常
  8. 查看日志输出了解详细错误信息

使用教程

使用依赖

  • Python 3.10+
  • MCP 0.1.0+
  • aiohttp 3.9.1+

安装教程

本地安装

pip install -r requirements.txt

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

调试方式

直接运行服务器

python src/server.py

在 Claude 客户端中使用

  1. 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"
      ]
    }
  }
}
  1. 重启 Claude 客户端

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。