
パックマンMCPサーバー
パッケージインデックスのクエリ機能を提供するモデルコンテキストプロトコルサーバー。このサーバーにより、LLMはPyPI、npm、crates.io、Docker Hub、Terraform Registryなどのパッケージリポジトリから情報を検索・取得できるようになります。
利用可能なツール
search_package- パッケージインデックス内のパッケージを検索しますindex(文字列、必須): 検索するパッケージのインデックス ("pypi", "npm", "crates", "terraform")query(文字列、必須): パッケージ名または検索クエリlimit(整数、オプション): 返される結果の最大数 (デフォルト: 5、最大: 50)
package_info- 特定のパッケージに関する詳細情報を取得しますindex(文字列、必須): クエリするパッケージのインデックス ("pypi", "npm", "crates", "terraform")name(文字列、必須): パッケージ名version(文字列、オプション): 情報を取得する特定のバージョン (デフォルト: 最新)
search_docker_image- Docker Hub で Docker イメージを検索query(文字列、必須): 画像名または検索クエリlimit(整数、オプション): 返される結果の最大数 (デフォルト: 5、最大: 50)
docker_image_info- 特定のDockerイメージに関する詳細情報を取得しますname(文字列、必須): イメージ名 (例: user/repo または library/repo)tag(文字列、オプション):特定の画像タグ(デフォルト:最新)
terraform_module_latest_version- Terraformモジュールの最新バージョンを取得するname(文字列、必須): モジュール名 (形式: 名前空間/名前/プロバイダー)
プロンプト
検索_pypi
PyPIでPythonパッケージを検索する
引数:
query(文字列、必須): パッケージ名または検索クエリ
pypi_info
特定のPythonパッケージに関する情報を取得する
引数:
name(文字列、必須): パッケージ名version(文字列、オプション): 特定のバージョン
検索_npm
npmでJavaScriptパッケージを検索する
引数:
query(文字列、必須): パッケージ名または検索クエリ
npm_info
特定のJavaScriptパッケージに関する情報を取得する
引数:
name(文字列、必須): パッケージ名version(文字列、オプション): 特定のバージョン
検索ボックス
crates.ioでRustパッケージを検索する
引数:
query(文字列、必須): パッケージ名または検索クエリ
クレート情報
特定のRustパッケージに関する情報を取得する
引数:
name(文字列、必須): パッケージ名version(文字列、オプション): 特定のバージョン
検索ドッカー
Docker HubでDockerイメージを検索する
引数:
query(文字列、必須): 画像名または検索クエリ
docker_info
特定のDockerイメージに関する情報を取得する
引数:
name(文字列、必須): イメージ名 (例: ユーザー/リポジトリ)tag(文字列、オプション):特定のタグ
検索_terraform
Terraform レジストリで Terraform モジュールを検索する
引数:
query(文字列、必須): モジュール名または検索クエリ
テラフォーム情報
特定の Terraform モジュールに関する情報を取得する
引数:
name(文字列、必須): モジュール名 (形式: 名前空間/名前/プロバイダー)
terraform_最新バージョン
特定の Terraform モジュールの最新バージョンを取得する
引数:
name(文字列、必須): モジュール名 (形式: 名前空間/名前/プロバイダー)
インストール
uvの使用(推奨)
uvを使用する場合、特別なインストールは必要ありません。uvx uvx使用してmcp-server-pacmanを直接実行します。
PIPの使用
あるいは、pip 経由でmcp-server-pacmanをインストールすることもできます。
インストール後、次のコマンドを使用してスクリプトとして実行できます。
Dockerの使用
Docker イメージを使用することもできます。
構成
Claude.app 用に設定する
Claude 設定に追加:
VS Code用の設定
手動でインストールする場合は、VS Code のユーザー設定 (JSON) ファイルに次の JSON ブロックを追加します。Ctrl Ctrl + Shift + Pを押してPreferences: Open User Settings (JSON)と入力すると、このブロックを追加できます。
オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。
mcp.jsonファイルを使用する場合は、mcpキーが必要であることに注意してください。
カスタマイズ - ユーザーエージェント
デフォルトでは、サーバーは次のユーザーエージェントを使用します。
これは、構成の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インストールの場合:
または、パッケージを特定のディレクトリにインストールした場合や、そのディレクトリで開発している場合は、次のようにします。
リリースプロセス
このプロジェクトでは、自動リリースに GitHub Actions を使用しています。
pyproject.tomlのバージョンを更新するgit tag vX.YZで新しいタグを作成します (例:git tag v0.1.0)git push --tagsでタグをプッシュします。
これにより、次の処理が自動的に実行されます。
pyproject.tomlのバージョンがタグと一致していることを確認しますテストとリントチェックを実行する
PyPI にビルドして公開する
oborchers/mcp-server-pacman:latestおよびoborchers/mcp-server-pacman:XYZとしてビルドし、Docker Hub に公開します。
プロジェクト構造
コードベースは次の構造で構成されています。
テストも同様の構造に従います。
貢献
mcp-server-pacman の拡張と改善のための貢献を歓迎します。新しいパッケージインデックスの追加、既存の機能の強化、ドキュメントの改善など、皆様からのご意見は大変貴重です。
他の MCP サーバーと実装パターンの例については、https: //github.com/modelcontextprotocol/serversを参照してください。
プルリクエストを歓迎します!mcp-server-pacman をさらに強力で便利なものにするために、新しいアイデア、バグ修正、機能強化などをお気軽にご提供ください。
ライセンス
mcp-server-pacmanはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
Related MCP Servers
- MIT License