Tech Debt Mcp

by PierreJanineh

371 downloads
Not rated
GitHub

About

Static technical-debt analysis across 14 languages, exposed as MCP tools and resources

Details

Author
PierreJanineh
Downloads
371
Categories
Other, Developer Tools, AI

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Tech Debt Mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. 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">
Tech Debt MCP
</p>

<h1 align="center">Tech Debt MCP Server</h1>

npm version
Add to MCP
SQALE Rating-brightgreen)
CodeQL
Documentation

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>VS Code: Install Server</summary>

One-Click Install

VS Code (via Terminal):

code --add-mcp '{"name":"tech-debt-mcp","command":"npx","args":["-y","tech-debt-mcp@latest"]}'

</details>

<details>
<summary>Cursor: Install Server</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>Claude: Install Server</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>Claude Code: Install as Plugin</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>Claude Desktop: Install MCPB Bundle</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>Windsurf: Install Server</summary>

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.