ding-cheers-mcp
v0.1.1
Published
A DingTalk AI Table project-context MCP server for natural-language project understanding.
Downloads
286
Maintainers
Readme
Ding-Cheers MCP
Ding-Cheers MCP is a DingTalk AI Table project-context MCP server.
Current status: RL-0.1.1. The server starts over MCP stdio, validates DingTalk OpenAPI credentials, resolves DING_USER_ID to unionid internally, maps AI Table schema into project roles, reads normalized Backlog/Sprint/Task/Artifact/Release records, builds a relationship graph, implements project search, Artifact document and Markdown file reading, batch Artifact reading, focused release-readiness answers, multi-entity chain context, natural-language project Q&A, personal work surfaces, role lenses, project health scans, in-process caching, pagination, document-read deduplication, and limited retry for transient DingTalk API failures.
What It Does
Ding-Cheers MCP turns DingTalk AI Table project data into an AI-readable project context layer. DingTalk stores Backlog, Sprint, Task, Artifact, Release, Owner, status, and document links; the MCP server translates them into tools that AI Hosts can query with natural language.
Public tools:
inspect_project: verify configuration, DingTalk auth, AI Table schema, records, and graph context.search_project: search normalized project records.read_artifact: read a DingTalk document or Markdown Artifact and return related project context.ask_project: answer natural-language project questions, role questions, owner questions, release questions, and health scans.get_my_work: return a personal or role-based work surface.
Required environment variables:
DING_APP_KEYDING_APP_SECRETDING_BASE_IDDING_USER_ID
Optional troubleshooting variables:
DING_CACHE_DISABLEDDING_CACHE_TTL_MSDING_LOG_LEVEL
Users do not configure access tokens, unionid, corp id, or operatorId. The MCP process fetches the access token and resolves DING_USER_ID to unionid internally.
Local Development
npm install
npm run typecheck
npm test
npm run build
npm run pack:check
npm run smoke:stdio -- --case B19-packageWith a real .env loaded:
set -a; source .env; set +a
npm run smoke:stdio -- --case B17-health --question "这个项目有哪些风险和缺口"
npm run smoke:stdio -- --case BK-025-md-artifact
npm run smoke:stdio -- --tool read_artifact --query "读取 AR-008,AR-009,AR-010,AR-011 文档"
npm run smoke:stdio -- --case BK-027-release-readiness --question "0.1.1 有哪些阻塞和风险?"
npm run smoke:stdio -- --case BK-028-chain-context --question "BK-025 TK-003 AR-008 是什么关系?"Production MCP Config
Generic stdio-compatible host:
{
"mcpServers": {
"ding-cheers": {
"command": "npx",
"args": ["-y", "ding-cheers-mcp@latest"],
"env": {
"DING_APP_KEY": "your-app-key",
"DING_APP_SECRET": "your-app-secret",
"DING_BASE_ID": "your-base-id",
"DING_USER_ID": "your-dingtalk-user-id"
}
}
}
}Local development config:
{
"mcpServers": {
"ding-cheers": {
"command": "node",
"args": ["/absolute/path/to/ding-cheers/dist/cli.js"],
"env": {
"DING_APP_KEY": "your-app-key",
"DING_APP_SECRET": "your-app-secret",
"DING_BASE_ID": "your-base-id",
"DING_USER_ID": "your-dingtalk-user-id"
}
}
}
}Generate host config examples:
npm run host:config -- --mode local --host generic
npm run host:config -- --mode npm --host cursor --version latest
npm run host:config -- --mode npm --host claude-desktop --version latestStatic examples live in docs/hosts.
Release Checks
Before publishing, maintainers should run:
npm run release:check
npm run release:dry-runThe published npm package intentionally contains only runtime JavaScript/type declarations and user-facing documents: README.md, CHANGELOG.md, docs/PERMISSIONS.md, and docs/hosts. Internal backlog notes, schema analysis, API research maps, tests, scripts, source files, local configs, and .env files are excluded from the npm tarball.
DingTalk Permissions
See docs/PERMISSIONS.md. Minimum permissions are internal app token access, member information read permission for userId to unionid resolution, and AI Table read permission. Document reading and Owner profile enrichment require their corresponding DingTalk read permissions.
Acceptance
Quick Host prompts:
请调用 Ding-Cheers MCP 的 inspect_project,检查连接状态,不要写入钉钉。请使用 Ding-Cheers MCP 回答:这个项目有哪些风险和缺口?请区分事实、推断、缺口和建议。请调用 Ding-Cheers MCP 读取 AR-008,AR-009,AR-010,AR-011 文档。只返回文档阅读结果和项目上下文,不要写入任何数据。请调用 Ding-Cheers MCP 回答:BK-025、TK-003、AR-008 三者是什么关系?请补充它们属于哪个迭代和版本。不要写入任何数据。Safety
Ding-Cheers MCP is read-only in this preview. It does not create, update, or delete DingTalk AI Table records or DingTalk documents. Responses redact full AppSecret, access token, userId, and unionid.
