デルブMCP
Delve デバッガー統合用の MCP サーバー
これはTypeScriptベースのMCPサーバーで、Goプログラム用のDelveデバッガーへの完全なインターフェースを提供します。MCPツールを通じて、主要なDelveコマンドと機能をすべて実装しています。
特徴
リソース
delve://URI 経由でデバッグ セッションの一覧を表示してアクセスする各セッションには、そのタイプ、ターゲット、ポートに関するメタデータがあります。
セッションの詳細と状態のJSON表現
ツール
Go プログラムをデバッグ、トレース、分析するには:
デバッグコマンド(
debug、attach、exec、test)コアダンプ分析
プログラムトレース
rrでデバッグを再生するDAPサーバーのサポート
条件付きブレークポイント管理
実行制御(
continue、step、next)変数の検査と評価
バックエンドの選択(
native、lldb、rr)ログ記録の構成
セッション管理
環境設定
サーバーには以下が必要です:
Delve と一緒にインストールされた Go (
go install github.com/go-delve/delve/cmd/dlv@latest)再生機能については、Mozilla
rr( https://github.com/mozilla/rr ) をご覧ください。Node.jsとnpm
Related MCP server: MCP Server Playground
インストール
Delve MCP サーバーをインストールするには:
npm install @dwisiswant0/delve-mcp発達
依存関係をインストールします:
npm installサーバーを構築します。
npm run build自動リビルドを使用した開発の場合:
npm run watch構成
Claude Desktop で使用するには、サーバー設定を追加します。
Linux の場合:
~/.config/Claude/claude_desktop_config.json。MacOS の場合:
~/Library/Application Support/Claude/claude_desktop_config.json。Windows の場合:
%APPDATA%/Claude/claude_desktop_config.json。
{
"mcpServers": {
"delve-mcp": {
"command": "/path/to/delve-mcp/build/index.js"
}
}
}利用可能なツール
デバッグコマンド
debug- 現在のディレクトリまたは指定されたパッケージ内の Go パッケージをデバッグしますattach- PIDで実行中のプロセスにアタッチするexec- コンパイル済みバイナリの実行とデバッグtest- 現在のパッケージまたは指定されたパッケージのテストをデバッグしますcore- 関連する実行ファイルを含むコアダンプファイルを調べるdap- デバッグアダプタプロトコル(DAP)サーバーを起動するreplay- rr トレース記録を再生するtrace- 関数マッチングによるプログラム実行のトレース
制御コマンド
setBreakpoint- オプションの条件でブレークポイントを設定するremoveBreakpoint- 既存のブレークポイントを削除するcontinue- プログラムの実行を継続するnext- 次の行へ進むstep- 関数呼び出しにステップインするstepout- 現在の関数からステップアウトするvariables- 現在のスコープ内のローカル変数を一覧表示するevaluate- 現在のスコープ内の式を評価する
設定コマンド
version- Delveのバージョン情報を取得するsetBackend- デバッグバックエンドを構成する(native、lldb、rr)configureLogging- デバッグログコンポーネントを構成する
使用例
デバッグセッションの開始
// Debug current package
{ name: "debug" }
// Debug with specific package and build flags
{
name: "debug",
arguments: {
package: "./cmd/myapp",
buildFlags: "-tags=integration"
}
}ブレークポイントの管理
// Set a breakpoint
{
name: "setBreakpoint",
arguments: {
sessionId: "abc123",
file: "main.go",
line: 42,
condition: "count > 5"
}
}検査状態
// List variables
{
name: "variables",
arguments: {
sessionId: "abc123"
}
}
// Evaluate expression
{
name: "evaluate",
arguments: {
sessionId: "abc123",
expr: "myVar.Field"
}
}ライセンス
マサチューセッツ工科大学。