mcpField
K
Kodus OSV

Kodus OSV

ローカル
github.com/kodustechセキュリティ249 週間前に更新

Kodus OSV について

Kodus OSV は、OSV v1 のオープンソース脆弱性検索をエージェントに提供するリモート MCP HTTP サーバーです。単一検索と一括検索に対応し、パッケージまたはコミットを検証済みのパラメーターで指定できます。

主な機能

  1. 01`/mcp` のストリーミング HTTP エンドポイント
  2. 02`osv_query` による単一検索
  3. 03`osv_query_batch` による一括検索
  4. 04OSV API ベース URL の設定
  5. 05クエリスキーマの検証

活用シーン

  1. 01パッケージのバージョンに既知の脆弱性があるか確認
  2. 02コミットを指定して脆弱性を検索
  3. 031 回のリクエストで複数パッケージを検索

MCP 対応

リモート MCP サーバーとして、OSV v1 API を検索する `osv_query` と `osv_query_batch` ツールを MCP クライアントに公開します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

OSV MCP サーバー(Bun)

オンデマンドでオープンソースの脆弱性を検索するために、OSV v1 API をラップするリモート Model Context Protocol(MCP)HTTP サーバーです(フィードの例:https://osv.dev/list?q=%40NESTJS%2FCORE&ecosystem=npm)。MCP ツールとして公開されており、エージェントから OSV に直接問い合わせできます。

特長

  • /mcp にストリーミング可能な HTTP MCP エンドポイントを提供します。
  • ツール:osv_query(単一の対象)と osv_query_batch(複数の対象)。
  • ベース URL を設定できます(OSV_API_URL。既定値は https://api.osv.dev/v1)。
  • LLM を適切に導くための明確なスキーマと検証機能を備えています(commit と version は排他的、purl のルール、ページネーション)。

クイックスタート

必要なもの:Bun。

bun install
PORT=3000 HOST=0.0.0.0 OSV_API_URL=https://api.osv.dev/v1 bun run index.ts

MCP エンドポイント:http://<host>:<port>/mcp。

環境変数:

  • PORT / HOST:HTTP のバインド先(既定値はそれぞれ 3000 / 0.0.0.0)。
  • OSV_API_URL:OSV ベース URL を上書きします。

MCP クライアントの設定

  • Claude Code CLI:claude mcp add --transport http mcp-osv http://localhost:3000/mcp
  • VS Code:code --add-mcp "{\"name\":\"mcp-osv\",\"type\":\"http\",\"url\":\"http://localhost:3000/mcp\"}"
  • MCP Inspector:npx @modelcontextprotocol/inspector -> http://localhost:3000/mcp に接続します リモートの場合は、localhost をホスト/ポートに置き換えてください。

ツールとパラメーター

osv_query

{
  "commit": "sha OR",
  "version": "version string OR",
  "package": {
    "name": "required with ecosystem if not using purl",
    "ecosystem": "required with name if not using purl",
    "purl": "pkg:pypi/jinja2 // purl OR name+ecosystem; if version is present, omit @version here"
  },
  "pageToken": "optional pagination token from previous OSV response"
}

ルール:

  • commit または version のいずれか一方を指定します(両方を指定することはできません)。
  • version を指定する場合は、package が必須です。
  • package は purl、または(name + ecosystem)のいずれかで指定します。
  • version があり、package.purl を使用する場合は、purl 内の @version を省略してください。

osv_query_batch

{
  "queries": [
    {
      "commit": "sha OR",
      "version": "version string OR",
      "package": {
        "name": "pkg name",
        "ecosystem": "ecosystem",
        "purl": "pkg:ecosys/name"
      },
      "pageToken": "optional"
    }
  ]
}

ルール:各項目は osv_query と同じルールに従います。

呼び出し例

  • PyPI のバージョン:{"package":{"purl":"pkg:pypi/jinja2"},"version":"3.1.4"}
  • name と ecosystem を指定した npm:{"package":{"name":"@nestjs/core","ecosystem":"npm"},"version":"10.2.10"}
  • commit の検索:{"commit":"<sha>","package":{"ecosystem":"Go","name":"github.com/foo/bar"}}

デバッグ

  • サーバーログ:OSV MCP server listening on http://<host>:<port>/mcp
  • Curl での初期化:curl -H "content-type: application/json" -H "accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","clientInfo":{"name":"curl","version":"0.0.0"},"capabilities":{}}}' http://localhost:3000/mcp
  • ツールの一覧表示:同じエンドポイントに {"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}} を送信します

ライセンス

MIT License。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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