deadcode MCP server
Commit Oct 19, 2026Detects and removes unused exports, dead routes, orphaned CSS, and unreferenced components in TypeScript, React, Next.js, and Python projects.
Also known as Coding-Dev-Tools/deadcode
- Stars
- 3
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Oct 19, 2026
- License
- MIT
What is deadcode MCP?
deadcode detects and removes unused exports, dead routes, orphaned CSS, and unreferenced components in TypeScript, React, Next.js, and Python projects.
Summary generated from the project's README
About deadcode MCP server
Cleaning up bloated codebases by identifying unused exports, dead routes, orphaned CSS, and unreferenced components is what deadcode enables for developers working in TypeScript, React, Next.js, and Python. This tool runs locally via a command-line interface and can be integrated into CI/CD pipelines using JSON output to gate builds based on finding thresholds.
Users can perform a quick overview of their project health with the stats command or run a full scan using the scan command. The tool provides a safe removal process where the remove command with a dry-run flag allows you to preview changes before they are applied. To prevent breaking complex logic, the removal process only blanks out self-contained single-line findings and skips any code spanning multiple lines.
While a free tier is available for individual developers and open-source projects, professional users can access unlimited scans, auto-removal, and CI integration through paid individual or team plans. The system supports monorepos and allows for fine-grained control through include and ignore patterns via CLI flags or a configuration file.
What you can do with it
- 1Identify unreachable Next.js pagesFind Next.js routes that have no internal links within your application.
- 2Clean up unused CSS modulesLocate CSS classes in your modules that are no longer referenced in your JSX or TSX files.
- 3Automate codebase maintenance in CIFail a continuous integration build if the number of dead code findings exceeds a specific limit.
- 4Safely preview code deletionsCheck exactly which lines of code will be removed before actually modifying any files.
Written from the project's README. Every use case is checked against a quote from it.
README
View on GitHubDeadCode
Detect and remove unused exports, dead routes, orphaned CSS, and unreferenced components in TypeScript/React/Next.js projects.
⭐ Star this repo if you care about bundle size — it helps other devs find DeadCode!
Installation
# Install from source (PyPI publishing pending)
pip install git+https://github.com/Coding-Dev-Tools/deadcode.git
# Scan current project
deadcode scan
# Scan a specific project
deadcode scan -p /path/to/project
# Preview removable dead code
deadcode remove --dry-run
# Remove confirmed dead code
deadcode remove
Commands
deadcode scan
Scan a TypeScript/React/Next.js project for all categories of dead code.
deadcode scan # Scan current directory
deadcode scan -p /path/to/project # Scan specific project
deadcode scan --json-output # Machine-readable JSON
deadcode scan -c unused_export # Filter by category
deadcode scan -i "generated/" # Ignore paths
deadcode remove
Remove dead code after previewing. Always preview with --dry-run first.
deadcode remove --dry-run # Preview changes (no writes)
deadcode remove # Apply removals
deadcode remove -c orphaned_css # Remove only orphaned CSS
deadcode stats
Quick overview of dead code in your project.
deadcode stats
Categories
| Category | Description | Example |
|---|---|---|
unused_export |
Exported names never imported elsewhere | export function oldHelper() with zero consumers |
dead_route |
Next.js routes with no internal links | app/legacy/page.tsx no longer linked from navigation |
orphaned_css |
CSS classes not referenced in JSX | .oldClass in styles.module.css with zero usages |
unreferenced_component |
React components defined but never imported | A <LegacyWidget> component with no import sites |
Features
- Unused export detection — finds functions, types, classes, interfaces, enums, and consts that are exported but never imported within your project
- Dead route detection — detects unreachable page components in Next.js App Router projects
- Orphaned CSS detection — finds CSS module classes that are defined but never referenced in TSX/JSX files
- Safe auto-removal —
--dry-runpreview shows exactly what will be deleted first;removeonly blanks self-contained single-line findings and skips (with a warning) anything spanning multiple lines, so it never leaves half-deleted, broken code - Full-project scanning — fast regex-based scanning covers export/import patterns, route detection, CSS class usage, and component references across your entire codebase (no AST/tree-sitter — deliberately dependency-free and quick)
- Monorepo support — handles large projects efficiently with ignore patterns
- CI integration — JSON output for automated pipelines and gating
Ignore / Include Patterns
# Ignore specific paths
deadcode scan -i "generated/" -i "**/*.generated.ts"
# Include only matching paths (whitelist)
deadcode scan --include "src/" # Only scan src/
deadcode scan --include "src/" --include "lib/" # Multiple dirs
deadcode remove --dry-run --include "packages/" # Works with remove
deadcode stats --include "app/" # Works with stats
--include accepts gitignore-style patterns and is repeatable (specify multiple targets).
When both --include and -i/--ignore are used, --include is applied first, then
--ignore excludes any matches within the included paths.
Default ignores: node_modules/, .git/, .next/, dist/, build/, public/, static/
Pricing
DeadCode is one of 11 tools in the Revenue Holdings suite. One license covers all CLI tools.
| Plan | Price | Best For |
|---|---|---|
| Free | $0 | Individual devs, OSS — CLI only, rate-limited |
| DeadCode Individual | $12/mo ($10 billed annually) | Professional devs — unlimited scans, auto-removal, CI integration |
| Suite (all 11 tools) | $49/mo ($39 billed annually) | Full Revenue Holdings toolkit — 40% savings |
| Team | $79/mo ($63 billed annually) | Up to 5 devs — trend analytics, shared baselines, alerts |
| Enterprise | Custom | SSO, RBAC, compliance reports, dedicated support |
🔹 No lock-in: CLI works fully offline on the free tier — no telemetry, no phone-home. 🔹 Annual billing: Save 20%.
Per-Tier Features
| Feature | Free | Individual | Suite | Team | Enterprise |
|---|---|---|---|---|---|
| CLI: scan, stats | ✓ | ✓ | ✓ | ✓ | ✓ |
| All 4 scanner categories | — | ✓ | ✓ | ✓ | ✓ |
Auto-removal (deadcode remove) |
— | ✓ | ✓ | ✓ | ✓ |
| Unlimited file scanning | — | ✓ | ✓ | ✓ | ✓ |
| CI/CD integration (JSON output) | — | ✓ | ✓ | ✓ | ✓ |
| Project trend baselines | — | — | — | ✓ | ✓ |
| Dashboard & analytics | — | — | — | ✓ | ✓ |
| Compliance reports | — | — | — | — | ✓ |
| RBAC / SSO / SAML / OIDC | — | — | — | — | ✓ |
| Priority support | Community | 24h | 24h | 8h | Dedicated |
CI/CD Integration
# Generate report for CI
deadcode scan --json-output > deadcode-report.json
# Fail CI if any dead routes found
deadcode scan -c dead_route --fail 1
# Fail CI if total findings exceed threshold
deadcode scan --fail 10
# Track dead code trends over time
deadcode scan --json-output > baseline-$(date +%Y-%m-%d).json
Configuration (.deadcode.yml)
Create a .deadcode.yml file in your project root:
# .deadcode.yml
ignore:
- "generated/"
- "**/*.generated.ts"
- "src/legacy/"
categories:
- unused_export
- dead_route
- orphaned_css
- unreferenced_component
# Exit with code 1 if findings >= this number (for CI gating)
fail_threshold: 10
CLI flags override config file settings.
Storage
.deadcode.yml— project configuration (ignore patterns, categories)deadcode-baseline.json— saved scan results for trend tracking
Roadmap
- VS Code extension with inline decorations showing dead code
- ESLint plugin integration with auto-fix
- Webpack/Rollup bundle analysis hooks
- MCP server for AI-assisted cleanup
- Incremental scanning with cache
- GitHub Actions annotator for PR comments
License
MIT — see LICENSE
deadcode MCP questions
Is the tool safe to use for automatic code removal?
Yes, the tool only blanks self-contained single-line findings and skips anything spanning multiple lines to prevent leaving broken code.
Does the tool work offline?
Yes, the CLI works fully offline on the free tier with no telemetry or phone-home features.
Can I integrate deadcode into my CI/CD pipeline?
Yes, you can generate machine-readable JSON output for automated pipelines and set failure thresholds to gate your builds.