DingTalk MCP Server for LangChain 10 tools — connect in under 2 minutes
LangChain is the leading Python framework for composable LLM applications. Connect DingTalk through Vinkius and LangChain agents can call every tool natively. combine them with retrievers, memory, and output parsers for sophisticated AI pipelines.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent
async def main():
# Your Vinkius token. get it at cloud.vinkius.com
async with MultiServerMCPClient({
"dingtalk": {
"transport": "streamable_http",
"url": "https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp",
}
}) as client:
tools = client.get_tools()
agent = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools,
)
response = await agent.ainvoke({
"messages": [{
"role": "user",
"content": "Using DingTalk, show me what tools are available.",
}]
})
print(response["messages"][-1].content)
asyncio.run(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.
LangChain's ecosystem of 500+ components combines seamlessly with DingTalk through native MCP adapters. Connect 10 tools via Vinkius and use ReAct agents, Plan-and-Execute strategies, or custom agent architectures. with LangSmith tracing giving full visibility into every tool call, latency, and token cost.
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 LangChain 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 LangChain via MCP
Follow these steps to integrate the DingTalk MCP Server with LangChain.
Install dependencies
Run pip install langchain langchain-mcp-adapters langgraph langchain-openai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the agent
Save the code and run python agent.py
Explore tools
The agent discovers 10 tools from DingTalk via MCP
Why Use LangChain with the DingTalk MCP Server
LangChain provides unique advantages when paired with DingTalk through the Model Context Protocol.
The largest ecosystem of integrations, chains, and agents. combine DingTalk MCP tools with 500+ LangChain components
Agent architecture supports ReAct, Plan-and-Execute, and custom strategies with full MCP tool access at every step
LangSmith tracing gives you complete visibility into tool calls, latencies, and token usage for production debugging
Memory and conversation persistence let agents maintain context across DingTalk queries for multi-turn workflows
DingTalk + LangChain Use Cases
Practical scenarios where LangChain combined with the DingTalk MCP Server delivers measurable value.
RAG with live data: combine DingTalk tool results with vector store retrievals for answers grounded in both real-time and historical data
Autonomous research agents: LangChain agents query DingTalk, synthesize findings, and generate comprehensive research reports
Multi-tool orchestration: chain DingTalk tools with web scrapers, databases, and calculators in a single agent run
Production monitoring: use LangSmith to trace every DingTalk tool call, measure latency, and optimize your agent's performance
DingTalk MCP Tools for LangChain (10)
These 10 tools become available when you connect DingTalk to LangChain 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 LangChain
Ready-to-use prompts you can give your LangChain 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 LangChain
Common issues when connecting DingTalk to LangChain through the Vinkius, and how to resolve them.
MultiServerMCPClient not found
pip install langchain-mcp-adaptersDingTalk + LangChain FAQ
Common questions about integrating DingTalk MCP Server with LangChain.
How does LangChain connect to MCP servers?
langchain-mcp-adapters to create an MCP client. LangChain discovers all tools and wraps them as native LangChain tools compatible with any agent type.Which LangChain agent types work with MCP?
Can I trace MCP tool calls in LangSmith?
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 LangChain
Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.
