管理钉钉云文档中的文档、文件夹和内容。支持文档搜索、创建、内容读写和文件夹整理。
get_document_content_by_url 仍在灰度发布根据 GitHub issue #1 下维护者的回复:get_document_content_by_url 目前还在灰度中,全量发布还需要一点时间。
这意味着:
get_document_content_by_url 不代表你配置错了,也不一定是权限问题目前常见的 5 个可见工具是:
list_accessible_documentsget_my_docs_root_dentry_uuidcreate_doc_under_nodecreate_dentry_under_nodewrite_content_to_document如果你在 mcporter list 或其他 MCP 客户端里看不到 get_document_content_by_url,先按服务端灰度未放开处理,不要先怀疑本地配置。
clawhub install dingtalk-docs
npm install -g mcporter
访问 钉钉 MCP 广场 找到 钉钉文档 服务,获取 Streamable HTTP URL:
mcporter config add dingtalk-docs --url "<你的_URL>"
也可以使用环境变量:
export DINGTALK_MCP_DOCS_URL="<你的_URL>"
这个 URL 含访问令牌,属于敏感凭证。推荐优先用
mcporter config保存,避免泄露到 shell 历史。
# 获取根目录 ID
mcporter call dingtalk-docs.get_my_docs_root_dentry_uuid
# 创建文档
mcporter call dingtalk-docs.create_doc_under_node --args '{"name": "我的文档", "parentDentryUuid": "ROOT_ID"}'
# 搜索文档
mcporter call dingtalk-docs.list_accessible_documents --args '{"keyword": "项目"}'
# 写入内容到文档(覆盖模式)
mcporter call dingtalk-docs.write_content_to_document --args '{"content": "# 标题\n\n内容", "updateType": 0, "targetDentryUuid": "doc_xxx"}'
# 获取文档内容(仅当你的实例已放量该灰度接口时可用)
mcporter call dingtalk-docs.get_document_content_by_url --args '{"docUrl": "https://alidocs.dingtalk.com/i/nodes/doc_xxx"}'
| 方法 | 说明 | 必填参数 | 状态 |
|---|---|---|---|
get_my_docs_root_dentry_uuid |
获取根目录 ID | 无 | 稳定可用 |
list_accessible_documents |
搜索文档 | 无(keyword 选填) | 稳定可用 |
create_doc_under_node |
创建文档 | name, parentDentryUuid | 稳定可用 |
create_dentry_under_node |
创建节点(多类型) | name, accessType, parentDentryUuid | 稳定可用 |
write_content_to_document |
写入内容 | content, updateType, targetDentryUuid | 稳定可用 |
get_document_content_by_url |
获取文档内容 | docUrl | 灰度中,部分实例不可见 |
完整参数说明请查看 references/api-reference.md
"13"),传数字会静默失败0),传字符串会静默失败https://alidocs.dingtalk.com/i/nodes/{dentryUuid}),不能只传 IDscripts/ 目录中的辅助脚本会读写本地文件:
import_docs.py:读取工作区内的本地 Markdown / TXT 文件并导入到钉钉文档export_docs.py:将钉钉文档内容导出到工作区内的本地 Markdown 文件create_doc.py:读取输入内容并创建文档这些脚本已做安全限制:
resolve_safe_path() 防止目录遍历mcporter 调用 MCP 服务,不直接发起网络请求dingtalk-docs/
├── SKILL.md # AI 技能入口(≤150 行)
├── package.json # 元数据
├── README.md # 人类可读说明
├── CHANGELOG.md # 变更日志
├── references/
│ ├── api-reference.md # 完整参数 Schema + 返回值
│ └── error-codes.md # 错误码说明 + 调试流程
├── scripts/
│ ├── create_doc.py # 创建文档脚本
│ ├── import_docs.py # 导入文档脚本
│ └── export_docs.py # 导出文档脚本
└── tests/
├── test_security.py # 安全功能测试
└── TEST_REPORT.md # 测试报告
# 克隆仓库
git clone https://github.com/aliramw/dingtalk-docs.git
# 运行测试
python3 tests/test_security.py -v
MIT License
Marila@Dingtalk
$ claude mcp add dingtalk-docs \
-- python -m otcore.mcp_server <graph>