Tech Debt Mcp
About
Static technical-debt analysis across 14 languages, exposed as MCP tools and resources
Details
- Author
- PierreJanineh
- Downloads
- 371
- Categories
- Other, Developer Tools, AI
Jump to
- Multi-language analysis (14 languages, 10 dependency ecosystems)
- SQALE metrics with A–E rating system
- Custom regex-based rules and inline suppression
- Dependency scanning and offline vulnerability inventory
- Config validation and flexible filtering by severity/category
- Security-hardened (path traversal prevention, ReDoS-safe rules, CodeQL scanning)
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Tech Debt McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server to your MCP client configuration using npx -y tech-debt-mcp@latest, or install via one-click links for VS Code, Cursor, Claude Desktop, Windsurf, JetBrains, and Xcode. Once configured, the server exposes 16 tools and 2 resources for analysis, filtering, custom rules, and dependency scanning.
analyze_project
Analyze an entire project for technical debt. Scans all supported files and returns a comprehensive report with issues, metrics, and recommendations.
analyze_file
Analyze a single file for technical debt issues.
get_debt_summary
Get a quick summary of technical debt in a project.
get_sqale_metrics
Get SQALE technical debt metrics including remediation time, debt ratio, and rating.
list_supported_languages
List all programming languages supported by the analyzer.
get_recommendations
Get prioritized recommendations for addressing technical debt.
get_issues_by_severity
Get all issues of a specific severity level.
get_issues_by_category
Get all issues of a specific category.
add_custom_rule
Add a custom pattern-based tech debt rule.
remove_custom_rule
Remove a custom rule by ID.
list_session_custom_rules
List custom rules registered in this server session via add_custom_rule. Does NOT include customPatterns declared in .techdebtrc.json (those run inside analyze_project via AnalysisEngine but are not surfaced here). Renamed from list_custom_rules (TEC-51) for clarity; the old name is no longer registered.
execute_custom_rules
Execute all custom rules against code or a file.
validate_custom_pattern
Validate a custom pattern before adding it as a rule.
check_dependencies
Analyze project dependencies across multiple package managers.
validate_config
Validate a .techdebtrc.json configuration file for syntax and schema correctness.
get_vulnerability_report
Generate an offline dependency report listing all project dependencies for vulnerability review. Note: actual CVE lookups require Phase 2b online integration.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"tech debt mcp": {
"tech-debt-mcp": {
"command": "npx",
"args": [
"-y",
"tech-debt-mcp@latest"
]
}
}
}
}
McpServers
{
"tech-debt-mcp": {
"command": "npx",
"args": [
"-y",
"tech-debt-mcp@latest"
]
}
}
<p align="center">
![]()
</p>
<h1 align="center">Tech Debt MCP Server</h1>
16 Tools · 2 Resources · 14 Languages · 10 Dependency Ecosystems
A Model Context Protocol (MCP) server for analyzing technical debt across multiple programming languages. Designed to integrate with GitHub Copilot, Claude, Cursor, and other MCP-compatible tools.
Features
- Multi-language support: JavaScript, TypeScript, Python, Java, Swift, Kotlin, Objective-C, C++, C, C#, Go, Rust, Ruby, PHP
- Comprehensive analysis: Detects various types of tech debt including code quality issues, security vulnerabilities, and maintainability problems
- SQALE Metrics: Calculate technical debt with SQALE rating system (A-E scale)
- SwiftUI Analysis: Specialized checks for SwiftUI patterns, state management, memory leaks, view nesting, and concurrency issues
- Custom Rules: Define your own pattern-based checks with regex support
- Dependency Analysis: Parse package manifests across 10 ecosystems (npm, pip, Maven/Gradle, Cargo, Go Modules, Composer, Bundler, NuGet, C/C++, Swift)
- Inline Suppression: Suppress false positives with // techdebt-ignore-next-line or block comments
- Config Validation: Validate .techdebtrc.json configuration files for schema correctness
- Actionable recommendations: Provides prioritized suggestions for addressing technical debt
- Flexible filtering: Filter results by severity, category, or language
- Security hardened (v2.0.2): Path traversal prevention on all tool and resource path inputs, ReDoS-safe custom-rule regex validation, regex-injection escaping in SwiftUI checks, absolute-path sanitization in all error messages, and CodeQL SAST scanning on every push/PR
Supported Languages
| Language | Extensions | Key Checks |
| ----------- | --------------------- | ---------------------------------------------------------------------------------- |
| JavaScript | .js, .mjs, .cjs, .jsx | console.log, debugger, eslint-disable, usage of dynamic code execution, var usage |
| TypeScript | .ts, .tsx, .mts, .cts | any type, @ts-ignore, non-null assertions, type assertions |
| Python | .py, .pyw, .pyi | bare except, print statements, global usage, dynamic code execution |
| Java | .java | System.out, printStackTrace, empty catch, @SuppressWarnings |
| Swift | .swift | force unwrap (!), force cast (as!), force try, retain cycles, SwiftUI patterns |
| Kotlin | .kt, .kts | !!, lateinit abuse, @Suppress, unchecked casts |
| Objective-C | .m, .mm, .h | NSLog, retain cycles, deprecated methods, massive view controllers |
| C++ | .cpp, .cc, .hpp, .h | raw pointers, C-style casts, goto, using namespace std |
| C | .c, .h | malloc without free, goto, unsafe functions, null checks |
| C# | .cs | Console.WriteLine, async void, empty catch, dispose pattern |
| Go | .go | ignored errors, blank imports, fmt.Print, panic, global variables |
| Rust | .rs | unwrap, expect, unsafe, allow attributes, panic, println |
| Ruby | .rb | puts, binding.pry, rubocop disable, dynamic code execution, global variables |
| PHP | .php | var_dump, print_r, die/exit, dynamic code execution, error suppression |
Installation
<details>
<summary></summary>
VS Code (via Terminal):
code --add-mcp '{"name":"tech-debt-mcp","command":"npx","args":["-y","tech-debt-mcp@latest"]}'
</details>
<details>
<summary></summary>
<a href="cursor://anysphere.cursor-deeplink/mcp/install?name=tech-debt-mcp&config=eyJjb21tYW5kIjoibnB4IC15IHRlY2gtZGVidC1tY3BAbGF0ZXN0In0=">One-Click Install</a>
Cursor (via Terminal):
cursor --add-mcp '{"name":"tech-debt-mcp","command":"npx -y tech-debt-mcp@latest"}'
</details>
<details>
<summary></summary>
Claude Code (via Terminal):
claude mcp add tech-debt-mcp -- npx -y tech-debt-mcp@latest
Claude Desktop — add to your claude_desktop_config.json:
{
"mcpServers": {
"tech-debt-mcp": {
"command": "npx",
"args": ["-y", "tech-debt-mcp@latest"]
}
}
}
</details>
<details>
<summary></summary>
Claude Code plugin — add this repo's marketplace, then install the plugin:
/plugin marketplace add PierreJanineh/TechDebtMCP
/plugin install tech-debt-mcp@techdebtmcp
The plugin runs npx -y tech-debt-mcp@latest under the hood — no source bundling, always tracks the published npm release. See plugin/README.md for plugin-user-facing docs (install flow, example transcripts, security posture).
</details>
<details>
<summary></summary>
Claude Desktop MCPB bundle — single-click install with bundled node_modules (no npx, no internet required at runtime).
Download tech-debt-mcp-<version>.mcpb from the latest GitHub Release and open it with Claude for macOS or Windows.
To build the bundle locally:
npm install --include=dev --ignore-scripts
npm run mcpb:pack
-> mcpb/tech-debt-mcp-<version>.mcpb
</details>
<details>
<summary></summary>
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





