repology-mcp-server について
repology-mcp-serverは、MCPクライアントをRepologyのパッケージリポジトリデータに接続します。プロジェクトの検索や詳細確認、一覧の絞り込みに加え、リポジトリやメンテナーの問題報告を調べるツールを提供します。
主な機能
- 01名前によるプロジェクト検索
- 02プロジェクト詳細の取得
- 03プロジェクト一覧と絞り込み
- 04リポジトリの報告問題を確認
- 05メンテナーのパッケージ問題を確認
活用シーン
- 01リポジトリデータからパッケージを検索
- 02メンテナーやリポジトリの有無でプロジェクトを絞り込む
- 03リポジトリやメンテナーの報告問題を調査
MCP 対応
MCPサーバーは、Repologyのプロジェクト検索、詳細取得、一覧、およびリポジトリやメンテナーの問題報告をMCPクライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Repology MCP サーバー
標準化されたインターフェースを通じて、Repology のパッケージリポジトリデータにアクセスできる Model Context Protocol(MCP)サーバーです。
特長
この MCP サーバーでは、以下のツールを利用できます。
- search_projects:名前でプロジェクトを検索します
- get_project:特定のプロジェクトの詳細情報を取得します
- list_projects:任意の条件で絞り込んでプロジェクトを一覧表示します
- get_repository_problems:リポジトリについて報告された問題を取得します
- get_maintainer_problems:特定のメンテナーについて報告された問題を取得します
インストール
uv を使用する(推奨)
# Install dependencies
uv sync
# Install in development mode
uv pip install -e .
pip を使用する
pip install -e .
使用方法
スタンドアロンサーバーとして
# Run with stdio transport (for Claude Desktop, etc.)
repology-mcp-server
# Run with HTTP transport
repology-mcp-server --transport http --port 8000
Claude Desktop で使用する
Claude Desktop の設定に追加します。
{
"mcpServers": {
"repology": {
"command": "uv",
"args": ["run", "repology-mcp-server"]
}
}
}
または、ビルド済み Docker イメージを使用します。
{
"mcpServers": {
"repology": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/tschoonj/repology-mcp-server:latest"]
}
}
}
VS Code で使用する
VS Code の設定(.vscode/settings.json またはユーザー設定)に追加します。
{
"mcp.servers": {
"repology": {
"command": "uv",
"args": ["run", "repology-mcp-server"]
}
}
}
または、ビルド済み Docker イメージを使用します。
{
"mcp.servers": {
"repology": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/tschoonj/repology-mcp-server:latest"]
}
}
}
開発サーバーとして
# Run in development mode with MCP inspector
uv run mcp dev src/repology_mcp/server.py
Docker を使用する
GitHub Container Registry のビルド済みイメージ
# Pull the latest image
docker pull ghcr.io/tschoonj/repology-mcp-server:latest
# Run with stdio transport
docker run -i --rm ghcr.io/tschoonj/repology-mcp-server:latest
# Run with HTTP transport on port 8000
docker run --rm -p 8000:8000 ghcr.io/tschoonj/repology-mcp-server:latest --transport http --port 8000
# Use a specific version
docker pull ghcr.io/tschoonj/repology-mcp-server:1.0.0
docker run -i --rm ghcr.io/tschoonj/repology-mcp-server:1.0.0
Docker を使用したローカル開発
# Build the Docker image locally
docker build -t repology-mcp-server .
# Run with stdio transport
docker run -i --rm repology-mcp-server
# Run with HTTP transport on port 8000
docker run --rm -p 8000:8000 repology-mcp-server --transport http --port 8000
開発
セットアップ
# Clone the repository
git clone <repository-url>
cd repology-mcp-server
# Install development dependencies
uv sync --extra dev
テストの実行
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=repology_mcp --cov-report=html
# Run specific test file
uv run pytest tests/test_client.py -v
コードのフォーマット
# Format code
uv run black src tests
uv run isort src tests
# Type checking
uv run mypy src
API リファレンス
ツール
search_projects
名前の一部でプロジェクトを検索します。
パラメーター:
query(文字列):プロジェクト名との照合に使用する検索語limit(整数、任意):結果の最大数(デフォルト:10、最大:100)
get_project
特定のプロジェクトの詳細なパッケージ情報を取得します。
パラメーター:
project_name(文字列):取得するプロジェクトの正確な名前
list_projects
任意の条件で絞り込んでプロジェクトを一覧表示します。
パラメーター:
start_from(文字列、任意):一覧表示を開始するプロジェクト名limit(整数、任意):結果の最大数(デフォルト:10、最大:200)maintainer(文字列、任意):メンテナーのメールアドレスで絞り込みますcategory(文字列、任意):カテゴリーで絞り込みますinrepo(文字列、任意):リポジトリに存在するかどうかで絞り込みますnotinrepo(文字列、任意):リポジトリに存在しないかどうかで絞り込みます
get_repository_problems
特定のリポジトリについて報告された問題を取得します。
パラメーター:
repository(文字列):リポジトリ名(例:「freebsd」、「debian」)start_from(文字列、任意):ページネーションを開始するプロジェクト名
get_maintainer_problems
特定の人物がメンテナンスしているパッケージについて報告された問題を取得します。
パラメーター:
maintainer(文字列):メンテナーのメールアドレスrepository(文字列、任意):特定のリポジトリに限定しますstart_from(文字列、任意):ページネーションを開始するプロジェクト名
ライセンス
MIT License — 詳細は LICENSE ファイルを参照してください。
貢献
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- 新機能のテストを追加します
- テストスイートを実行します
- プルリクエストを送信します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。