mcpField
R
repology-mcp-server

repology-mcp-server

ローカル
github.com/tschoonj開発ツール057 週間前に更新

repology-mcp-server について

repology-mcp-serverは、MCPクライアントをRepologyのパッケージリポジトリデータに接続します。プロジェクトの検索や詳細確認、一覧の絞り込みに加え、リポジトリやメンテナーの問題報告を調べるツールを提供します。

主な機能

  1. 01名前によるプロジェクト検索
  2. 02プロジェクト詳細の取得
  3. 03プロジェクト一覧と絞り込み
  4. 04リポジトリの報告問題を確認
  5. 05メンテナーのパッケージ問題を確認

活用シーン

  1. 01リポジトリデータからパッケージを検索
  2. 02メンテナーやリポジトリの有無でプロジェクトを絞り込む
  3. 03リポジトリやメンテナーの報告問題を調査

MCP 対応

MCPサーバーは、Repologyのプロジェクト検索、詳細取得、一覧、およびリポジトリやメンテナーの問題報告をMCPクライアント向けのツールとして公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"tschoonj-repology": {
"command": "uvx",
"args": [
"repology-mcp-server"
]
}
}
}
起動コマンドuvx repology-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypirepology-mcp-server0.1.1
ocighcr.io/tschoonj/repology-mcp-server:0.1.1

ツール

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

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

詳細

Repology MCP サーバー

CI Docker Docker Image PyPI License: MIT

標準化されたインターフェースを通じて、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 ファイルを参照してください。

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 新機能のテストを追加します
  5. テストスイートを実行します
  6. プルリクエストを送信します

コメント

MCP は初めてですか?

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

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