2,500+ MCP servers ready to use
Vinkius

DingTalk MCP Server for Mastra AI 10 tools — connect in under 2 minutes

Built by Vinkius GDPR 10 Tools SDK

Mastra AI is a TypeScript-native agent framework built for modern web stacks. Connect DingTalk through Vinkius and Mastra agents discover all tools automatically. type-safe, streaming-ready, and deployable anywhere Node.js runs.

Vinkius supports streamable HTTP and SSE.

typescript
import { Agent } from "@mastra/core/agent";
import { createMCPClient } from "@mastra/mcp";
import { openai } from "@ai-sdk/openai";

async function main() {
  // Your Vinkius token. get it at cloud.vinkius.com
  const mcpClient = await createMCPClient({
    servers: {
      "dingtalk": {
        url: "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
      },
    },
  });

  const tools = await mcpClient.getTools();
  const agent = new Agent({
    name: "DingTalk Agent",
    instructions:
      "You help users interact with DingTalk " +
      "using 10 tools.",
    model: openai("gpt-4o"),
    tools,
  });

  const result = await agent.generate(
    "What can I do with DingTalk?"
  );
  console.log(result.text);
}

main();
DingTalk
Fully ManagedVinkius Servers
60%Token savings
High SecurityEnterprise-grade
IAMAccess control
EU AI ActCompliant
DLPData protection
V8 IsolateSandboxed
Ed25519Audit chain
<40msKill switch
Stream every event to Splunk, Datadog, or your own webhook in real-time

* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure

About DingTalk MCP Server

Connect your DingTalk (钉钉) enterprise account to any AI agent and transform your office operations through natural conversation. DingTalk is Alibaba's comprehensive B2B communication and collaboration platform used by millions of organizations for messaging, attendance tracking, approval workflows, and organizational management.

Mastra's agent abstraction provides a clean separation between LLM logic and DingTalk tool infrastructure. Connect 10 tools through Vinkius and use Mastra's built-in workflow engine to chain tool calls with conditional logic, retries, and parallel execution. deployable to any Node.js host in one command.

What you can do

  • User Management — Query employee profiles, search users by department, and retrieve contact details instantly
  • Department Exploration — Navigate organizational hierarchy, list departments and sub-departments, understand reporting structures
  • Work Notifications — Send text and markdown formatted messages to employees with rich formatting and clickable links
  • Attendance Tracking — Retrieve check-in/check-out records, verify timesheet data, monitor late arrivals and early departures
  • Approval Workflows — Create new approval instances (leave requests, reimbursements, purchases) and track their progress
  • Approval Status — Query approval process history, identify bottlenecks, and review decision chains
  • Markdown Reports — Send beautifully formatted markdown reports, alerts, and summaries to team members

The DingTalk MCP Server exposes 10 tools through the Vinkius. Connect it to Mastra AI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.

How to Connect DingTalk to Mastra AI via MCP

Follow these steps to integrate the DingTalk MCP Server with Mastra AI.

01

Install dependencies

Run npm install @mastra/core @mastra/mcp @ai-sdk/openai

02

Replace the token

Replace [YOUR_TOKEN_HERE] with your Vinkius token

03

Run the agent

Save to agent.ts and run with npx tsx agent.ts

04

Explore tools

Mastra discovers 10 tools from DingTalk via MCP

Why Use Mastra AI with the DingTalk MCP Server

Mastra AI provides unique advantages when paired with DingTalk through the Model Context Protocol.

01

Mastra's agent abstraction provides a clean separation between LLM logic and tool infrastructure. add DingTalk without touching business code

02

Built-in workflow engine chains MCP tool calls with conditional logic, retries, and parallel execution for complex automation

03

TypeScript-native: full type inference for every DingTalk tool response with IDE autocomplete and compile-time checks

04

One-command deployment to any Node.js host. Vercel, Railway, Fly.io, or your own infrastructure

DingTalk + Mastra AI Use Cases

Practical scenarios where Mastra AI combined with the DingTalk MCP Server delivers measurable value.

01

Automated workflows: build multi-step agents that query DingTalk, process results, and trigger downstream actions in a typed pipeline

02

SaaS integrations: embed DingTalk as a first-class tool in your product's AI features with Mastra's clean agent API

03

Background jobs: schedule Mastra agents to query DingTalk on a cron and store results in your database automatically

04

Multi-agent systems: create specialist agents that collaborate using DingTalk tools alongside other MCP servers

DingTalk MCP Tools for Mastra AI (10)

These 10 tools become available when you connect DingTalk to Mastra AI via MCP:

01

create_approval_process

g., leave request, reimbursement, purchase order) by creating a new approval instance. Requires the approval template code (process_code) from your DingTalk admin, form component values matching the template structure, and the originator's user ID. Returns the process instance ID for tracking. Use this to automate approval workflows directly from AI conversations. Create a new approval workflow instance in DingTalk

02

get_approval_instance

Returns whether the approval is pending, approved, rejected, or cancelled, along with all reviewer actions and timestamps. Use the process instance ID obtained when creating the approval or from the approval list. Critical for tracking approval progress and understanding bottlenecks. Get status and details of an approval process instance

03

get_attendance_records

Returns timestamps, checkout types (上班签到/下班签退), location data, and whether the attendance was normal or abnormal (late/early leave). Essential for HR teams to monitor attendance patterns, verify timesheet data, or investigate attendance discrepancies. Date format: YYYY-MM-DD. Get employee attendance/checkout records from DingTalk

04

get_department_info

Use this to understand organizational hierarchy, identify department leaders, or map the reporting structure before making decisions about notification routing. Get detailed information about a DingTalk department

05

get_user_info

Use the user ID (userid) which can be obtained from the department user list. Essential for looking up employee details before sending targeted notifications or checking organizational structure. Get DingTalk user profile information by user ID

06

list_all_departments

This is the fastest way to understand the organizational structure, identify department IDs for further queries, and map team hierarchies. Use this before querying users or sub-departments to identify the correct department IDs. List all top-level departments in the DingTalk organization

07

list_sub_departments

Essential for exploring organizational structure, identifying team subdivisions, or mapping the complete departmental hierarchy. Start with department_id 1 to list all top-level departments in your organization. List all sub-departments under a parent department

08

list_users_by_department

Returns user IDs, names, avatars, and basic profile information. Useful for identifying team members before sending group notifications, checking team composition, or understanding departmental structure. Use department ID 1 for the root company directory. List all users in a specific DingTalk department

09

send_markdown_message

Ideal for sending structured reports, formatted alerts, or detailed notifications with clickable links. The title appears as the notification header, while the text body supports full markdown syntax including **bold**, *italic*, [hyperlinks](url), and line breaks. User IDs should be comma-separated. Send a rich formatted markdown message to DingTalk users

10

send_work_notification

Supports text and markdown message types. The message appears in the recipient's DingTalk work notification feed. User IDs should be comma-separated for multiple recipients. This is ideal for sending alerts, reminders, task assignments, or status updates to team members directly through DingTalk. Send a work notification message to DingTalk users

Example Prompts for DingTalk in Mastra AI

Ready-to-use prompts you can give your Mastra AI agent to start working with DingTalk immediately.

01

"List all users in department ID 12345."

02

"Send a markdown notification to user1,user2 with title 'Sprint Review' and content about tomorrow's meeting at 2pm."

03

"Check attendance records for user1,user2 from 2024-01-15 to 2024-01-19."

Troubleshooting DingTalk MCP Server with Mastra AI

Common issues when connecting DingTalk to Mastra AI through the Vinkius, and how to resolve them.

01

createMCPClient not exported

Install: npm install @mastra/mcp

DingTalk + Mastra AI FAQ

Common questions about integrating DingTalk MCP Server with Mastra AI.

01

How does Mastra AI connect to MCP servers?

Create an MCPClient with the server URL and pass it to your agent. Mastra discovers all tools and makes them available with full TypeScript types.
02

Can Mastra agents use tools from multiple servers?

Yes. Pass multiple MCP clients to the agent constructor. Mastra merges all tool schemas and the agent can call any tool from any server.
03

Does Mastra support workflow orchestration?

Yes. Mastra has a built-in workflow engine that lets you chain MCP tool calls with branching logic, error handling, and parallel execution.

Connect DingTalk to Mastra AI

Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.