DeepSource MCP Server

by sapientpants
Integrations
  • Retrieves code metrics and analysis results from GitHub repositories through DeepSource integration

  • Connects to DeepSource via GraphQL API to fetch code analysis data

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での使用

  1. claude_desktop_config.jsonを編集します。
    • クロードデスクトップを開く
    • Settings 」→ Developer 」→ Edit Configへ移動します。
    • 以下のいずれかの構成をmcpServersセクションに追加します。
  2. 変更を適用するには、Claude Desktopを再起動してください。

クエリの例

接続されると、AI アシスタントは次のようなクエリで DeepSource データを使用できるようになります。

What issues are in the JavaScript files of my project?

これには、フィルター付きのproject_issuesツールが使用されます。

{ "projectKey": "your-project-key", "path": "src/", "analyzerIn": ["javascript"], "first": 10 }

分析実行をフィルタリングするには:

Show me the most recent Python analysis runs

これには、フィルター付きのproject_runsツールが使用されます。

{ "projectKey": "your-project-key", "analyzerIn": ["python"], "first": 5 }

コード品質メトリクスの場合:

What's my code coverage percentage? Is it meeting our thresholds?

これにはquality_metricsツールが使用されます。

{ "projectKey": "your-project-key", "shortcodeIn": ["LCV", "BCV", "CCV"] }

セキュリティ コンプライアンス レポートの場合:

Are we compliant with OWASP Top 10 security standards?

これには、 compliance_reportツールが使用されます。

{ "projectKey": "your-project-key", "reportType": "OWASP_TOP_10" }

しきい値を設定するには:

Update our line coverage threshold to 80%

これにはupdate_metric_thresholdツールが使用されます。

{ "projectKey": "your-project-key", "repositoryId": "repo-id", "metricShortcode": "LCV", "metricKey": "AGGREGATE", "thresholdValue": 80 }

ドッカー

{ "mcpServers": { "deepsource": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "DEEPSOURCE_API_KEY", "sapientpants/deepsource-mcp-server" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

NPX

{ "mcpServers": { "deepsource": { "command": "npx", "args": [ "-y", "deepsource-mcp-server@1.1.0" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

利用可能なツール

DeepSource MCP サーバーは次のツールを提供します。

  1. projects : 利用可能なすべてのDeepSourceプロジェクトを一覧表示します
    • パラメータ:
      • 必須パラメータはありません
  2. project_issues : DeepSourceプロジェクトからフィルタリングして問題を取得する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • ページネーションパラメータ:
        • offset (オプション) - ページ区切りでスキップする項目の数
        • first (オプション) - 返されるアイテムの数 (デフォルトは 10)
        • after (オプション) - 前方ページ送りのカーソル
        • before (オプション) - 後方ページ送りのカーソル
        • last (オプション) - 'before' カーソルの前に返される項目の数 (デフォルト: 10)
      • フィルタリングパラメータ:
        • path (オプション) - 特定のファイルパスで問題をフィルタリングします
        • analyzerIn (オプション) - 特定のアナライザーで問題をフィルタリングします (例: ["python", "javascript"])
        • tags (オプション) - タグで問題をフィルタリングする
  3. project_runs : DeepSourceプロジェクトの分析実行をフィルタリング付きで一覧表示する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • ページネーションパラメータ:
        • offset (オプション) - ページ区切りでスキップする項目の数
        • first (オプション) - 返されるアイテムの数 (デフォルトは 10)
        • after (オプション) - 前方ページ送りのカーソル
        • before (オプション) - 後方ページ送りのカーソル
        • last (オプション) - 'before' カーソルの前に返される項目の数 (デフォルト: 10)
      • フィルタリングパラメータ:
        • analyzerIn (オプション) - 特定のアナライザーによる実行をフィルタリングします (例: ["python", "javascript"])
  4. run : runUid または commitOid で実行された特定の分析を取得します。
    • パラメータ:
      • runIdentifier (必須) - 実行を識別するための runUid (UUID) または commitOid (コミットハッシュ)
  5. dependency_vulnerabilities : DeepSource プロジェクトから依存関係の脆弱性を取得する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • ページネーションパラメータ:
        • offset (オプション) - ページ区切りでスキップする項目の数
        • first (オプション) - 返されるアイテムの数 (デフォルトは 10)
        • after (オプション) - 前方ページ送りのカーソル
        • before (オプション) - 後方ページ送りのカーソル
        • last (オプション) - 'before' カーソルの前に返される項目の数 (デフォルト: 10)
  6. quality_metrics : フィルタリングを使用してDeepSourceプロジェクトから品質メトリクスを取得する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • shortcodeIn (オプション) - 特定のショートコードでメトリックをフィルタリングします (例: ["LCV", "BCV"])
    • 次のようなメトリックを返します。
      • ラインカバレッジ(LCV)
      • ブランチカバレッジ(BCV)
      • ドキュメントカバレッジ(DCV)
      • 重複コード率(DDP)
      • 各指標には、現在の値、しきい値、合格/不合格ステータスが含まれます。
  7. update_metric_threshold : 特定の品質メトリックのしきい値を更新する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • repositoryId (必須) - GraphQLリポジトリID
      • metricShortcode (必須) - 更新するメトリックのショートコード
      • metricKey (必須) - メトリックの言語またはコンテキストキー
      • thresholdValue (オプション) - 新しいしきい値、またはしきい値を削除する場合は null
    • 例: 80% の行カバレッジしきい値を設定する: metricShortcode="LCV", metricKey="AGGREGATE", thresholdValue=80
  8. update_metric_setting : 品質メトリックの設定を更新する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • repositoryId (必須) - GraphQLリポジトリID
      • metricShortcode (必須) - 更新するメトリックのショートコード
      • isReported (必須) - メトリックを報告するかどうか
      • isThresholdEnforced (必須) - しきい値を強制するかどうか (チェックに失敗する可能性があります)
  9. compliance_report : DeepSourceプロジェクトからセキュリティコンプライアンスレポートを取得する
    • パラメータ:
      • projectKey (必須) - DeepSourceプロジェクトの一意の識別子
      • reportType (必須) - 取得するコンプライアンスレポートの種類 ( OWASP Top 10SANS Top 25 、またはMISRA-C )
    • 以下を含む包括的なセキュリティ コンプライアンス データを返します。
      • カテゴリと重大度別のセキュリティ問題の統計
      • コンプライアンスステータス(合格/不合格)
      • 時間の経過に伴う変化を示すトレンドデータ
      • セキュリティ体制を改善するための分析と推奨事項

発達

  1. リポジトリをクローンします。
git clone https://github.com/sapientpants/deepsource-mcp-server.git cd deepsource-mcp-server
  1. 依存関係をインストールします:
pnpm install
  1. プロジェクトをビルドします。
pnpm run build
  1. Claudeデスクトップの設定
{ "mcpServers": { "deepsource": { "command": "node", "args": [ "/path/to/deepsource-mcp-server/dist/index.js" ], "env": { "DEEPSOURCE_API_KEY": "your-deepsource-api-key" } } } }

前提条件

  • 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 でコードをフォーマットする

ライセンス

マサチューセッツ工科大学

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

DeepSource と統合して、AI アシスタントにコード品質メトリック、問題、分析結果へのアクセスを提供するモデル コンテキスト プロトコル サーバー。

  1. 概要
    1. 特徴
      1. Claude Desktopでの使用
        1. クエリの例
        2. ドッカー
        3. NPX
      2. 利用可能なツール
        1. 発達
          1. 前提条件
          2. スクリプト
        2. ライセンス

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.
            Last updated -
            5
            6
            Python
            Apache 2.0
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that enables AI assistants like Claude to perform Python development tasks through file operations, code analysis, project management, and safe code execution.
            Last updated -
            1
            Python
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A 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 -
            3
            Python
            Apache 2.0
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A 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 -
            16
            TypeScript

          View all related MCP servers

          ID: u4wlvmu5z8