User-identity DingTalk MCP server. Wraps the official dws CLI to expose your real DingTalk identity (not a bot) to Amazon Q Desktop / Claude Desktop / Cursor / any MCP host.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 3fd11f8 · analyzer v33 · 2w ago
skills & prompt files 1
- agent-rules keithyt06-quick-dingtalk-mcp-3fd11f8/CLAUDE.md
danger signals1
- dynamic code execution new Function() keithyt06-quick-dingtalk-mcp-3fd11f8/packages/shared/__tests__/generate-catalog.test.mjs :21
const extractDescription = new Function(
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 47
filesystem 11
- fs (weak) keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/__tests__/inject-token.test.mjs :4
import { mkdtemp, rm, stat, writeFile, chmod, readFile } from "node:fs/promises"; - fs (weak) keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/__tests__/server.test.mjs :7
import { mkdtemp, writeFile, chmod, rm, symlink, lstat } from "node:fs/promises"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/inject-token.mjs :28
import { mkdir, rm, access } from "node:fs/promises"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/server.js :22
import { readFileSync } from "node:fs"; - fs (weak) keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/infra/__tests__/synth.test.ts :5
import { readFileSync } from "node:fs"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/infra/bin/app.ts :2
import { readFileSync } from "node:fs"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/scripts-internal/build-lambda.mjs :13
import { mkdir } from "node:fs/promises"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/scripts-internal/run-infra-tests.mjs :19
import { readdir, rm } from "node:fs/promises"; - fs (weak) keithyt06-quick-dingtalk-mcp-3fd11f8/packages/shared/__tests__/generate-catalog.test.mjs :6
import { readFileSync } from "node:fs"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/shared/generate-catalog.mjs :4
import { writeFile } from "node:fs/promises"; - fs keithyt06-quick-dingtalk-mcp-3fd11f8/packages/shared/src/index.mjs :1
import { readFileSync } from "node:fs";
shell / exec 6
- shell keithyt06-quick-dingtalk-mcp-3fd11f8/packages/local/server.mjs :8
import { execFile } from "node:child_process"; - shell (weak) keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/__tests__/server.test.mjs :4
import { spawn } from "node:child_process"; - shell keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/inject-token.mjs :27
import { spawn } from "node:child_process"; - shell keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/server.js :19
import { execFile } from "node:child_process"; - shell keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/scripts-internal/run-infra-tests.mjs :20
import { spawnSync } from "node:child_process"; - shell keithyt06-quick-dingtalk-mcp-3fd11f8/packages/shared/generate-catalog.mjs :2
import { execFile } from "node:child_process";
network 5
- net (weak) keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/__tests__/server.test.mjs :50
const r = await fetch(`http://127.0.0.1:${port}/ping`); - net keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/docker/server.js :18
import http from "node:http"; - net keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/lambda/alarm-webhook/index.ts :47
const r = await fetch(WEBHOOK_URL, { method: "POST", headers: { "content-type": "application/json" }, body }); - net keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/lambda/mcp-middleware/index.ts :188
upstream = await fetch(signed.url, { - net keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/lambda/token-refresh-shim/index.ts :178
const r = await fetch(DINGTALK_TOKEN_URL, {
obfuscation 1
- dynamic require()/import() keithyt06-quick-dingtalk-mcp-3fd11f8/packages/remote/lambda/alarm-webhook/index.test.ts :22
const mod = await import(`./index.ts?cache=${Date.now()}-no-url`);