DingTalk MCP Server for Pydantic AI 10 tools — connect in under 2 minutes
Pydantic AI brings type-safe agent development to Python with first-class MCP support. Connect DingTalk through Vinkius and every tool is automatically validated against Pydantic schemas. catch errors at build time, not in production.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
import asyncio
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerHTTP
async def main():
# Your Vinkius token. get it at cloud.vinkius.com
server = MCPServerHTTP(url="https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp")
agent = Agent(
model="openai:gpt-4o",
mcp_servers=[server],
system_prompt=(
"You are an assistant with access to DingTalk "
"(10 tools)."
),
)
result = await agent.run(
"What tools are available in DingTalk?"
)
print(result.data)
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.
Pydantic AI validates every DingTalk tool response against typed schemas, catching data inconsistencies at build time. Connect 10 tools through Vinkius and switch between OpenAI, Anthropic, or Gemini without changing your integration code. full type safety, structured output guarantees, and dependency injection for testable agents.
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 Pydantic 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 Pydantic AI via MCP
Follow these steps to integrate the DingTalk MCP Server with Pydantic AI.
Install Pydantic AI
Run pip install pydantic-ai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token
Run the agent
Save to agent.py and run: python agent.py
Explore tools
The agent discovers 10 tools from DingTalk with type-safe schemas
Why Use Pydantic AI with the DingTalk MCP Server
Pydantic AI provides unique advantages when paired with DingTalk through the Model Context Protocol.
Full type safety: every MCP tool response is validated against Pydantic models, catching data inconsistencies before they reach your application
Model-agnostic architecture. switch between OpenAI, Anthropic, or Gemini without changing your DingTalk integration code
Structured output guarantee: Pydantic AI ensures tool results conform to defined schemas, eliminating runtime type errors
Dependency injection system cleanly separates your DingTalk connection logic from agent behavior for testable, maintainable code
DingTalk + Pydantic AI Use Cases
Practical scenarios where Pydantic AI combined with the DingTalk MCP Server delivers measurable value.
Type-safe data pipelines: query DingTalk with guaranteed response schemas, feeding validated data into downstream processing
API orchestration: chain multiple DingTalk tool calls with Pydantic validation at each step to ensure data integrity end-to-end
Production monitoring: build validated alert agents that query DingTalk and output structured, schema-compliant notifications
Testing and QA: use Pydantic AI's dependency injection to mock DingTalk responses and write comprehensive agent tests
DingTalk MCP Tools for Pydantic AI (10)
These 10 tools become available when you connect DingTalk to Pydantic AI 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 Pydantic AI
Ready-to-use prompts you can give your Pydantic AI 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 Pydantic AI
Common issues when connecting DingTalk to Pydantic AI through the Vinkius, and how to resolve them.
MCPServerHTTP not found
pip install --upgrade pydantic-aiDingTalk + Pydantic AI FAQ
Common questions about integrating DingTalk MCP Server with Pydantic AI.
How does Pydantic AI discover MCP tools?
MCPServerHTTP instance with the server URL. Pydantic AI connects, discovers all tools, and generates typed Python interfaces automatically.Does Pydantic AI validate MCP tool responses?
Can I switch LLM providers without changing MCP code?
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 Pydantic AI
Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.
