DeepSource MCP サーバー
DeepSource と統合して、AI アシスタントにコード品質メトリック、問題、分析結果へのアクセスを提供するモデル コンテキスト プロトコル (MCP) サーバー。
概要
DeepSource MCPサーバーは、AIアシスタントがモデルコンテキストプロトコルを介してDeepSourceのコード品質分析機能と連携することを可能にします。この統合により、AIアシスタントは以下のことが可能になります。
- コードメトリクスと分析結果を取得する
- アクセスとフィルターの問題
- 品質状態を確認する
- プロジェクトの品質を時間の経過とともに分析する
特徴
- DeepSource API統合 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
パスが書き込み可能であり、親ディレクトリが存在することを確認してください - ツールエラー: 詳細なエラーメッセージとスタックトレースをログファイルで確認してください
ライセンス
マサチューセッツ工科大学
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
DeepSource と統合して、AI アシスタントにコード品質メトリック、問題、分析結果へのアクセスを提供するモデル コンテキスト プロトコル サーバー。
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 -2514
- -securityAlicense-qualityA 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 -9TypeScriptMIT License
- -securityAlicense-qualityA 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 -3PythonApache 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 -16TypeScript