SCANOSS MCP Server について
SCANOSS MCP Server は、SCANOSS のオープンソーススキャンを MCP クライアントに接続し、コード内のコンポーネントやライセンスの互換性を確認します。整形された結果を返し、無料の osskb.org サービスまたは企業向け SCANOSS インスタンスを利用できます。
主な機能
- 01コード内のオープンソースコンポーネントをスキャン
- 02ライセンスの互換性を確認
- 03整形されたスキャン結果を返却
- 04無料版または企業版 SCANOSS に対応
活用シーン
- 01コード片に含まれる未申告コンポーネントを調査
- 02ライセンスの組み合わせの互換性を評価
MCP 対応
コード片をスキャンし、オープンソースコンポーネントの検出結果を返す `scan_code_snippet` ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SCANOSS MCP Server
SCANOSS のテクノロジーを使用して、オープンソースライセンスへの準拠を確認するためにコードをスキャンするツールを提供する Model Context Protocol(MCP)サーバーです。
概要
SCANOSS MCP Server は、SCANOSS のオープンソーススキャン機能を Model Context Protocol と統合し、LLM が次のことを行えるようにします。
- 宣言されていないオープンソースコンテンツがないか、コードスニペットをスキャンする
- オープンソースライセンスの組み合わせについて、ライセンスへの準拠を確認する
- コード内のオープンソースコンポーネントに関する、実用的な分析情報を得る
このサーバーを利用することで、AI アシスタントは生成または変更したコードにリアルタイムでフィードバックを提供でき、オープンソースライセンスへの準拠を確保し、法的リスクを低減できます。
機能
- コードスキャン:コードスニペット内のオープンソースコンポーネントを検出します。コンポーネント全体、ファイル、スニペットが対象です。
- ライセンスへの準拠:ライセンスの組み合わせを分析し、互換性の問題や準拠要件を確認します。
- 整形された結果:スキャン結果に関する、見やすく実用的な分析情報を受け取れます。
- API キーは任意:無料の(osskb.org)インスタンスとエンタープライズ版 SCANOSS インスタンスのどちらでも使用できます。
要件
- Python 3.12+
- Python パッケージ管理用の uv
- SCANOSS Python SDK
- MCP Python SDK
インストール
ローカルへのインストール
-
このリポジトリをクローンします。
git clone https://github.com/matiasdaloia/scanoss-mcp-server.git cd scanoss-mcp-server -
uvを使用して依存関係をインストールします。uv venv uv pip install -e . -
(任意)ルートディレクトリに SCANOSS API キーを記載した
.envファイルを作成します。SCANOSS_API_KEY=your_api_key_here SCANOSS_API_URL=https://your-scanoss-instance.com/api/scan/directAPI キーを指定しない場合、サーバーは無料の osskb.org サービスを使用します。
Docker を使用したインストール
-
ビルド済みの Docker イメージを取得します。
docker pull mcp/scanoss-mcp-serverまたは、自分でビルドします。
docker build -t mcp/scanoss-mcp-server . -
Docker を使用して実行します。
docker run -i --rm -e SCANOSS_API_KEY=your_key_here -e SCANOSS_API_URL=https://your-scanoss-instance.com/api/scan/direct mcp/scanoss-mcp-server
使用方法
サーバーの実行
uv を使用したローカル実行
MCP サーバーを実行します。
uv run scanoss_mcp_server.py
Docker を使用した実行
docker run -i --rm -e SCANOSS_API_KEY=your_key_here mcp/scanoss-mcp-server
クライアントの設定
SCANOSS MCP Server を AI アシスタントまたは MCP クライアントで使用するには、適切に設定する必要があります。
Claude Desktop の場合
次の内容を Claude Desktop の設定ファイル(claude_desktop_config.json)に追加します。
"scanoss-mcp-server": {
"command": "uv",
"args": [
"run",
"scanoss_mcp_server.py"
],
"env": {
"SCANOSS_API_KEY": "your_api_key_here",
"SCANOSS_API_URL": "https://your-scanoss-instance.com/api/scan/direct"
}
}
または、Docker を使用する場合:
"scanoss-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "SCANOSS_API_KEY",
"-e", "SCANOSS_API_URL",
"mcp/scanoss-mcp-server"
],
"env": {
"SCANOSS_API_KEY": "your_api_key_here",
"SCANOSS_API_URL": "https://your-scanoss-instance.com/api/scan/direct"
}
}
利用可能なツール
このサーバーは、MCP クライアントに次のツールを公開します。
- scan_code_snippet:コードスニペットをスキャンし、オープンソースコンポーネントを検出します。
- パラメーター:
code:スキャンするコードスニペット(必須)file_name:ファイル名(必須)
- パラメーター:
コントリビューション
コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
謝辞
- オープンソーススキャン技術を提供する SCANOSS
- MCP 標準と SDK を提供する Model Context Protocol
- 高速な Python パッケージ管理を提供する uv
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。