Skip to main content
Glama
oborchers

mcp-server-pacman

パックマンのロゴ

パックマン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をインストールすることもできます。

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

Related MCP server: json-mcp-server

構成

Claude.app 用に設定する

Claude 設定に追加:

"mcpServers": {
  "pacman": {
    "command": "uvx",
    "args": ["mcp-server-pacman"]
  }
}
"mcpServers": {
  "pacman": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
  }
}
"mcpServers": {
  "pacman": {
    "command": "python",
    "args": ["-m", "mcp-server-pacman"]
  }
}

VS Code用の設定

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

オプションとして、ワークスペース内の.vscode/mcp.jsonというファイルに追加することもできます。これにより、他のユーザーと設定を共有できるようになります。

mcp.jsonファイルを使用する場合は、 mcpキーが必要であることに注意してください。

{
  "mcp": {
    "servers": {
      "pacman": {
        "command": "uvx",
        "args": ["mcp-server-pacman"]
      }
    }
  }
}
{
  "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.YZで新しいタグを作成します (例: git tag v0.1.0 )

  3. git push --tagsでタグをプッシュします。

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

  • pyproject.tomlのバージョンがタグと一致していることを確認します

  • テストとリントチェックを実行する

  • PyPI にビルドして公開する

  • oborchers/mcp-server-pacman:latestおよびoborchers/mcp-server-pacman:XYZとしてビルドし、Docker Hub に公開します。

プロジェクト構造

コードベースは次の構造で構成されています。

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 をさらに強力で便利なものにするために、新しいアイデア、バグ修正、機能強化などをお気軽にご提供ください。

ライセンス

mcp-server-pacmanはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oborchers/mcp-server-pacman'

If you have feedback or need assistance with the MCP directory API, please join our Discord server