DeepSource MCP サーバー
DeepSource と統合して、AI アシスタントにコード品質メトリック、問題、分析結果へのアクセスを提供するモデル コンテキスト プロトコル (MCP) サーバー。
概要
DeepSource MCPサーバーは、AIアシスタントがモデルコンテキストプロトコルを介してDeepSourceのコード品質分析機能と連携することを可能にします。この統合により、AIアシスタントは以下のことが可能になります。
コードメトリクスと分析結果を取得する
アクセスとフィルターの問題
品質状態を確認する
プロジェクトの品質を時間の経過とともに分析する
特徴
DeepSource API統合:GraphQL API経由でDeepSourceに接続します
MCP プロトコル サポート: AI アシスタント統合用のモデル コンテキスト プロトコルを実装します
品質メトリクスとしきい値: しきい値を使用してコード品質メトリクスを取得および管理します
セキュリティコンプライアンスレポート: OWASP Top 10、SANS Top 25、MISRA-C コンプライアンスレポートにアクセスします
依存関係の脆弱性: 依存関係に関するセキュリティ脆弱性情報にアクセスする
TypeScript/Node.js : 型安全性と最新のJavaScript機能のためにTypeScriptで構築されています
クロスプラットフォーム: Linux、macOS、Windowsで動作
堅牢なエラー処理: ネットワーク、認証、解析の問題に対する包括的なエラー処理
Claude Desktopでの使用
claude_desktop_config.jsonを編集します。クロードデスクトップを開く
Settings」→Developer」→Edit Configへ移動します。以下のいずれかの構成を
mcpServersセクションに追加します。
変更を適用するには、Claude Desktopを再起動してください。
クエリの例
接続されると、AI アシスタントは次のようなクエリで DeepSource データを使用できるようになります。
これには、フィルター付きのproject_issuesツールが使用されます。
分析実行をフィルタリングするには:
これには、フィルター付きのproject_runsツールが使用されます。
コード品質メトリクスの場合:
これにはquality_metricsツールが使用されます。
セキュリティ コンプライアンス レポートの場合:
これには、 compliance_reportツールが使用されます。
しきい値を設定するには:
これにはupdate_metric_thresholdツールが使用されます。
環境変数
サーバーは次の環境変数をサポートしています。
DEEPSOURCE_API_KEY(必須): 認証用のDeepSource APIキーLOG_FILE(オプション): ログを書き込むファイルへのパス。設定されていない場合はログは書き込まれません。LOG_LEVEL(オプション): 書き込むログの最小レベル (DEBUG、INFO、WARN、ERROR)。デフォルトはDEBUG
ログ記録を含む構成の例:
ドッカー
NPX
利用可能なツール
DeepSource MCP サーバーは次のツールを提供します。
projects: 利用可能なすべてのDeepSourceプロジェクトを一覧表示しますパラメータ:
必須パラメータはありません
project_issues: DeepSourceプロジェクトからフィルタリングして問題を取得するパラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子ページネーションパラメータ:
offset(オプション) - ページ区切りでスキップする項目の数first(オプション) - 返されるアイテムの数 (デフォルトは 10)after(オプション) - 前方ページ送りのカーソルbefore(オプション) - 後方ページ送りのカーソルlast(オプション) - 'before' カーソルの前に返される項目の数 (デフォルト: 10)
フィルタリングパラメータ:
path(オプション) - 特定のファイルパスで問題をフィルタリングしますanalyzerIn(オプション) - 特定のアナライザーで問題をフィルタリングします (例: ["python", "javascript"])tags(オプション) - タグで問題をフィルタリングする
project_runs: DeepSourceプロジェクトの分析実行をフィルタリング付きで一覧表示するパラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子ページネーションパラメータ:
offset(オプション) - ページ区切りでスキップする項目の数first(オプション) - 返されるアイテムの数 (デフォルトは 10)after(オプション) - 前方ページ送りのカーソルbefore(オプション) - 後方ページ送りのカーソルlast(オプション) - 'before' カーソルの前に返される項目の数 (デフォルト: 10)
フィルタリングパラメータ:
analyzerIn(オプション) - 特定のアナライザーによる実行をフィルタリングします (例: ["python", "javascript"])
run: runUid または commitOid で実行された特定の分析を取得します。パラメータ:
runIdentifier(必須) - 実行を識別するための runUid (UUID) または commitOid (コミットハッシュ)
recent_run_issues: ページネーションサポートを使用して、特定のブランチで実行された最新の分析から問題を取得します。パラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子branchName(必須) - 最新の実行を取得するブランチ名ページネーションパラメータ:
first(オプション) - 返される問題の数 (デフォルトは 10)after(オプション) - 前方ページ送りのカーソルlast(オプション) - カーソルの前に返される問題の数 (デフォルト: 10)before(オプション) - 後方ページ送りのカーソル
戻り値:
ブランチでの最新の実行に関する情報
プロジェクトの現在の問題 (注: 問題はリポジトリ レベルであり、実行固有のものではありません)
カーソルやページステータスを含むページネーション情報
実行とブランチに関するメタデータ
dependency_vulnerabilities: DeepSource プロジェクトから依存関係の脆弱性を取得するパラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子ページネーションパラメータ:
offset(オプション) - ページ区切りでスキップする項目の数first(オプション) - 返されるアイテムの数 (デフォルトは 10)after(オプション) - 前方ページ送りのカーソルbefore(オプション) - 後方ページ送りのカーソルlast(オプション) - 'before' カーソルの前に返される項目の数 (デフォルト: 10)
quality_metrics: フィルタリングを使用してDeepSourceプロジェクトから品質メトリクスを取得するパラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子shortcodeIn(オプション) - 特定のショートコードでメトリックをフィルタリングします (例: ["LCV", "BCV"])
次のようなメトリックを返します。
ラインカバレッジ(LCV)
ブランチカバレッジ(BCV)
ドキュメントカバレッジ(DCV)
重複コード率(DDP)
各指標には、現在の値、しきい値、合格/不合格ステータスが含まれます。
update_metric_threshold: 特定の品質メトリックのしきい値を更新するパラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子repositoryId(必須) - GraphQLリポジトリIDmetricShortcode(必須) - 更新するメトリックのショートコードmetricKey(必須) - メトリックの言語またはコンテキストキーthresholdValue(オプション) - 新しいしきい値、またはしきい値を削除する場合は null
例: 80% の行カバレッジしきい値を設定する: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
update_metric_setting: 品質メトリックの設定を更新するパラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子repositoryId(必須) - GraphQLリポジトリIDmetricShortcode(必須) - 更新するメトリックのショートコードisReported(必須) - メトリックを報告するかどうかisThresholdEnforced(必須) - しきい値を強制するかどうか (チェックに失敗する可能性があります)
compliance_report: DeepSourceプロジェクトからセキュリティコンプライアンスレポートを取得する
パラメータ:
projectKey(必須) - DeepSourceプロジェクトの一意の識別子reportType(必須) - 取得するコンプライアンスレポートの種類 ( OWASP Top 10 、 SANS Top 25 、またはMISRA-C )
以下を含む包括的なセキュリティ コンプライアンス データを返します。
カテゴリと重大度別のセキュリティ問題の統計
コンプライアンスステータス(合格/不合格)
時間の経過に伴う変化を示すトレンドデータ
セキュリティ体制を改善するための分析と推奨事項
発達
リポジトリをクローンします。
依存関係をインストールします:
プロジェクトをビルドします。
Claudeデスクトップの設定
前提条件
Node.js 20以上
pnpm 10.7.0以上
Docker(コンテナビルド用)
スクリプト
pnpm run build- TypeScriptコードをビルドするpnpm run start- サーバーを起動するpnpm run dev- 開発モードでサーバーを起動しますpnpm run test- テストを実行するpnpm run lint- ESLint を実行するpnpm run format- Prettier でコードをフォーマットする
トラブルシューティング
デバッグログを有効にする
問題が発生している場合は、デバッグ ログを有効にして詳細情報を確認してください。
LOG_FILE環境変数を、ログを書き込むファイルパスに設定します。LOG_LEVEL``DEBUGに設定する(これがデフォルトです)詳細なエラー情報についてはログファイルを確認してください
構成例:
次に、ログ ファイルを確認します。
よくある問題
認証エラー:
DEEPSOURCE_API_KEYが正しく、必要な権限があることを確認してくださいログが表示されない:
LOG_FILEパスが書き込み可能であり、親ディレクトリが存在することを確認してくださいツールエラー: 詳細なエラーメッセージとスタックトレースをログファイルで確認してください
ライセンス
マサチューセッツ工科大学
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with SourceSync.ai's knowledge management platform for managing documents, ingesting content from various sources, and performing semantic searches.Last updated -2533
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.Last updated -370MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enhances AI-generated code quality through comprehensive analysis across 10 critical dimensions, helping identify issues before they become problems.Last updated -172Apache 2.0
- -securityFlicense-qualityA comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.Last updated -52