DingTalk MCP. Manage your whole office in conversation.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
DingTalk MCP Server connects your AI agent directly to Alibaba's B2B collaboration platform. Manage user data, track attendance, and automate internal approvals—all through natural conversation.
You can query employee profiles, map the entire department hierarchy, and submit complex workflows like leave requests or purchase orders without opening the DingTalk app.
It's your AI office operations assistant.
What your AI agents can do
Create approval process
Starts a new approval instance (leave, reimbursement, purchase order) and returns a tracking ID for the workflow.
Get approval instance
Checks the status of a workflow instance, detailing who approved or rejected it and when.
Get attendance records
Retrieves employee check-in and check-out timestamps, flagging any late or early arrivals.
List all departments and sub-departments to understand the company's reporting hierarchy and identify necessary department IDs.
Query specific employee IDs to retrieve full contact details and profile information.
Retrieve time-stamped check-in and check-out records, flagging any attendance discrepancies like late arrivals or early departures.
Initiate new approval processes (like leave requests or purchase orders) and monitor their status and decision history.
Send formatted markdown messages or work notifications to multiple team members directly within DingTalk.
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
DingTalk MCP Server: 10 Tools for Office Ops
These tools let your AI agent handle everything from mapping department structures to running complex approval workflows inside DingTalk.
019d842ecreate approval process
Starts a new approval instance (leave, reimbursement, purchase order) and returns a tracking ID for the workflow.
019d842eget approval instance
Checks the status of a workflow instance, detailing who approved or rejected it and when.
019d842eget attendance records
Retrieves employee check-in and check-out timestamps, flagging any late or early arrivals.
019d842eget department info
Gets detailed info about a specific department, useful for mapping reporting lines.
019d842eget user info
Retrieves a user's profile details using their specific DingTalk user ID.
019d842elist all departments
Lists all top-level departments in the organization to map the general structure.
019d842elist sub departments
Lists all departments nested under a specified parent department ID.
019d842elist users by department
Lists all user IDs and names within a given department, useful for mass communication.
019d842esend markdown message
Sends highly formatted, rich text reports or alerts to specified users.
019d842esend work notification
Sends simple text or markdown alerts directly into a user's DingTalk work feed.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with DingTalk, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
DingTalk MCP Server connects your AI agent directly to Alibaba's B2B collaboration platform. You can manage user data, track attendance, and automate internal approvals—all through natural conversation. You don't need to open the DingTalk app to do any of this.
To map the company structure, you can use list_all_departments to list every top-level department, and then list_sub_departments to map everything nested under a specific parent department ID.
Need to find out who reports to whom? You can run get_department_info for details on a specific department, and list_users_by_department lists all user IDs and names within a given department, which is killer for mass comms.
Got questions about people? Just use get_user_info to grab a user's full profile details using their DingTalk user ID.
For tracking time, get_attendance_records pulls employee check-in and check-out timestamps, and it flags any time they're late or left early.
When you gotta get something done, you can kick off a new approval process—whether it's a leave request, reimbursement, or purchase order—with create_approval_process, which returns a tracking ID for the whole workflow. You can then check the status and see exactly who approved or rejected it, and when, using get_approval_instance.
For sending messages, you've got two options. You can use send_work_notification to push simple text or markdown alerts right into a user's DingTalk work feed, or if you need something fancier, send_markdown_message sends highly formatted, rich text reports or alerts to specific users.
How DingTalk MCP Works
- 1 Subscribe to the server and provide your DingTalk App Key and App Secret.
- 2 Your AI agent uses the connection to query the organizational data (e.g.,
list_all_departments). - 3 The agent executes the required tool (e.g.,
create_approval_process) and returns the resulting status or data to you.
The bottom line is, you run your office operations through conversation, never needing to log into the DingTalk client.
Who Is DingTalk MCP For?
This is for operations staff who deal with internal processes daily. If you're constantly navigating departmental structures, manually checking timesheets, or sending formatted announcements, this saves time. It helps you move from 'where do I find that data?' to 'tell me the data.'
Uses get_attendance_records to verify timesheets and send_markdown_message to broadcast policy updates.
Uses list_users_by_department to check team rosters and create_approval_process to track team expenses.
Uses list_all_departments and list_sub_departments to map the company's full organizational hierarchy.
What Changes When You Connect
- Automate workflow approvals. Don't manually track who signed off on a purchase order. Use
create_approval_processto start a workflow andget_approval_instanceto instantly see its current status and history. - Verify team attendance without opening a calendar.
get_attendance_recordspulls check-in/check-out data, immediately telling you who was late or left early. - Build reports on the fly. Instead of copy-pasting data, use
send_markdown_messageto send structured, formatted reports and alerts to any team member. - Map the org chart instantly. Use
list_all_departmentsorlist_sub_departmentsto understand the reporting structure, which is critical before sending mass communications. - Target communications precisely. Use
list_users_by_departmentto get a roster, and thensend_work_notificationto alert the right people with a single prompt. - Find any user's details. Need a contact number or role?
get_user_infopulls the employee profile details using just a user ID.
Real-World Use Cases
Need to audit a pending reimbursement.
A manager needs to know why a leave request is stuck. They ask their agent to check the status. The agent uses get_approval_instance with the process ID, instantly returning the status, the last action taken, and who was supposed to review it next. The bottleneck is visible.
Sending a company-wide policy change alert.
HR needs to announce a new policy. Instead of drafting a document and mailing it, they ask the agent to send_markdown_message to all user IDs. The agent formats the announcement with bold text and links, ensuring everyone sees the critical details cleanly.
Investigating timecard discrepancies.
An HR specialist spots an unusual pattern. They ask the agent to get_attendance_records for a specific employee range. The agent returns a report showing the exact check-in and check-out times, highlighting any deviations from the normal schedule.
Onboarding a new team and mapping roles.
A department lead needs to know who reports to whom. They ask the agent to first run list_all_departments and then use list_sub_departments to map the full hierarchy, getting a clear picture of the reporting lines.
The Tradeoffs
Manual data lookups
Having to jump between the HR portal, the department directory, and the timesheet spreadsheet to gather user IDs and check dates.
→
Use list_users_by_department to get the full roster, then use get_user_info for details, and get_attendance_records for timesheets. It all happens in the chat.
Sending unformatted messages
Writing a complex policy update that gets lost in a simple text chat feed, missing crucial links or formatting.
→
Send the alert using send_markdown_message. This formats the message correctly, ensuring titles, links, and bold text are visible to everyone.
Guessing the process status
Asking a colleague, 'Is the reimbursement approved yet?' and getting a vague, 'It's pending.' without knowing why or who is blocking it.
→
Use get_approval_instance with the process ID. You get the precise status, the review history, and the last person who touched the workflow.
When It Fits, When It Doesn't
Use this if you need to manage or audit structured corporate processes (HR, Finance, Operations). For example, if you need to know who is late, check get_attendance_records. If you need to start a leave request, use create_approval_process. Don't use it if you just need to look up a simple public contact email—your internal directory might be faster. If you need to map the company's entire department structure, start with list_all_departments before moving to smaller units with list_sub_departments.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by DingTalk. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 10 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Finding team data and statuses shouldn't take a dozen clicks.
Right now, figuring out who reports to whom, or if a leave request is approved, means opening the HR portal, searching by department, clicking into the user profile, and then navigating a separate workflow dashboard. It's a dozen clicks just to get a simple status.
With the DingTalk MCP Server, you just ask. You tell your agent to 'Check the status of the Q3 budget approval for the marketing department.' The agent uses `get_approval_instance` and `list_all_departments` to pull the data and gives you the answer immediately.
Use send_markdown_message to make your alerts look professional.
Manually drafting a complex announcement requires remembering all the markdown syntax—where to put the links, how to bold the title, and making sure the formatting holds up across different devices.
The DingTalk MCP Server handles this formatting. You tell your agent, 'Send a markdown report about the new security protocol.' It sends a beautifully structured message that looks like a formal document, not just another text chat.
Common Questions About DingTalk MCP
How do I use the `get_attendance_records` tool? +
You give the tool a date range and user IDs. It returns a report showing check-in/check-out times and flags if the attendance was abnormal (late/early). This is essential for HR auditing.
What is the difference between `send_markdown_message` and `send_work_notification`? +
send_markdown_message is for rich, formatted alerts like reports. send_work_notification is for simple, direct status updates or reminders in the user's main work feed.
Can I map all my departments using `list_all_departments` and `list_sub_departments`? +
Yes. You run list_all_departments first to get the top level IDs. Then, you feed those IDs into list_sub_departments to map the full, deep hierarchy of your organization.
How do I start an approval process with `create_approval_process`? +
You provide the required process template code and the user IDs. The agent runs the tool, creating the instance and giving you the process ID. You then use that ID with get_approval_instance to track it.
Which tool should I use to get a single employee's profile? (get_user_info) +
Use get_user_info and provide the user ID. It returns the full contact and profile details for that specific employee, which is better than just listing users.
How do I find all users within a specific department using `list_users_by_department`? +
It returns a list of user IDs, names, and avatars. You use this to check team composition or identify members before sending group notifications.
What is the best way to map the entire organizational structure using `list_all_departments` and `list_sub_departments`? +
You run list_all_departments first to get top-level IDs. Then, you use list_sub_departments with the parent ID to map every level of the hierarchy.
What information does `get_department_info` provide about a department? +
It gives detailed information about a specific department. This is useful for understanding the department's full scope or identifying its leadership.
How do I get my DingTalk App Key and App Secret? +
Log in to the DingTalk Developer Console, create an Internal Enterprise Application, then navigate to App Information > Credentials to find your AppKey and AppSecret. Make sure your application has the required API permissions (User Management, Department Management, Attendance, Approval) before using these tools.
Can I send messages to external contacts or only internal employees? +
This MCP server uses Internal Enterprise Application authentication, which means it can only send messages to users within your organization's DingTalk tenant. For external contacts or customer notifications, you would need a different DingTalk application type with extended permissions. All user IDs must belong to employees in your enterprise directory.
How does the attendance tracking work? What data can I retrieve? +
The attendance tool retrieves check-in/check-out records from DingTalk's attendance system. For each record, you get the user ID, timestamp, checkout type (上班签到=check-in, 下班签退=check-out), location information, and whether the attendance was normal or abnormal (late, early leave, missing punch). Date ranges are specified in YYYY-MM-DD format. This data integrates with DingTalk's physical attendance devices and mobile check-in features.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
USAspending (Federal Spending)
Analyze US federal spending data — query agency budgets, track awards, and explore geographic spending patterns directly from your AI agent.
SimpleTexting
Send mass text messages, run SMS campaigns, and manage two-way conversations with customers from one simple platform.
Temu Seller Hub
Automate cross-border e-commerce ops via Temu — manage orders, track fulfillment, sync inventory, and process returns natively from any AI agent.
You might also like
Directus
Turn any SQL database into a powerful headless CMS with instant REST and GraphQL APIs for your custom content models.
Google Sheets
Interact with Google Sheets to read, write, and manipulate data via AI.
Upstash
Manage serverless Redis via Upstash REST API — execute commands, manage data structures and monitor your database from any AI agent.