npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ding-cheers-mcp

v0.1.1

Published

A DingTalk AI Table project-context MCP server for natural-language project understanding.

Downloads

286

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_KEY
  • DING_APP_SECRET
  • DING_BASE_ID
  • DING_USER_ID

Optional troubleshooting variables:

  • DING_CACHE_DISABLED
  • DING_CACHE_TTL_MS
  • DING_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-package

With 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 latest

Static examples live in docs/hosts.

Release Checks

Before publishing, maintainers should run:

npm run release:check
npm run release:dry-run

The 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.