mcpField
P
Pacman MCP Server

Pacman MCP Server

ローカル
github.com/oborchers開発ツール113 日前に更新

Pacman MCP Server について

Pacman MCP Server は、LLM からパッケージインデックスや Docker Hub を検索し、パッケージ、イメージ、Terraform モジュールの情報を取得するサーバーです。MCP ツールとプロンプトを通じて検索機能を提供します。

主な機能

  1. 01PyPI、npm、crates.io の検索
  2. 02パッケージ情報とバージョンの取得
  3. 03Docker イメージの検索と情報確認
  4. 04Terraform モジュールの最新バージョン取得
  5. 05インデックス検索用プロンプト

活用シーン

  1. 01プロジェクトで使うパッケージの検索
  2. 02パッケージのバージョン情報の確認
  3. 03Docker Hub でのイメージ検索
  4. 04Terraform モジュールのバージョン確認

MCP 対応

MCP サーバーとして、パッケージインデックス、Docker Hub、Terraform Registry の検索・詳細取得ツールを MCP クライアントに提供します。一般的な検索向けのプロンプトも用意されています。

設定

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

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

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

パッケージ
pypimcp-server-pacman

ツール

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

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

詳細

Pacman Logo

Pacman MCP サーバー

パッケージインデックスの検索機能を提供する Model Context Protocol サーバーです。このサーバーを使うと、LLM は PyPI、npm、crates.io、Docker Hub、Terraform Registry などのパッケージリポジトリから情報を検索、取得できます。

mcp-server-pacman MCP server
利用可能なツール
  • search_package - パッケージインデックスからパッケージを検索します

    • index (string、必須):検索するパッケージインデックス(「pypi」、「npm」、「crates」、「terraform」)
    • query (string、必須):パッケージ名または検索クエリ
    • limit (integer、任意):返す結果の最大数(デフォルト:5、最大:50)
  • package_info - 特定のパッケージの詳細情報を取得します

    • index (string、必須):照会するパッケージインデックス(「pypi」、「npm」、「crates」、「terraform」)
    • name (string、必須):パッケージ名
    • version (string、任意):情報を取得する特定のバージョン(デフォルト:最新)
  • search_docker_image - Docker Hub で Docker イメージを検索します

    • query (string、必須):イメージ名または検索クエリ
    • limit (integer、任意):返す結果の最大数(デフォルト:5、最大:50)
  • docker_image_info - 特定の Docker イメージの詳細情報を取得します

    • name (string、必須):イメージ名(例:user/repo または library/repo)
    • tag (string、任意):特定のイメージタグ(デフォルト:latest)
  • terraform_module_latest_version - Terraform モジュールの最新バージョンを取得します

    • name (string、必須):モジュール名(形式:namespace/name/provider)
プロンプト
  • search_pypi

    • PyPI で Python パッケージを検索します
    • 引数:
      • query (string、必須):パッケージ名または検索クエリ
  • pypi_info

    • 特定の Python パッケージの情報を取得します
    • 引数:
      • name (string、必須):パッケージ名
      • version (string、任意):特定のバージョン
  • search_npm

    • npm で JavaScript パッケージを検索します
    • 引数:
      • query (string、必須):パッケージ名または検索クエリ
  • npm_info

    • 特定の JavaScript パッケージの情報を取得します
    • 引数:
      • name (string、必須):パッケージ名
      • version (string、任意):特定のバージョン
  • search_crates

    • crates.io で Rust パッケージを検索します
    • 引数:
      • query (string、必須):パッケージ名または検索クエリ
  • crates_info

    • 特定の Rust パッケージの情報を取得します
    • 引数:
      • name (string、必須):パッケージ名
      • version (string、任意):特定のバージョン
  • search_docker

    • Docker Hub で Docker イメージを検索します
    • 引数:
      • query (string、必須):イメージ名または検索クエリ
  • docker_info

    • 特定の Docker イメージの情報を取得します
    • 引数:
      • name (string、必須):イメージ名(例:user/repo)
      • tag (string、任意):特定のタグ
  • search_terraform

    • Terraform Registry で Terraform モジュールを検索します
    • 引数:
      • query (string、必須):モジュール名または検索クエリ
  • terraform_info

    • 特定の Terraform モジュールの情報を取得します
    • 引数:
      • name (string、必須):モジュール名(形式:namespace/name/provider)
  • terraform_latest_version

    • 特定の Terraform モジュールの最新バージョンを取得します
    • 引数:
      • name (string、必須):モジュール名(形式:namespace/name/provider)

インストール

uv を使用する(推奨)

uv を使用する場合、特別なインストールは必要ありません。mcp-server-pacman を直接実行するために、uvx を使用します。

PIP を使用する

または、pip を使って mcp-server-pacman をインストールできます。

pip install mcp-server-pacman

インストール後、スクリプトとして次のように実行できます。

python -m mcp_server_pacman
Docker の使用

Docker イメージも使用できます。

docker pull oborchers/mcp-server-pacman:latest
docker run -i --rm oborchers/mcp-server-pacman

設定

Claude.app の設定

Claude の設定に追加します。

uvx の使用
"mcpServers": {
  "pacman": {
    "command": "uvx",
    "args": ["mcp-server-pacman"]
  }
}
docker の使用
"mcpServers": {
  "pacman": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
  }
}
pip インストールの使用
"mcpServers": {
  "pacman": {
    "command": "python",
    "args": ["-m", "mcp-server-pacman"]
  }
}
VS Code の設定

手動でインストールするには、以下の JSON ブロックを VS Code のユーザー設定(JSON)ファイルに追加します。Ctrl + Shift + P を押して Preferences: Open User Settings (JSON) と入力すると設定できます。

任意で、ワークスペース内の .vscode/mcp.json というファイルに追加することもできます。これにより、設定をほかのユーザーと共有できます。

mcp.json ファイルを使用する場合は、mcp キーが必要です。

uvx の使用
{
  "mcp": {
    "servers": {
      "pacman": {
        "command": "uvx",
        "args": ["mcp-server-pacman"]
      }
    }
  }
}
Docker の使用
{
  "mcp": {
    "servers": {
      "pacman": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
      }
    }
  }
}
カスタマイズ - ユーザーエージェント

デフォルトでは、サーバーは次のユーザーエージェントを使用します。

ModelContextProtocol/1.0 Pacman (+https://github.com/modelcontextprotocol/servers)

設定の args リストに引数 --user-agent=YourUserAgent を追加すると、カスタマイズできます。

開発

テストの実行
  • すべてのテストを実行します。

    uv run pytest -xvs
    
  • 特定のテストカテゴリを実行します。

    # Run all provider tests
    uv run pytest -xvs tests/providers/
    
    # Run integration tests for a specific provider
    uv run pytest -xvs tests/integration/test_pypi_integration.py
    
    # Run specific test class
    uv run pytest -xvs tests/providers/test_npm.py::TestNPMFunctions
    
    # Run a specific test method
    uv run pytest -xvs tests/providers/test_pypi.py::TestPyPIFunctions::test_search_pypi_success
    
  • コードスタイルを確認します。

    uv run ruff check .
    uv run ruff format --check .
    
  • コードをフォーマットします。

    uv run ruff format .
    
デバッグ

MCP インスペクターを使用してサーバーをデバッグできます。uvx でインストールした場合:

npx @modelcontextprotocol/inspector uvx mcp-server-pacman

または、特定のディレクトリにパッケージをインストールした場合や、開発中の場合:

cd path/to/pacman
npx @modelcontextprotocol/inspector uv run mcp-server-pacman

リリースプロセス

このプロジェクトでは、自動リリースに GitHub Actions を使用しています。

  1. pyproject.toml のバージョンを更新します
  2. git tag vX.Y.Z で新しいタグを作成します(例:git tag v0.1.0)
  3. git push --tags でタグをプッシュします

これにより、次の処理が自動的に実行されます。

  • pyproject.toml のバージョンがタグと一致することを確認します
  • テストと lint チェックを実行します
  • PyPI にビルドして公開します
  • Docker Hub に oborchers/mcp-server-pacman:latest および oborchers/mcp-server-pacman:X.Y.Z としてビルドして公開します

プロジェクト構成

コードベースは、次の構成になっています。

src/mcp_server_pacman/
├── models/             # Data models/schemas
├── providers/          # Package registry API clients
│   ├── pypi.py         # PyPI API functions
│   ├── npm.py          # npm API functions
│   ├── crates.py       # crates.io API functions
│   ├── dockerhub.py    # Docker Hub API functions
│   └── terraform.py    # Terraform Registry API functions
├── utils/              # Utilities and helpers
│   ├── cache.py        # Caching functionality
│   ├── constants.py    # Shared constants
│   └── parsers.py      # HTML parsing utilities
├── __init__.py         # Package initialization
├── __main__.py         # Entry point
└── server.py           # MCP server implementation

テストも同様の構成になっています。

tests/
├── integration/        # Integration tests (real API calls)
├── models/             # Model validation tests
├── providers/          # Provider function tests
└── utils/              # Test utilities

コントリビューション

mcp-server-pacman の拡張と改善に役立つコントリビューションを歓迎します。新しいパッケージインデックスの追加、既存機能の強化、ドキュメントの改善など、皆様のご協力は貴重です。

ほかの MCP サーバーや実装パターンの例については、以下をご覧ください。 https://github.com/modelcontextprotocol/servers

プルリクエストを歓迎します。mcp-server-pacman をさらに強力で便利にするための新しいアイデア、バグ修正、機能改善をぜひお寄せください。

作者

Dr. Oliver Borchers が開発しました。同氏は、IU Group の Executive AI and Automation Partner 兼 Head of AI Engineering です。

ライセンス

mcp-server-pacman は MIT License の下でライセンスされています。MIT License の条項と条件に従う限り、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリ内の LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

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

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