Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Symbol-level npm dependency analysis: scan verdicts, native alternatives, migration prompts.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"dep-scope": {
"command": "npx",
"args": [
"-y",
"@florianbruniaux/dep-scope"
]
}
}
}在终端中运行这条命令
claude mcp add dep-scope -- npx -y @florianbruniaux/dep-scope粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"dep-scope": {
"command": "npx",
"args": [
"-y",
"@florianbruniaux/dep-scope"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"dep-scope": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@florianbruniaux/dep-scope"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 FlorianBruniaux 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.4.2)于6个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SwarmMemo
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Florian BRUNIAUX · AI Founding Engineer @ Méthode Aristote
13 years from developer to CTO / VP Eng · Blog ↗ · Projects ↗
Symbol-level dependency analysis + LLM-ready migration prompts for TypeScript/JavaScript projects.
*"Knip tells you what's unused. dep-scope tells you how you use what you keep, and generates the prompt to remove it."*
Good use cases:
Not the right tool if:
$ dep-scope scan
═══════════════════════════════════════════ dep-scope Analysis Report ═══════════════════════════════════════════
Summary: Total dependencies: 45 ✓ Keep: 38 ↻ Recode Native: 3 ✗ Remove: 2 ⊕ Peer Dep: 4
Action Items: Remove (unused): ✗ moment ✗ has-flag
Recode to native: ↻ lodash.debounce (1 symbol) → custom debounce function ↻ array-includes (1 symbol) → Array.prototype.includes ↻ left-pad (1 symbol) → String.prototype.padStart
| Feature | Knip | Depcheck | Moderne | dep-scope |
|---|---|---|---|---|
| Unused detection | ✅ Excellent | ✅ Good | ❌ | ⚠️ Basic |
| Config file scanning | ✅ | ✅ | ❌ | ✅ |
| Symbol-level analysis | ❌ | ❌ | ✅ | ✅ |
| Native alternatives database | ❌ | ❌ | ✅ (lodash) | ✅ 195 packages |
| e18e micro-utilities coverage | ❌ | ❌ | ❌ | ✅ |
| Transitive graph analysis | ❌ | ❌ | ❌ | ✅ |
| Monorepo workspace support | ⚠️ | ❌ | ❌ | ✅ |
| Duplicate detection | ❌ | ❌ | ❌ | ✅ |
| LLM migration prompt | ❌ | ❌ | ❌ | ✅ |
| MCP Server (AI editors) | ❌ | ❌ | ❌ | ✅ |
| OSS / free | ✅ | ✅ | ❌ enterprise | ✅ |
Recommendation: Use Knip for unused detection, dep-scope for deeper analysis and migration. They work well together (dep-scope auto-detects Knip if installed).
CLI (global):
npm install -g @florianbruniaux/dep-scope
Without installation:
npx @florianbruniaux/dep-scope scan
MCP Server (AI editors — no CLI needed):
Add to your editor's MCP config and the server runs on demand via npx. See the MCP Server section below for per-editor config snippets.
From source:
git clone https://github.com/FlorianBruniaux/node-dep-scope.git
cd node-dep-scope npm install && npm run build && npm install -g .
cd /path/to/your/project
dep-scope init # configure dep-scope for your project (interactive) dep-scope scan # full scan dep-scope scan --root # scan full project, including scripts/ tools/ bin/ dep-scope scan --check-duplicates # include duplicate detection dep-scope scan --check-transitive # surface transitive polyfills (e18e database) dep-scope scan --each-workspace # monorepo: scan each package individually dep-scope migrate # generate migration prompts for all candidates dep-scope migrate lodash # target a specific package dep-scope report -o ./audit.md # markdown report
dep-scope initRun dep-scope init before your first scan. The wizard detects your project and generates a config in 4 questions:
dep-scope init
Detected: Next.js project Found dirs: src/, scripts/, app/
? Source directories to scan: ● Auto-detected: src/, scripts/, app/ (recommended) ○ Full project root (.) — includes everything ○ Choose directories manually...
? Include devDependencies in scan? (y/N) ? Symbol threshold for RECODE_NATIVE verdict: (5) ? Config format: ● .depscoperc.json (simple JSON, recommended) ○ depscope.config.ts (TypeScript with autocomplete)
✓ Created .depscoperc.json Preset: react | Dirs: src, scripts, app | Threshold: 5
Use -y to skip prompts in CI: dep-scope init --yes.
Auto-detection covers: src, app, lib, pages, components, hooks, server, scripts, tools, bin, cli. If your project has code elsewhere, pass --root to scan everything, or set srcPaths explicitly in .depscoperc.json:
{
"srcPaths": ["src", "app", "scripts", "tools"] }
False positive "unused" verdict? The package may be used in a directory outside the scan scope (
scripts/,tools/, etc.). Rundep-scope scan --rootto verify before removing anything. When a removal recommendation appears with a narrow scan scope, dep-scope will warn you.
dep-scope automatically scans config files at the project root to avoid false "unused" verdicts for packages referenced as strings — a common pattern for CLI tools, test runners, and framework plugins.
Detected automatically:
| Config file | Examples detected |
|---|---|
package.json scripts | "lint": "oxlint .", "format": "oxfmt ." |
vitest.config.* | environment: "jsdom", setupFiles: ["@testing-library/jest-dom"] |
vite.config.* | plugins: ["@vitejs/plugin-vue"] |
next.config.* | turbo.rules["*.svg"].loaders: ["@svgr/webpack"] |
.storybook/main.* | addons: ["@storybook/addon-mcp"] |
These packages will appear as INVESTIGATE (or KEEP if well-used) rather than REMOVE.
Opt-out — disable specific detectors in .depscoperc.json:
{
"stringReferences": { "disable": ["storybook-config"] } }
Available detector IDs: package-json-scripts, vitest-config, vite-config, next-config, storybook-config. Use "disable": "all" to turn off config scanning entirely.
Extend with custom detectors — in depscope.config.ts:
import { defineConfig, defineDetector } from "@florianbruniaux/dep-scope";
export default defineConfig({ stringReferences: { detectors: [ defineDetector({ id: "my-tool-config", label: "my-tool.config.json", filePatterns: ["my-tool.config.json"], async detect(filePath, ctx) { // return StringReference[] for packages found in this file return []; }, }), ], }, });
dep-scope exposes a Model Context Protocol server so AI editors (Claude Code, Cursor, Windsurf) can query your dependencies inline — no CLI, no markdown files, no copy-paste.
Listed on the official MCP Registry: `io.github.FlorianBruniaux/dep-scope`
| Tool | Params | What it does |
|---|---|---|
scan_project | projectPath, srcPaths, threshold, includeDev, checkDuplicates, checkTransitive, withKnip | Full dependency scan with verdicts |
analyze_package | packageName, projectPath, srcPaths | Symbol-level breakdown of one package |
get_migration_candidates | projectPath | List all RECODE_NATIVE + CONSOLIDATE packages |
generate_migration_prompt | packageName, projectPath | Generate a migration prompt inline |
find_duplicates | projectPath | Detect overlapping libraries |
Add the following mcpServers entry to your editor's config. The server runs on demand via npx — no global install required.
Claude Code — ~/.claude.json:
{
"mcpServers": { "dep-scope": { "command": "npx", "args": ["--package=@florianbruniaux/dep-scope", "-y", "dep-scope-mcp"] } } }
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "dep-scope": { "command": "npx", "args": ["--package=@florianbruniaux/dep-scope", "-y", "dep-scope-mcp"] } } }
Cursor — ~/.cursor/mcp.json:
{
"mcpServers": { "dep-scope": { "command": "npx", "args": ["--package=@florianbruniaux/dep-scope", "-y", "dep-scope-mcp"] } } }
Windsurf — ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "dep-scope": { "command": "npx", "args": ["--package=@florianbruniaux/dep-scope", "-y", "dep-scope-mcp"] } } }
Once connected, you can ask your AI editor to call scan_project or generate_migration_prompt directly mid-session without running any CLI command.
package.jsonThese projects extend the workflow without duplicating this tool:
Browse the complete open-source galaxy
MIT