DingTalk MCP Server

$npx -y @darrenyao/server-dingtalk
README.md

Enables Claude to interact with DingTalk workspaces to search for users.

钉钉 MCP 服务器

钉钉的 Model Context Protocol (MCP) 服务器实现,使 Claude 能够与钉钉工作空间进行交互。

image

工具

  1. dingtalk_search_users

    • 搜索钉钉用户
    • 必需参数:
      • query (string): 搜索关键词
    • 可选参数:
      • exact_match (boolean, 默认: false): 是否进行精确匹配
    • 返回:匹配的用户列表及其基本信息
  2. dingtalk_get_user_info

    • 获取用户详细信息
    • 必需参数:
      • user_id (string): 用户 ID
    • 返回:用户的详细信息,包括:
      • 姓名
      • 工号
      • 部门
      • 入职时间
      • 联系方式(手机、邮箱等)
  3. dingtalk_send_message

    • 向钉钉用户发送私信
    • 必需参数:
      • user (string): 接收消息的用户名称
      • content (string): 消息内容
    • 返回:消息发送确认

设置

  1. 创建钉钉应用:

    • 访问钉钉开发者后台
    • 点击"创建应用"
    • 选择"企业内部应用"
    • 填写应用信息并创建
  2. 配置应用权限: 在应用详情页面配置以下权限:

    • userinfo: 获取用户信息
    • message: 发送消息
    • user: 获取用户列表
  3. 获取应用凭证:

    • 保存应用的 AppKey 和 AppSecret

与 Claude Desktop 配合使用

claude_desktop_config.json 中添加以下配置:

npx 方式
{
  "mcpServers": {
    "dingtalk": {
      "command": "npx",
      "args": [
        "-y",
        "@darrenyao/server-dingtalk"
      ],
      "env": {
        "DINGTALK_APP_KEY": "your_app_key",
        "DINGTALK_APP_SECRET": "your_app_secret"
      }
    }
  }
}
docker 方式
{
  "mcpServers": {
    "dingtalk": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "DINGTALK_APP_KEY",
        "-e",
        "DINGTALK_APP_SECRET",
        "mcp/dingtalk"
      ],
      "env": {
        "DINGTALK_APP_KEY": "your_app_key",
        "DINGTALK_APP_SECRET": "your_app_secret"
      }
    }
  }
}

环境变量

  1. DINGTALK_APP_KEY: 必需。钉钉应用的 AppKey
  2. DINGTALK_APP_SECRET: 必需。钉钉应用的 AppSecret

故障排除

如果遇到权限错误,请检查:

  1. 应用是否已正确配置所需权限
  2. 应用是否已正确安装到企业
  3. 应用凭证是否正确配置
  4. 应用是否已获得必要的访问权限

构建

Docker 构建:

docker build -t mcp/dingtalk -f Dockerfile .

许可证

本项目采用 MIT 许可证。这意味着您可以自由使用、修改和分发软件,但需遵守 MIT 许可证的条款和条件。更多详情请参阅项目仓库中的 LICENSE 文件。

Tools (3)

dingtalk_search_usersSearch for DingTalk users using a keyword with optional exact matching.
dingtalk_get_user_infoRetrieve detailed employee information including department, job number, and contact info.
dingtalk_send_messageSend a private message to a specific DingTalk user by name.

Environment Variables

DINGTALK_APP_KEYrequiredDingTalk application AppKey from the developer console
DINGTALK_APP_SECRETrequiredDingTalk application AppSecret from the developer console

Configuration

claude_desktop_config.json
{"mcpServers": {"dingtalk": {"command": "npx", "args": ["-y", "@darrenyao/server-dingtalk"], "env": {"DINGTALK_APP_KEY": "your_app_key", "DINGTALK_APP_SECRET": "your_app_secret"}}}}

Try it

Search for a user named 'John Doe' in our DingTalk workspace.
Get the detailed profile and department info for user ID 'emp_123'.
Send a DingTalk message to 'Alice' saying 'The report is ready for review'.
Find the contact email and join date for the employee 'Bob Smith'.

Frequently Asked Questions

What are the key features of DingTalk MCP Server?

Search for users within a DingTalk workspace using keywords.. Retrieve comprehensive employee profiles including department and contact details.. Send direct private messages to workspace members.. Supports both NPX and Docker deployment methods..

What can I use DingTalk MCP Server for?

Automating internal employee directory lookups.. Sending automated notifications or alerts to team members via DingTalk.. Onboarding assistance by retrieving department and role information for new hires.. Streamlining workspace communication directly from the Claude interface..

How do I install DingTalk MCP Server?

Install DingTalk MCP Server by running: npx -y @darrenyao/server-dingtalk

What MCP clients work with DingTalk MCP Server?

DingTalk MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use DingTalk MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free