dingtalk_mcp_server

AIInfrastructure/dingtalk_mcp_server

3.2

If you are the rightful owner of dingtalk_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

dingtalk_mcp_server is the MCP Server for DingTalk's open interface, enabling easy operations on DingTalk using large models.

Tools
  1. create_role_group

    Creates a role group in the organization.

  2. add_external_contact

    Adds an external contact to the enterprise.

  3. update_or_create_contact_restriction_settings

    Modifies contact restriction settings for employees, departments, or roles.

dingtalk_mcp_server

dingtalk_mcp_server 是钉钉开放接口对应的 MCP Server,让你可以使用大模型轻松操作钉钉。

前置条件

  1. 钉钉开发者后台创建企业内部应用。
  2. 给应用调用所有接口的权限
  3. 参考 .env.example 创建 .env 文件,并配置应用的appkey、appsecret

配置与使用

在 Cursor 中配置

在 .cursor/mcp.json 文件中添加(需要替换成自己的路径):

{
  "mcpServers": {
    "dingtalk-contacts": {
      "command": "uv",
      "args": ["run", "src/main.py"],
      "env": {}
    }
  }
}

在 Cline 中配置

在 cline_mcp_settings.json 文件中添加(需要替换成自己的):

{
  "mcpServers": {
    "mcp-server-alipay": {
      "command": "uv",
      "args": ["run", "src/main.py"],
      "env": {},
      "disable": false,
      "autoApprove": []
    }
  }
}

调试方法

使用 MCP Inspector 进行调试:

  1. 启动Inspector: mcp dev src/main.py
  2. 在WebUI中调试

支持的能力

分类工具名称描述
通讯录管理create_role_group调用本接口,创建角色组。
通讯录管理add_external_contact调用本接口,添加企业外部联系人。
通讯录管理update_or_create_contact_restriction_settings新增或修改员工、部门、角色限制查看通讯录的设置。
通讯录管理set_user_attribute_visibility设置用户属性可见性。
通讯录管理add_roles_for_employees批量增加员工角色。
通讯录管理create_role调用本接口,创建新角色。
通讯录管理search_department_id搜索部门ID。
通讯录管理search_user_id调用本接口,搜索用户userId。
通讯录管理change_dingtalk_id修改企业账号的钉钉号。
通讯录管理authorize_org_account_visibility授权当前组织的企业账号在加入其他组织后,可在其他组织查看企业账号信息的具体字段 。
通讯录管理auth_multi_org_permissions授权企业帐号可以加入多个组织,只有被授权后企业帐号才能加入外部组织。
通讯录管理create_department调用本接口,创建新部门。
通讯录管理create_sso_enterprise_account调用本接口创建SSO企业账号新用户。
通讯录管理create_dingtalk_enterprise_account调用本接口创建钉钉自建企业账号新用户。
通讯录管理delete_department根据部门ID删除指定部门。
通讯录管理delete_user根据用户的userid删除指定用户。
通讯录管理delete_staff_attribute_visibility_setting调用本接口删除企业员工属性字段可见性设置。
通讯录管理delete_external_contact调用本接口,删除企业外部联系人。
通讯录管理delete_contact_hide_setting删除通讯录隐藏设置。
通讯录管理delete_role根据角色ID删除指定的角色。
通讯录管理batch_remove_employee_roles调用本接口批量删除员工的角色。
通讯录管理delete_restricted_contact_setting根据限制查看通讯录设置ID,执行删除操作。
通讯录管理get_user_contact_info调用本接口获取企业用户通讯录中的个人信息。
通讯录管理disable_org_account调用本接口,停用指定的企业帐号。
通讯录管理enable_org_account启用指定企业帐号。
通讯录管理force_logout_org_account强制登出指定的企业帐号。
通讯录管理get_senior_mode_settings获取用户高管模式设置。
通讯录管理get_contact_restrictions_settings获取通讯录限制可见性设置信息列表。
通讯录管理get_department_detail根据部门ID获取部门详情。
通讯录管理invite_other_org_account调用本接口加入其他组织企业账号进入本组织。
通讯录管理get_sub_department_id_list获取企业部门下的所有直属子部门ID列表。
通讯录管理get_auth_scopes获取通讯录权限范围,调用通讯录相关接口前需要通过此接口确认权限。
通讯录管理get_corp_auth_info调用本接口,获取企业认证信息。
通讯录管理get_enterprise_info调用本接口,获取行业通讯录的企业信息。
通讯录管理get_enterprise_invite_info调用本接口,获取企业的邀请信息。
通讯录管理get_department_list根据部门ID获取下一级部门基础信息。
通讯录管理get_external_contact_list调用本接口,获取企业外部联系人列表。
通讯录管理get_employee_list_by_role获取指定角色的员工列表。
通讯录管理get_employee_count调用本接口获取员工人数。
通讯录管理get_user_by_mobile根据手机号查询企业账号用户。
通讯录管理get_role_list调用本接口,获取角色列表。
通讯录管理get_external_contact_label_list获取企业外部联系人的标签列表。
通讯录管理get_department_list根据部门ID获取行业通讯录部门列表。
通讯录管理get_external_contact_details获取企业外部联系人的详细信息。
通讯录管理get_contact_hide_settings批量获取通讯录隐藏设置信息列表。
通讯录管理get_department_user_list调用本接口,获取部门下的人员列表信息。
通讯录管理get_role_group_list调用本接口,获取角色组信息。
通讯录管理get_user_attribute_visibility_settings调用本接口获取用户属性可见性设置。
通讯录管理get_department_user_details调用本接口获取指定部门中的用户详细信息。
通讯录管理get_department_user_detail获取部门用户详情。
通讯录管理get_role_details根据角色ID获取指定角色详情。
通讯录管理get_department_user_details调用本接口获取指定部门中的用户详细信息。
通讯录管理get_user_detail查询企业账号用户的详细信息。
通讯录管理get_inactive_user_list调用本接口查询指定日期内未登录钉钉的企业员工列表。
通讯录管理get_ding_index调用本接口获取企业最新钉钉指数信息。
通讯录管理get_parent_departments_by_user查询指定用户所属的所有父级部门。
通讯录管理get_department_user_base_info调用本接口获取指定部门的用户基础信息。
通讯录管理get_userid_by_unionid根据unionid获取用户的userid。
通讯录管理get_org_account_status查询某企业帐号的启用状态。
通讯录管理get_department_detail根据部门ID获取指定部门详情。
通讯录管理get_admin_scope调用本接口获取管理员通讯录权限范围。
通讯录管理get_admin_list调用本接口查询管理员列表。
通讯录管理get_employee_leave_records查询企业离职记录列表,包含离职员工的离职日期、手机号码和退出企业方式等信息。
通讯录管理get_parent_departments_by_dept获取指定部门的所有父部门ID列表。
通讯录管理get_department_user_userid_list调用本接口获取指定部门的userid列表。
通讯录管理get_migration_ding_id_by_ding_ids根据原dingId查询迁移后的dingId。
通讯录管理get_ding_id_by_migration_ding_id根据迁移后的dingId查询原dingId。
通讯录管理get_union_id_by_migration_union_ids根据迁移后的unionId查询原unionId。
通讯录管理get_user_detail调用本接口获取指定用户的详细信息。
通讯录管理get_user_by_mobile根据手机号查询用户,获取用户的userId。
通讯录管理set_department_visibility_priority设置通讯录部门可见性优先级。
通讯录管理get_migration_union_id_by_union_ids根据原unionId查询迁移后的unionId。
通讯录管理change_main_administrator将本组织内某企业账号有所有权的组织,转交给另一企业账号,如果接收的账号不在该组织内则自动加入。
通讯录管理update_department调用本接口更新部门信息。
通讯录管理update_contact_hide_settings新增或更新通讯录隐藏设置。
通讯录管理update_enterprise_account_user_info调用本接口更新指定的企业账号用户信息。
通讯录管理update_external_contact调用本接口,更新企业外部联系人。
通讯录管理set_senior_mode调用本接口设置员工的高管模式。
通讯录管理set_role_member_management_scope设定角色成员管理范围。
通讯录管理update_role_name调用本接口,更新角色名称。
通讯录管理create_user调用本接口创建新用户。
通讯录管理update_user_info调用本接口更新指定的用户信息。
通讯录管理get_owned_organizations查询企业帐号在哪些企业下拥有创建者身份,并获取这些企业信息。
即时通信IMadd_group_members新增群成员。
即时通信IMsend_work_notification调用本接口发送工作通知消息。
即时通信IMbatch_recall_robot_messages批量撤回人与机器人会话中机器人消息。
即时通信IMbatch_set_group_administrators批量设置企业群内用户为管理员身份或取消管理员身份。
即时通信IMbatch_recall_robot_messages调用本接口批量撤回人与人会话中机器人消息。
即时通信IMbatch_query_robot_message_read_status批量查询人与机器人会话中机器人消息是否已读。
即时通信IMquery_group_message_read_status查询企业机器人群聊消息用户已读状态。
即时通信IMbatch_send_robot_messages调用本接口批量发送人与机器人会话(人与机器人单聊)中机器人消息。
即时通信IMclear_robot_shortcut清空单聊机器人快捷入口。
即时通信IMclose_interactive_card_header调用本接口关闭会话中的互动卡片吊顶。
即时通信IMcreate_group根据群模板ID创建群。
即时通信IMcreate_and_open_interactive_card创建并开启会话中的互动卡片吊顶。
即时通信IMcreate_group创建内部群会话。
即时通信IMdeactivate_group_template根据群模板ID停用群模板。
即时通信IMdownload_robot_message_file调用本接口下载机器人接收消息的文件内容。
即时通信IMapply_group_template根据群模板ID启用群模板。
即时通信IMrecall_group_message企业机器人撤回内部群消息。
即时通信IMget_work_notification_send_result查询工作通知消息的发送结果。
即时通信IMupdate_group调用本接口更新群会话。
即时通信IMrecall_work_notification撤回工作通知消息。
即时通信IMget_chat_info调用本接口获取群设置和成员信息。
即时通信IMget_group_qrcode_link调用本接口,获取群入群二维码邀请链接。
即时通信IMget_open_conversation_id通过chatId查询OpenConversationId。
即时通信IMget_bot_list_in_group调用本接口获取群内机器人列表。
即时通信IMget_message_send_progress获取工作通知消息的发送进度。
即时通信IMget_group_info根据群ID查询群的信息。
即时通信IMquery_group_summary_info根据群ID查询群的简要信息。
即时通信IMbatch_query_group_members查询群成员信息。
即时通信IMget_group_mute_status通过本接口查询群和群内成员的禁言状态。
即时通信IMquery_robot_message_read_list查询人与人会话中机器人消息已读列表。
即时通信IMquery_single_chat_robot_shortcut调用本接口查询单聊机器人的快捷入口。
即时通信IMsend_ding_message使用企业内机器人发送DING消息,支持应用内DING、短信DING、电话DING。
即时通信IMrecall_ding_message撤回使用企业机器人发送的DING消息。
即时通信IMdelete_group_members调用本接口删除群成员。
即时通信IMupdate_group根据群ID更新群信息。
即时通信IMquery_group_template_robots调用本接口查询群内群模板机器人信息。
即时通信IMsend_group_assistant_message通过群模板定义的机器人向群内发送消息。
即时通信IMupdate_group_member_nickname调用本接口更新群成员在群中的昵称。
即时通信IMupdate_group_admin调用本接口更新群管理员。
即时通信IMset_group_member_mute_status设置场景群内的群成员禁言状态,可设置指定群成员禁言或解除禁言。
即时通信IMset_group_member_private_chat设置群成员之间是否可以添加好友和私聊。
即时通信IMset_robot_shortcut调用本接口设置单聊机器人的快捷入口。
即时通信IMsend_group_message通过应用机器人发送群聊消息。
即时通信IMsend_private_chat_message调用本接口实现人与人会话中机器人发送普通消息。
即时通信IMupdate_group_administrators更新群的群管理员。
即时通信IMupdate_group_member_nick调用本接口更新场景群群成员的群昵称。
即时通信IMupdate_work_notification_status_bar调用本接口,更新 OA 工作通知消息的状态。

注意事项

  • 当前处于发布早期阶段,功能持续完善中
  • 妥善保管私钥,防止泄露