About Mcp Server Dingtalk
MCP Server DingTalk lets MCP clients send messages to DingTalk chat groups through configured bots. It supports several message formats and signs webhook requests with HMAC-SHA256.
Key features
- 01Send messages through configured bots
- 02Support five message formats
- 03Sign requests with HMAC-SHA256
- 04Configure bots with JSON
Use cases
- 01Send text updates to a DingTalk group
- 02Share links or formatted announcements
- 03Post action cards or feed cards
MCP support
It exposes the dingtalk_bot_send_message tool to MCP clients for sending messages to DingTalk groups using configured bots.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | object | Yes | message to send. type Message = TextMessage | LinkMessage | MarkdownMessage | ActionCardMessage | FeedCardMessage; interface TextMessage { type: 'text'; content: string; } interface LinkMessage { type: 'link'; text: string; title: string; picUrl?: string; messageUrl: string; } interface MarkdownMessage { type: 'markdown'; title?: string; text: string; } interface ActionCardMessage { type: 'actionCard'; title: string; text: string; // markdown text btnOrientation?: '0' | '1'; // 0: vertical, 1: horizontal singleTitle?: string; // single button title singleURL?: string; // single button URL btns?: Array<{ title: string; // button title actionURL: string; // button URL }>; // array of buttons } interface FeedCardMessage { type: 'feedCard'; links: Array<{ title: string; // title of the link messageURL: string; // URL to open when the link is clicked on picURL: string; // image URL for the link }>; // array of links } |
| message.btnOrientation | enum | No | 0 | 1 |
| message.btns | array | No | |
| message.content | string | No | |
| message.links | array | No | |
| message.messageUrl | string | No | |
| message.picUrl | string | No | |
| message.singleTitle | string | No | |
| message.singleURL | string | No | |
| message.text | string | No | |
| message.title | string | No | |
| message.type | enum | Yes | message type to sendtext | link | markdown | actionCard | feedCard |
| name | string | Yes | bot name for send message to |
| notify | object | Yes | |
| notify.atMobiles | array | No | mobile numbers to notify |
| notify.atUserIds | array | No | user IDs to notify |
| notify.isAtAll | boolean | No | whether to notify all users |
Details
From the project READMEMCP Server DingTalk
A Model Context Protocol (MCP) server for DingTalk integration.
Features
- 🤖 DingTalk bot message sending capabilities
- 📦 Multiple message types support (text, link, markdown, actionCard, feedCard)
- 🔐 Secure webhook signing with HMAC-SHA256
- 🎯 TypeScript support with strict type checking
Prerequisites
- Node.js 18+
Usage
{
"mcp-server-dingtalk": {
"transport": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-dingtalk"
],
"env": {
"DINGTALK_BOT_CONFIGS": "[{\"name\": \"your-bot-name\", \"accessToken\": \"your-access-token\", \"signSecret\": \"your-sign-secret\"}]"
}
}
}
Environment Variables
| Variable | Description | Required | Default |
|---|---|---|---|
DINGTALK_BASE_URL | DingTalk API base URL | No | https://oapi.dingtalk.com/robot/send |
DINGTALK_BOT_CONFIGS | JSON array of bot configurations | Yes | [] |
Available Tools
The server provides the following MCP tool:
dingtalk_bot_send_message
Send messages to DingTalk chat groups via configured bots.
Parameters:
name(string): Bot name for sending messagesmessage(object): Message content with type-specific fieldsnotify(object): Notification settings for @ mentions
Supported Message Types:
-
Text Message
{ "type": "text", "content": "Hello, World!" } -
Link Message
{ "type": "link", "text": "Link description", "title": "Link Title", "messageUrl": "https://example.com" } -
Markdown Message
{ "type": "markdown", "title": "Markdown Title", "text": "## Markdown Content\n- Item 1\n- Item 2" } -
Action Card Message
{ "type": "actionCard", "title": "Action Card Title", "text": "Action card content", "singleTitle": "Read More", "singleURL": "https://example.com" } -
Feed Card Message
{ "type": "feedCard", "links": [ { "title": "Feed Item", "messageURL": "https://example.com", "picURL": "https://example.com/image.png" } ] }
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.