Pacman MCP Server について
Pacman MCP Server は、LLM からパッケージインデックスや Docker Hub を検索し、パッケージ、イメージ、Terraform モジュールの情報を取得するサーバーです。MCP ツールとプロンプトを通じて検索機能を提供します。
主な機能
- 01PyPI、npm、crates.io の検索
- 02パッケージ情報とバージョンの取得
- 03Docker イメージの検索と情報確認
- 04Terraform モジュールの最新バージョン取得
- 05インデックス検索用プロンプト
活用シーン
- 01プロジェクトで使うパッケージの検索
- 02パッケージのバージョン情報の確認
- 03Docker Hub でのイメージ検索
- 04Terraform モジュールのバージョン確認
MCP 対応
MCP サーバーとして、パッケージインデックス、Docker Hub、Terraform Registry の検索・詳細取得ツールを MCP クライアントに提供します。一般的な検索向けのプロンプトも用意されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Pacman MCP サーバー
パッケージインデックスの検索機能を提供する Model Context Protocol サーバーです。このサーバーを使うと、LLM は PyPI、npm、crates.io、Docker Hub、Terraform Registry などのパッケージリポジトリから情報を検索、取得できます。
利用可能なツール
-
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 を使用しています。
pyproject.tomlのバージョンを更新しますgit tag vX.Y.Zで新しいタグを作成します(例:git tag v0.1.0)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 ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。