使用说明

项目简介

本项目是一个钉钉 MCP 服务器,旨在通过 Model Context Protocol (MCP) 协议,为 LLM 客户端提供访问钉钉 API 的能力。借助此服务,LLM 应用可以安全、可扩展地获取钉钉组织架构和用户信息,从而实现更智能的企业应用集成。

主要功能点

  • 获取钉钉 Access Token: 用于访问钉钉 API 的身份验证。
  • 获取部门列表: 获取企业完整的部门组织结构。
  • 获取部门用户列表: 查询特定部门下的所有用户。
  • 根据姓名查询用户详细信息: 通过用户姓名查找其在钉钉中的详细信息,包括部门、职位等。

安装步骤

  1. 获取钉钉应用凭证:

    • 登录 钉钉开放平台
    • 创建企业内部应用,并获取应用的 AppKeyAppSecret
  2. 配置环境变量:

    • 根据您的部署方式(本地开发或 Docker),设置以下环境变量:
      DINGDING_APP_KEY=您的AppKey
      DINGDING_APP_SECRET=您的AppSecret
      请将 '您的AppKey' 和 '您的AppSecret' 替换为您在钉钉开放平台获取的凭证。
  3. 选择服务器部署方式:

    • 本地开发:

      • 克隆仓库到本地:'git clone <仓库URL>'
      • 进入项目目录:'cd dingding_chat'
      • 安装 Python 依赖:'pip install -r requirements.txt'
      • 启动服务器:'python src/server.py'
    • Docker 部署:

      • 拉取 Docker 镜像:'docker pull ghcr.io/你的用户名/dingding-mcp:latest'
      • 运行 Docker 容器 (后台运行):
        docker run -d --name dingding-mcp \
          -e DINGDING_APP_KEY=您的AppKey \
          -e DINGDING_APP_SECRET=您的AppSecret \
          ghcr.io/你的用户名/dingding-mcp:latest

服务器配置

对于 MCP 客户端(例如 Claude 桌面客户端),您需要在其配置文件 'claude_desktop_config.json' 中添加 MCP 服务器的配置信息。以下是一个配置示例,假设您使用 Docker 部署了 DingTalk MCP 服务器:

{
  "mcpServers": {
    "dingding": { // server name: dingding,您可以自定义
      "command": "docker", // command: 使用 docker 命令来运行服务器
      "args": [ // args: docker 命令的参数
        "run",
        "-i", // -i: 保持 STDIN 开放,即使没有连接也会保持打开状态
        "--rm", // --rm: 容器退出后自动删除
        "-e", "DINGDING_APP_KEY=您的AppKey", // -e DINGDING_APP_KEY=您的AppKey: 设置环境变量 DINGDING_APP_KEY
        "-e", "DINGDING_APP_SECRET=您的AppSecret", // -e DINGDING_APP_SECRET=您的AppSecret: 设置环境变量 DINGDING_APP_SECRET
        "ghcr.io/你的用户名/dingding-mcp:latest" // 镜像名称: ghcr.io/你的用户名/dingding-mcp:latest
      ]
    }
  }
}

请根据您的实际部署情况,修改 'command' 和 'args' 字段。如果您选择本地开发运行服务器,'command' 可以设置为 'python','args' 可以设置为 '["src/server.py"]'。同时,请确保环境变量 'DINGDING_APP_KEY' 和 'DINGDING_APP_SECRET' 在 MCP 客户端启动的环境中也已正确设置,或者直接将凭证信息添加到 'args' 参数中(不推荐,存在安全风险)。

基本使用方法

配置完成后,MCP 客户端将能够发现并连接到 DingTalk MCP 服务器。您可以通过客户端的功能界面或指令,调用服务器提供的工具 (Tools) 来访问钉钉 API。

例如,在支持 MCP 协议的 LLM 应用中,您可以指示 LLM 使用 'get_department_list' 工具获取部门列表,或使用 'search_user_by_name' 工具查询指定用户的详细信息。具体的工具名称和参数请参考仓库 'README.md' 文件中 "API 说明" 部分。

信息

分类

商业系统