DingDing
Integrates with
DingDing
钉钉 MCP 服务
这是一个基于MCP(Model Control Protocol)的钉钉服务,提供了钉钉API的访问功能。
功能特性
- 获取钉钉 Access Token
- 获取部门列表
- 获取部门用户列表
- 根据姓名查询用户详细信息(包括遍历部门查找用户)
环境要求
- Python 3.12+
- Docker(推荐)
- 钉钉应用凭证
安装和配置
1. 获取钉钉应用凭证
- 登录钉钉开放平台
- 创建企业内部应用
- 获取应用的 AppKey 和 AppSecret
2. 配置环境变量
需要设置以下环境变量:
DINGDING_APP_KEY=你的AppKey
DINGDING_APP_SECRET=你的AppSecret
使用方法
在 Claude 桌面客户端中使用
- 在你的
claude_desktop_config.json
中添加以下配置:
{
"mcpServers": {
"dingding": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "DINGDING_APP_KEY=你的AppKey",
"-e", "DINGDING_APP_SECRET=你的AppSecret",
"ghcr.io/你的用户名/dingding-mcp:latest"
]
}
}
}
本地开发
- 克隆仓库:
git clone <repository_url>
cd dingding_chat
- 安装依赖:
pip install -r requirements.txt
- 运行服务:
python src/server.py
Docker 部署
- 拉取镜像:
docker pull ghcr.io/你的用户名/dingding-mcp:latest
- 运行容器:
docker run -d --name dingding-mcp \
-e DINGDING_APP_KEY=你的AppKey \
-e DINGDING_APP_SECRET=你的AppSecret \
ghcr.io/你的用户名/dingding-mcp:latest
API 说明
1. 获取 Access Token
- 功能:获取钉钉API的access token
- 工具名:
get_access_token
- 参数:无
- 返回:access token字符串
2. 获取部门列表
- 功能:获取企业的部门列表
- 工具名:
get_department_list
- 参数:
- fetch_child: 是否抓取子部门列表(可选,默认为true)
- 返回:部门列表信息(包括部门ID、名称、父部门ID等)
3. 获取部门用户列表
- 功能:获取指定部门的用户列表
- 工具名:
get_department_users
- 参数:
- department_id: 部门ID(必填)
- 返回:部门用户列表(包括用户ID、姓名等)
4. 根据姓名查询用户
- 功能:通过用户姓名查询用户详细信息
- 工具名:
search_user_by_name
- 参数:
- name: 用户姓名
- 返回:用户详细信息(包括用户ID、姓名、手机、邮箱、职位、所属部门等)
注意事项
- 确保正确配置钉钉应用的凭证信息
- 由于钉钉API的限制,查询用户信息需要遍历所有部门,可能需要一定时间
- 建议在生产环境中使用 Docker 部署,以确保环境一致性
许可证
MIT License