mcpField
T
Tech Debt Mcp

Tech Debt Mcp

ローカル
github.com/PierreJanineh開発ツール714 週間前に更新

Tech Debt Mcp について

Tech Debt Mcpは、開発者やコーディングエージェント向けに、14言語の技術的負債を調べるMCPサーバーです。コード検査、SQALE指標、カスタムルール、依存関係の棚卸しを備えています。

主な機能

  1. 0114言語のコード分析
  2. 02SQALE技術的負債指標の算出
  3. 03正規表現によるカスタムルール
  4. 0410のエコシステムの依存関係を検査
  5. 05問題の絞り込みと優先度付き提案

活用シーン

  1. 01プロジェクトの保守性問題を確認
  2. 02SQALE指標で技術的負債を評価
  3. 03依存関係マニフェストと一覧を確認
  4. 04プロジェクト固有のコードパターンを適用

MCP 対応

分析、フィルタリング、カスタムルール、依存関係、設定検証のツールと2つのリソースをMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"TechDebtMCP": {
"command": "npx",
"args": [
"-y",
"tech-debt-mcp"
]
}
}
}
起動コマンドnpx -y tech-debt-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtech-debt-mcp2.1.0

ツール

16

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
pathstringはいプロジェクトルートディレクトリの絶対パス
languagesarrayいいえ任意:分析する特定の言語
categoriesarrayいいえ任意:負債カテゴリで絞り込み
severityenumいいえ任意:最小重大度レベルlow | medium | high | critical
maxFilesintegerいいえ任意:分析するファイルの最大数(最小値:1)

詳細

Tech Debt MCP

Tech Debt MCP サーバー

npm version Add to MCP SQALE Rating CodeQL Documentation

16 個のツール · 2 個のリソース · 14 言語 · 10 個の依存関係エコシステム

複数のプログラミング言語にわたる技術的負債を分析するための Model Context Protocol(MCP)サーバーです。GitHub Copilot、Claude、Cursor など、MCP 互換ツールとの連携を想定して設計されています。

特長

  • 複数言語に対応:JavaScript、TypeScript、Python、Java、Swift、Kotlin、Objective-C、C++、C、C#、Go、Rust、Ruby、PHP
  • 包括的な分析:コード品質の問題、セキュリティ上の脆弱性、保守性の問題など、さまざまな種類の技術的負債を検出します
  • SQALE メトリクス:SQALE 評価システム(A〜E スケール)で技術的負債を算出します
  • SwiftUI 分析:SwiftUI のパターン、状態管理、メモリリーク、ビューのネスト、並行処理の問題を専門的にチェックします
  • カスタムルール:正規表現に対応したパターンベースのチェックを独自に定義できます
  • 依存関係の分析:10 個のエコシステム(npm、pip、Maven/Gradle、Cargo、Go Modules、Composer、Bundler、NuGet、C/C++、Swift)のパッケージマニフェストを解析します
  • インライン抑制:// techdebt-ignore-next-line またはブロックコメントを使って誤検知を抑制できます
  • 設定の検証:.techdebtrc.json 設定ファイルがスキーマに準拠しているか検証します
  • 実用的な推奨事項:技術的負債への対処に向けた、優先順位付きの提案を提示します
  • 柔軟なフィルタリング:重大度、カテゴリ、言語で結果を絞り込めます
  • セキュリティ強化(v2.0.2):すべてのツールおよびリソースのパス入力でパストラバーサルを防止し、カスタムルールの正規表現を ReDoS から保護し、SwiftUI チェックで正規表現インジェクションをエスケープし、すべてのエラーメッセージで絶対パスを無害化します。また、プッシュおよび PR のたびに CodeQL SAST スキャンを実行します

対応言語

言語拡張子主なチェック項目
JavaScript.js, .mjs, .cjs, .jsxconsole.log, debugger, eslint-disable, 動的コード実行の使用, var の使用
TypeScript.ts, .tsx, .mts, .ctsany 型, @ts-ignore, 非 null アサーション, 型アサーション
Python.py, .pyw, .pyibare except, print 文, global の使用, 動的コード実行
Java.javaSystem.out, printStackTrace, 空の catch, @SuppressWarnings
Swift.swift強制アンラップ (!), 強制キャスト (as!), 強制 try, リテインサイクル, SwiftUI のパターン
Kotlin.kt, .kts!!, lateinit の乱用, @Suppress, 未チェックのキャスト
Objective-C.m, .mm, .hNSLog, リテインサイクル, 非推奨メソッド, 巨大なビューコントローラー
C++.cpp, .cc, .hpp, .h生ポインター, C スタイルのキャスト, goto, using namespace std
C.c, .hfree を伴わない malloc, goto, 安全でない関数, null チェック
C#.csConsole.WriteLine, async void, 空の catch, dispose パターン
Go.go無視されたエラー, 空のインポート, fmt.Print, panic, グローバル変数
Rust.rsunwrap, expect, unsafe, allow 属性, panic, println
Ruby.rbputs, binding.pry, rubocop disable, 動的コード実行, グローバル変数
PHP.phpvar_dump, print_r, die/exit, 動的コード実行, エラー抑制

インストール

VS Code: サーバーをインストール

ワンクリックでインストール

VS Code(ターミナル経由):

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

ワンクリックでインストール

Cursor(ターミナル経由):

cursor --add-mcp '{"name":"tech-debt-mcp","command":"npx -y tech-debt-mcp@latest"}'
Claude: Install Server

Claude Code(ターミナル経由):

claude mcp add tech-debt-mcp -- npx -y tech-debt-mcp@latest

Claude Desktop — claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "tech-debt-mcp": {
      "command": "npx",
      "args": ["-y", "tech-debt-mcp@latest"]
    }
  }
}
Claude Code: Install as Plugin

Claude Code プラグイン — このリポジトリのマーケットプレイスを追加してから、プラグインをインストールします:

/plugin marketplace add PierreJanineh/TechDebtMCP
/plugin install tech-debt-mcp@techdebtmcp

プラグインは内部で npx -y tech-debt-mcp@latest を実行します。ソースのバンドルは不要で、公開済みの npm リリースが常に使用されます。プラグイン利用者向けドキュメント(インストール手順、トランスクリプトの例、セキュリティ方針)については、plugin/README.md を参照してください。

Claude Desktop: Install MCPB Bundle

Claude Desktop MCPB バンドル — node_modules を同梱したワンクリックインストールです(npx は不要で、実行時のインターネット接続も必要ありません)。

最新の GitHub リリースから tech-debt-mcp-<version>.mcpb をダウンロードし、macOS または Windows 版の Claude で開きます。

バンドルをローカルでビルドするには:

npm install --include=dev --ignore-scripts
npm run mcpb:pack
# -> mcpb/tech-debt-mcp-<version>.mcpb
Windsurf: Install Server

Windsurf の MCP 設定(~/.codeium/windsurf/mcp_config.json)に追加します:

{
  "mcpServers": {
    "tech-debt-mcp": {
      "command": "npx",
      "args": ["-y", "tech-debt-mcp@latest"]
    }
  }
}
JetBrains: Install Server

AI Assistant 経由 — Settings > Tools > AI Assistant > Model Context Protocol (MCP) を開き、+ をクリックして As JSON を選択し、次を貼り付けます:

{
  "mcpServers": {
    "tech-debt-mcp": {
      "command": "npx",
      "args": ["-y", "tech-debt-mcp@latest"]
    }
  }
}
Xcode: Install Server

GitHub Copilot for Xcode 経由 — Settings > MCP tab > Edit Config (mcp.json) を開きます:

{
  "servers": {
    "tech-debt-mcp": {
      "command": "npx",
      "args": ["-y", "tech-debt-mcp@latest"]
    }
  }
}
手動セットアップ

MCP クライアントの設定に追加します:

{
  "mcpServers": {
    "tech-debt-mcp": {
      "command": "npx",
      "args": ["-y", "tech-debt-mcp@latest"]
    }
  }
}

開発時は npm run dev を実行します。

ツール

すべてのツールでツールアノテーションを宣言しています。Read ツールは副作用がなく(readOnlyHint: true)、Write ツールはサーバーセッションの状態を変更します(destructiveHint: true)。

カテゴリツール種別説明
分析analyze_project読み取りプロジェクト全体を分析します — 言語、カテゴリ、重大度、maxFiles で絞り込み可能
analyze_file読み取り単一ファイルを分析します
get_debt_summary読み取りヘルススコアと問題数を含む簡易サマリー
get_sqale_metrics読み取りSQALE 評価、修正時間、負債比率、内訳
フィルタリングget_recommendations読み取り優先順位付けされた修正提案(上限を設定可能)
get_issues_by_severity読み取り重大度レベルで絞り込んだ問題
get_issues_by_category読み取り負債カテゴリで絞り込んだ問題
list_supported_languages読み取りチェック項目を含むすべての言語
カスタムルールadd_custom_rule書き込み正規表現ベースの技術的負債ルールを追加します
remove_custom_rule書き込みID でカスタムルールを削除します
list_session_custom_rules読み取りこのセッションで add_custom_rule を通じて追加されたルールを一覧表示します(.techdebtrc.json の customPatterns は含まれません)
execute_custom_rules読み取りコードまたはファイルに対してカスタムルールを実行します
validate_custom_pattern読み取りパターンを追加する前にテストします
依存関係check_dependencies読み取り10 のエコシステムにわたるパッケージマニフェストをスキャンします
get_vulnerability_report読み取りCVE レビュー用のオフライン依存関係インベントリ
validate_config読み取り.techdebtrc.json スキーマを検証します

全体で使用される負債カテゴリ: dependency · code-quality · architecture · documentation · testing · security · performance · maintainability

分析 — パラメーターリファレンス
ツールパラメーター型必須制約/デフォルト説明
analyze_projectpathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
languagesstring[]特定の言語に絞り込みます
categoriesstring[]上記のカテゴリを参照負債カテゴリで絞り込みます
severityenumlow / medium / high / critical最低重大度レベル
maxFilesinteger最小値:1分析するファイル数の上限
analyze_filepathstring✓絶対ファイルシステムパス分析するファイル
get_debt_summarypathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
get_sqale_metricspathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
developmentTimenumber時間負債比率の計算に用いる推定開発時間

get_sqale_metrics は、星による視覚表示を含む SQALE 評価(A-E)、修正に要する合計時間、負債比率、重大度別およびカテゴリ別の内訳を返します。

フィルタリング — パラメーターリファレンス
ツールパラメーター型必須制約/デフォルト説明
get_recommendationspathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
limitintegerデフォルト:5、最小値:1返す推奨事項の最大数
get_issues_by_severitypathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
severityenum✓low / medium / high / critical絞り込みに使用する重大度
get_issues_by_categorypathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
categoryenum✓上記のカテゴリを参照絞り込みに使用する負債カテゴリ
list_supported_languages————パラメーターはありません
カスタムルール — パラメーターリファレンス | ツール | パラメーター | 型 | 必須 | 制約/デフォルト | 説明 | |------|-----------|------|:--------:|----------------------|-------------| | `add_custom_rule` | `id` | string | ✓ | | 一意のルール識別子 | | | `pattern` | string | ✓ | 最大1,000文字 | マッチさせる正規表現パターン | | | `message` | string | ✓ | | 問題のタイトル/メッセージ | | | `severity` | enum | ✓ | `low` / `medium` / `high` / `critical` | 重大度 | | | `category` | enum | ✓ | 上記のカテゴリを参照 | 技術的負債のカテゴリ | | | `suggestion` | string | | | 問題の修正方法 | | | `languages` | string[] | | | 特定の言語に限定 | | | `flags` | string | | 許可値:`d g i m s u v y`;`u` と `v` は相互に排他的 | 正規表現フラグ | | `remove_custom_rule` | `id` | string | ✓ | | 削除するルール ID | | `list_session_custom_rules` | — | — | — | — | パラメーターはありません。対象を明確にするため、`list_custom_rules` から名称を変更しました(TEC-51)。セッションに登録されたルールのみが対象です。 | | `execute_custom_rules` | `path` | string | ◐ | 絶対パス、最大500,000バイト | 分析するファイル | | | `code` | string | ◐ | 1~500,000文字 | 直接分析するソースコード | | | `language` | string | | サポートされている言語 ID であること(`list_supported_languages` と同じ一覧) | 言語でルールを絞り込み | | `validate_custom_pattern` | `id` | string | ✓ | | 一意のルール識別子 | | | `pattern` | string | ✓ | 最大1,000文字 | 検証する正規表現 | | | `message` | string | ✓ | | 問題のタイトル/メッセージ | | | `severity` | enum | ✓ | `low` / `medium` / `high` / `critical` | 重大度 | | | `category` | enum | ✓ | 上記のカテゴリを参照 | 技術的負債のカテゴリ |

◐ execute_custom_rules では、path または code のいずれかが必要です。両方を必須とするものではありません。path に空文字列 "" を指定した場合は、フィールドを省略した場合と同じように扱われます。

依存関係 — パラメーターリファレンス
ツールパラメーター型必須制約/デフォルト説明
check_dependenciespathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
includeDevbooleanデフォルト:true開発/テスト用の依存関係を含める
get_vulnerability_reportpathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリ
includeDevbooleanデフォルト:false開発用の依存関係を含める
validate_configpathstring✓絶対ファイルシステムパスプロジェクトのルートディレクトリまたは .techdebtrc.json への直接パス

check_dependencies は、npm、pip、Maven/Gradle、Cargo、Go Modules、Composer、Bundler、NuGet、C/C++(CMakeLists.txt、conanfile.txt/py、vcpkg.json)、Swift Package Manager のマニフェストを検出します。get_vulnerability_report はオフラインで依存関係のインベントリを作成します。オンラインの CVE 検索の予定については、ROADMAP.md を参照してください。

リソース

2つの MCP リソースにより、読み取り専用の技術的負債データを JSON 形式で公開します。どちらも RFC 6570 URI テンプレート を使用します。{+projectPath} 構文は 予約展開 であり、絶対ファイルシステムパスに含まれる / 文字をパーセントエンコードせずに変数へ含めることができます。

URI テンプレート説明
debt://summary/{+projectPath}健全性スコア、負債スコア、問題の件数、SQALE 指標
debt://issues/{+projectPath}技術的負債に関するすべての問題のフィルタリング可能な一覧。severity、category、limit のクエリパラメーターに対応

具体例 — {+projectPath} を絶対パスに置き換えてください。スラッシュが2つ並んでいる点に注意してください。テンプレート末尾の / とパス先頭の / が合わさって // になりますが、これは有効な URI 構文です。

debt://summary//Users/you/projects/myapp
debt://issues//Users/you/projects/myapp
debt://issues//Users/you/projects/myapp?severity=high&limit=50
debt://issues//Users/you/projects/myapp?category=security

対話的なテスト — ツールとリソースを試す最も簡単な方法は、MCP Inspector を使うことです。

npm run build
npx @modelcontextprotocol/inspector node dist/index.js

表示された URL を開き、Resources タブに切り替えて、絶対パスのプロジェクトパスを指定したテンプレート URI を読み取ってください。

設定

プロジェクトのルートに .techdebtrc.json ファイルを作成します。

{
  "include": ["src/**", "lib/**"],
  "ignore": ["vendor/**", "generated/**"],
  "rules": {
    "maxFileLines": 500,
    "maxFunctionLines": 50,
    "maxComplexity": 10,
    "maxNestingDepth": 4
  },
  "severity": {
    "todo-comment": "low",
    "console-log": "medium"
  },
  "ruleExclusions": {
    "debugger": ["**/src/analyzers/**"],
    "ts-ignore": ["**/src/analyzers/**"]
  },
  "customPatterns": [
    {
      "id": "no-console-log",
      "pattern": "console\\.log",
      "severity": "low",
      "category": "code-quality",
      "message": "Remove console.log() statements",
      "suggestion": "Use proper logging library instead",
      "languages": ["javascript", "typescript"]
    }
  ]
}
言語ごとの上書き

languageOverrides を使用して、言語ごとにルール、重大度、またはファイル拡張子を上書きします。キーには、有効なサポート対象言語の識別子を指定する必要があります。

{
  "languageOverrides": {
    "typescript": {
      "rules": {
        "maxFileLines": 800,
        "maxFunctionLines": 80
      },
      "severity": {
        "todo-comment": "high"
      }
    },
    "python": {
      "extensions": [".pyx"],
      "rules": {
        "maxComplexity": 15
      }
    }
  }
}
  • rules — 言語ごとのしきい値です(一致するファイルではトップレベルの rules を上書きします)。
  • severity — 言語ごとのルール重大度の上書きです。
  • extensions — この言語に割り当てる追加のファイル拡張子です(デフォルト以外)。
ルールの除外

ruleExclusions を使用して、グロブパターンに一致するファイルに対する特定のルールを抑制します。パターンには、すべてのプラットフォームでスラッシュ(/)を使用します。パス形式にかかわらず確実に一致させるには、**/ で始まるパターン(例:**/src/analyzers/**)を使用します。

インライン抑制

ソースコード内で特定の問題を直接抑制します。すべての言語で、コメントの接頭辞として // と # の両方がサポートされています。

単一行 — 次の行を抑制します。

// techdebt-ignore-next-line debugger
debugger; // only the 'debugger' rule is suppressed
# techdebt-ignore-next-line print-statement
print("debug output")  # will not be reported

ブロック — 開始行と終了行の間にあるすべての行を抑制します。

// techdebt-ignore-start ts-ignore
issues.push(...this.checkPattern(filePath, content, /@ts-ignore/g, { ... }));
// techdebt-ignore-end ts-ignore

ルール名を指定しない場合は、すべてのルールが抑制されます。ブロックは入れ子にできます。抑制コメントは単独の行に記述する必要があります。

カスタムルールの例

適用範囲に関する注意: .techdebtrc.json で定義した customPatterns は、スキャン前にプロジェクト設定を読み込む analyze_project でのみ適用されます。analyze_file は .techdebtrc.json を読み込まずに言語アナライザーを直接呼び出すため、この経路では設定で定義したパターンは適用されません。単一ファイルにカスタムパターンを適用するには、実行時に add_custom_rule を使用するか、execute_custom_rules を直接呼び出してください。

.techdebtrc.json の customPatterns の下にパターンを定義するか、add_custom_rule MCP ツールを使って実行時に登録します。

{
  "customPatterns": [
    {
      "id": "no-magic-numbers",
      "pattern": "=\\s*\\d{3,}",
      "severity": "medium",
      "category": "maintainability",
      "message": "Magic number detected",
      "suggestion": "Extract to named constant"
    },
    {
      "id": "forbidden-library",
      "pattern": "import.*moment.*from",
      "severity": "medium",
      "category": "dependency",
      "message": "moment.js is deprecated",
      "suggestion": "Use native Date or date-fns instead",
      "languages": ["javascript", "typescript"]
    }
  ]
}

SQALE メトリクス

Tech Debt MCP では、SQALE 手法を使用して技術的負債を定量化します。

評価負債比率品質
A≤5%優秀
B6-10%良好
C11-20%普通
D21-50%不良
E>50%危険

作業時間の対応関係: ごく小(≤5m) · 小(5-30m) · 中(30m-2h) · 大(2-4h) · 特大(4h+)

SwiftUI 分析

SwiftUI アプリ向けの14種類の専用チェックを提供します。状態管理(過剰な @State、@ObservedObject の誤用、環境値の安全性)、メモリとライフサイクル(Combine の保持サイクル、タイマーのクリーンアップ、タスクのキャンセル、クロージャの保持サイクル)、パフォーマンス(.id() 修飾子の不足、body 内の負荷の高い計算、深いネスト、GeometryReader の誤用)、ベストプラクティス(AnyView による型消去、非推奨の NavigationLink、メインスレッドの安全性)を対象とします。

SwiftUI のすべてのチェック項目と例を表示
状態管理に関する問題
  • 過剰な @State 変数 - ViewModel を使用すべき @State 変数が5個を超えるビューを検出します
  • @ObservedObject の誤用 - 初期化時に @ObservedObject を使用している箇所を検出します(@StateObject を使用する必要があります)
  • 環境値の安全性 - @Environment 値の強制アンラップを検出します
メモリとライフサイクル
  • Combine の循環参照 - Combine の sink における [weak self] の不足を検出します
  • タイマーのクリーンアップ不足 - onDisappear でクリーンアップされていない Timer を検出します
  • タスクのキャンセル処理不足 - キャンセル処理のない非同期 Task を検出します
  • クロージャの保持サイクル - [weak self] を指定せずに onChange/onReceive で self をキャプチャしている箇所を検出します
パフォーマンスとビュー階層
  • .id() 修飾子の不足 - 安定した識別子のない ForEach を検出します
  • View Body 内の負荷の高い計算 - View Body 内の reduce/sort/filter を検出します
  • ビューの深いネスト - ネストの深さが6階層を超える場合に警告します
  • GeometryReader の誤用 - ビューのルートにある GeometryReader を検出します
SwiftUI のベストプラクティス
  • AnyView の型消去 - 代わりにジェネリクスまたは @ViewBuilder を使うことを提案します
  • 非推奨の NavigationLink - 古い形式の NavigationLink パターンを検出します
  • メインスレッドの安全性 - UI の更新がメインスレッドで行われるようにします
検出される問題の例
// Excessive @State - should use ViewModel
struct UserView: View {
  @State private var firstName = ""
  @State private var lastName = ""
  @State private var email = ""
  @State private var phone = ""
  @State private var address = ""
  @State private var city = ""  // 6+ @State variables!
}

// @ObservedObject with initialization
struct ContentView: View {
  @ObservedObject var viewModel = UserViewModel()  // Should be @StateObject!
}

// Missing Timer cleanup
struct TimerView: View {
  var body: some View {
    Text("Hello")
      .onAppear {
        Timer.scheduledTimer(...)  // Missing .onDisappear cleanup!
      }
  }
}

// Retain cycle in Combine
publisher
  .sink { value in
    self.updateUI(value)  // Missing [weak self]!
  }

出力例

# Tech Debt Analysis Report

## Health Score: 72/100

### Issues by Severity
| Severity | Count |
|----------|-------|
| Critical | 2 |
| High | 15 |
| Medium | 45 |
| Low | 120 |

## Top Recommendations

1. **Address Critical Issues Immediately**
   Fix 2 critical security issues.

2. **Clean Up TODO/FIXME Comments**
   Found 45 TODO comments - consider creating tracked issues.

コード品質

Tech Debt MCP は自らが推奨する実践を実行しています。AI 支援によるバイブコーディングで構築され、定期的に自身をスキャンすることで A 評価を維持しています。内部リファクタリング(例:ヘルパーの抽出による customRulesEngine.validatePattern のネスト削減 — #146)は、セルフスキャンで見つかった問題をもとに行われます。

セルフスキャン結果(v2.0.2、2026年4月)
  • SQALE 評価: A(優秀)
  • 負債スコア: 5/100(目標:≤5/100)
  • 問題の合計: 13件(重大 0件、高 0件、中 6件、低 7件)
  • 修正所要時間: 14時間
  • 健全性スコア: 95/100

v2.0.2 のセキュリティ強化、ruleExclusions 設定、ネストのリファクタリング(#113、#118、#131、#146)、カスタムルールハンドラーの抽出(#145)により、v2.0.1 のベースラインである118件の問題/42.4の健全性から改善しました。残る負債:ネストのホットスポット5か所(server/core モジュール内に4か所、eslint.config.mjs に1か所)、システム境界での型アサーションの使用7件、非 null アサーション1件。問題ごとの詳細は TECH_DEBT_SCAN.md を参照してください。

開発

npm install --include=dev --ignore-scripts  # Install dependencies (incl. devDependencies)
npm run typecheck  # Type-check without emitting output
npm run lint       # Lint source files
npm run build      # Compile TypeScript
npm run dev        # Run with ts-node
npm run watch      # Watch mode
npm test           # Run tests

ドキュメント

プライバシー

Tech Debt MCP はすべてお使いのマシン上で動作します。インストール後は、渡されたファイルを読み取り、ローカルの stdio トランスポート経由で MCP クライアントに問題を返すだけで、それ以外の処理は行いません。サーバー自体は外部ネットワークへの接続を行わず、テレメトリや分析機能もなく、サードパーティサービスも使用しません。npm/npx によるインストールでは、標準的なパッケージマネージャーの動作として npm レジストリに接続します。MCPB バンドルにはあらかじめインストールされており、それ以上のネットワークアクセスは不要です。詳細は PRIVACY.md、または公開ポリシー https://pierrejanineh.github.io/TechDebtMCP/privacy を参照してください。

貢献

貢献を歓迎します!ガイドラインについては CONTRIBUTING.md、コミュニティ基準については CODE_OF_CONDUCT.md をご覧ください。

リリース

  • 最新: npm version
  • リリース: GitHub Releases
  • ロードマップ: 予定されている機能については ROADMAP.md をご覧ください
  • セキュリティ: キャプチャした文字列を new RegExp() に埋め込む場合は escapeRegExp()(src/utils/regexUtils.ts)を使用する必要があります(issue #128 を参照)。ハンドラーの出力では basename()/getRelativePath() を使用し、意図的なメッセージに絶対ファイルシステムパスが漏れるのを防ぎます。また、ファイルシステム操作から取得した生の err.message 文字列は、クライアントに返す前にサニタイズされます(issue #129 を参照)

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。