DingTalk MCP Server for Vercel AI SDK 10 tools — connect in under 2 minutes
The Vercel AI SDK is the TypeScript toolkit for building AI-powered applications. Connect DingTalk through Vinkius and every tool is available as a typed function. ready for React Server Components, API routes, or any Node.js backend.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
async function main() {
const mcpClient = await createMCPClient({
transport: {
type: "http",
// Your Vinkius token. get it at cloud.vinkius.com
url: "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
},
});
try {
const tools = await mcpClient.tools();
const { text } = await generateText({
model: openai("gpt-4o"),
tools,
prompt: "Using DingTalk, list all available capabilities.",
});
console.log(text);
} finally {
await mcpClient.close();
}
}
main();
* 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.
The Vercel AI SDK gives every DingTalk tool full TypeScript type inference, IDE autocomplete, and compile-time error checking. Connect 10 tools through Vinkius and stream results progressively to React, Svelte, or Vue components. works on Edge Functions, Cloudflare Workers, and any Node.js runtime.
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 Vercel AI SDK 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 Vercel AI SDK via MCP
Follow these steps to integrate the DingTalk MCP Server with Vercel AI SDK.
Install dependencies
Run npm install @ai-sdk/mcp ai @ai-sdk/openai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the script
Save to agent.ts and run with npx tsx agent.ts
Explore tools
The SDK discovers 10 tools from DingTalk and passes them to the LLM
Why Use Vercel AI SDK with the DingTalk MCP Server
Vercel AI SDK provides unique advantages when paired with DingTalk through the Model Context Protocol.
TypeScript-first: every MCP tool gets full type inference, IDE autocomplete, and compile-time error checking out of the box
Framework-agnostic core works with Next.js, Nuxt, SvelteKit, or any Node.js runtime. same DingTalk integration everywhere
Built-in streaming UI primitives let you display DingTalk tool results progressively in React, Svelte, or Vue components
Edge-compatible: the AI SDK runs on Vercel Edge Functions, Cloudflare Workers, and other edge runtimes for minimal latency
DingTalk + Vercel AI SDK Use Cases
Practical scenarios where Vercel AI SDK combined with the DingTalk MCP Server delivers measurable value.
AI-powered web apps: build dashboards that query DingTalk in real-time and stream results to the UI with zero loading states
API backends: create serverless endpoints that orchestrate DingTalk tools and return structured JSON responses to any frontend
Chatbots with tool use: embed DingTalk capabilities into conversational interfaces with streaming responses and tool call visibility
Internal tools: build admin panels where team members interact with DingTalk through natural language queries
DingTalk MCP Tools for Vercel AI SDK (10)
These 10 tools become available when you connect DingTalk to Vercel AI SDK via MCP:
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
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
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
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
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
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
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
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
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
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 Vercel AI SDK
Ready-to-use prompts you can give your Vercel AI SDK agent to start working with DingTalk immediately.
"List all users in department ID 12345."
"Send a markdown notification to user1,user2 with title 'Sprint Review' and content about tomorrow's meeting at 2pm."
"Check attendance records for user1,user2 from 2024-01-15 to 2024-01-19."
Troubleshooting DingTalk MCP Server with Vercel AI SDK
Common issues when connecting DingTalk to Vercel AI SDK through the Vinkius, and how to resolve them.
createMCPClient is not a function
npm install @ai-sdk/mcpDingTalk + Vercel AI SDK FAQ
Common questions about integrating DingTalk MCP Server with Vercel AI SDK.
How does the Vercel AI SDK connect to MCP servers?
createMCPClient from @ai-sdk/mcp and pass the server URL. The SDK discovers all tools and provides typed TypeScript interfaces for each one.Can I use MCP tools in Edge Functions?
Does it support streaming tool results?
useChat and streamText that handle tool calls and display results progressively in the UI.Connect DingTalk with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect DingTalk to Vercel AI SDK
Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.
