DingTalk Wiki / Docs read-write MCP server that fills the gap left by DingTalk official MCP
This DingTalk Wiki MCP server has 6 tools with inconsistent quality. Naming follows verb_noun convention (set_operator, list_wiki_workspaces, get_wiki_workspace, create_wiki_doc), which is good. However, descriptions are minimal (averaging ~50 chars), parameter descriptions are sparse or absent, and no output schemas are documented. Input schemas are present in the code but lack descriptions for most parameters. The server lacks error handling guidance, security documentation, and pagination support. Overall it reads like an early-stage integration rather than a production-grade tool suite.
在知识库中创建新文档(需要 Document.WorkspaceDocument.Write 权限)
获取知识库工作空间详情
列出知识库中的节点(文档和目录)
列出用户有权限的知识库工作空间列表
设置操作者 unionid(用于访问 Wiki API)
显示当前配置信息(默认用户和知识库列表)
Missing output schemas across all tools. No documentation of what fields are returned, preventing LLMs from planning downstream tool calls or extracting necessary IDs for chaining.
Parameter descriptions are minimal or missing. Many parameters (workspace_id, operator_id, parent_node_id) lack format constraints, valid ranges, or relationship documentation.
No pagination support documented. list_wiki_workspaces and list_wiki_nodes may return large result sets but lack page/offset/limit parameters or documentation of result caps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 23 | - | v1 |
No error handling or recovery guidance. Descriptions lack 'what to do if' scenarios (e.g., workspace not found, permission denied, operator_id invalid).
Tool descriptions are too short (average ~50 chars vs baseline 194 chars). They omit context, prerequisites, and when to call each tool vs alternatives.
No tool-chain support documented. create_wiki_doc likely returns a document ID, but the output schema is not visible, the LLM cannot know how to reference the created document in subsequent calls.
No dry-run or confirmation pattern for destructive/write operations. create_wiki_doc modifies state but provides no way to preview or confirm before execution.
Credentials (DINGTALK_APP_KEY, DINGTALK_APP_SECRET) are loaded from environment, which is correct. However, operator_id can be set via tool parameter (set_operator), which may conflict with environment-based defaults, no clear precedence documented.