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는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 FlorianBruniaux 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.4.2)은 6개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Draugr
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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