mcp-server-pacman

MIT License
4
  • Linux
  • Apple

Integrations

  • Provides capabilities to search for Docker images on Docker Hub and retrieve detailed information about specific images and tags.

  • Enables searching for JavaScript packages and retrieving detailed package information from npm registry.

  • Allows searching for Python packages and retrieving detailed package information from PyPI.

Servidor Pacman MCP

Un servidor de Protocolo de Contexto de Modelo que ofrece funciones de consulta de índices de paquetes. Este servidor permite a los LLM buscar y recuperar información de repositorios de paquetes como PyPI, npm, crates.io, Docker Hub y Terraform Registry.

Herramientas disponibles

  • search_package - Busca paquetes en los índices de paquetes
    • index (cadena, obligatorio): Índice del paquete a buscar ("pypi", "npm", "crates", "terraform")
    • query (cadena, obligatoria): nombre del paquete o consulta de búsqueda
    • limit (entero, opcional): número máximo de resultados a devolver (predeterminado: 5, máximo: 50)
  • package_info - Obtener información detallada sobre un paquete específico
    • index (cadena, obligatorio): índice del paquete a consultar ("pypi", "npm", "crates", "terraform")
    • name (cadena, obligatorio): nombre del paquete
    • version (cadena, opcional): versión específica para la que obtener información (predeterminado: la más reciente)
  • search_docker_image : busca imágenes de Docker en Docker Hub
    • query (cadena, obligatoria): Nombre de la imagen o consulta de búsqueda
    • limit (entero, opcional): número máximo de resultados a devolver (predeterminado: 5, máximo: 50)
  • docker_image_info : obtenga información detallada sobre una imagen de Docker específica
    • name (cadena, obligatorio): nombre de la imagen (por ejemplo, usuario/repositorio o biblioteca/repositorio)
    • tag (cadena, opcional): etiqueta de imagen específica (predeterminada: última)
  • terraform_module_latest_version : obtener la última versión de un módulo de Terraform
    • name (cadena, obligatorio): Nombre del módulo (formato: espacio de nombres/nombre/proveedor)

Indicaciones

  • búsqueda_pypi
    • Buscar paquetes de Python en PyPI
    • Argumentos:
      • query (cadena, obligatoria): nombre del paquete o consulta de búsqueda
  • información de pypi
    • Obtener información sobre un paquete específico de Python
    • Argumentos:
      • name (cadena, obligatorio): nombre del paquete
      • version (cadena, opcional): versión específica
  • búsqueda_npm
    • Buscar paquetes de JavaScript en npm
    • Argumentos:
      • query (cadena, obligatoria): nombre del paquete o consulta de búsqueda
  • información npm
    • Obtener información sobre un paquete de JavaScript específico
    • Argumentos:
      • name (cadena, obligatorio): nombre del paquete
      • version (cadena, opcional): versión específica
  • cajas de búsqueda
    • Busque paquetes de Rust en crates.io
    • Argumentos:
      • query (cadena, obligatoria): nombre del paquete o consulta de búsqueda
  • información de cajas
    • Obtenga información sobre un paquete específico de Rust
    • Argumentos:
      • name (cadena, obligatorio): nombre del paquete
      • version (cadena, opcional): versión específica
  • búsqueda_docker
    • Buscar imágenes de Docker en Docker Hub
    • Argumentos:
      • query (cadena, obligatoria): Nombre de la imagen o consulta de búsqueda
  • información del contenedor
    • Obtener información sobre una imagen de Docker específica
    • Argumentos:
      • name (cadena, obligatorio): nombre de la imagen (por ejemplo, usuario/repositorio)
      • tag (cadena, opcional): etiqueta específica
  • búsqueda_terraform
    • Busque módulos de Terraform en el Registro de Terraform
    • Argumentos:
      • query (cadena, obligatoria): nombre del módulo o consulta de búsqueda
  • información de terraform
    • Obtenga información sobre un módulo específico de Terraform
    • Argumentos:
      • name (cadena, obligatorio): Nombre del módulo (formato: espacio de nombres/nombre/proveedor)
  • terraform_última_versión
    • Obtenga la última versión de un módulo específico de Terraform
    • Argumentos:
      • name (cadena, obligatorio): Nombre del módulo (formato: espacio de nombres/nombre/proveedor)

Instalación

Uso de uv (recomendado)

Al usar uv , no se requiere ninguna instalación específica. Usaremos uvx para ejecutar directamente mcp-server-pacman .

Uso de PIP

Alternativamente, puede instalar mcp-server-pacman a través de pip:

pip install mcp-server-pacman

Después de la instalación, puedes ejecutarlo como un script usando:

python -m mcp_server_pacman

Usando Docker

También puedes utilizar la imagen de Docker:

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

Configuración

Configurar para Claude.app

Añade a tu configuración de 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"] } }

Configurar para VS Code

Para la instalación manual, agregue el siguiente bloque JSON a su archivo de configuración de usuario (JSON) en VS Code. Para ello, presione Ctrl + Shift + P y escriba Preferences: Open User Settings (JSON) .

Opcionalmente, puede agregarlo a un archivo llamado .vscode/mcp.json en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.

Tenga en cuenta que la clave mcp es necesaria cuando se utiliza el archivo mcp.json .

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

Personalización - Agente de usuario

De forma predeterminada, el servidor utilizará el agente de usuario:

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

Esto se puede personalizar agregando el argumento --user-agent=YourUserAgent a la lista de args en la configuración.

Desarrollo

Ejecución de pruebas

  • Ejecutar todas las pruebas:
    uv run pytest -xvs
  • Ejecutar categorías de pruebas específicas:
    # 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
  • Comprobar el estilo del código:
    uv run ruff check . uv run ruff format --check .
  • Código de formato:
    uv run ruff format .

Depuración

Puede usar el inspector MCP para depurar el servidor. Para instalaciones uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-pacman

O si ha instalado el paquete en un directorio específico o está desarrollando en él:

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

Proceso de liberación

El proyecto utiliza GitHub Actions para lanzamientos automatizados:

  1. Actualice la versión en pyproject.toml
  2. Crea una nueva etiqueta con git tag vX.YZ (por ejemplo, git tag v0.1.0 )
  3. Empuje la etiqueta con git push --tags

Esto automáticamente:

  • Verifique que la versión en pyproject.toml coincida con la etiqueta
  • Ejecutar pruebas y comprobaciones de pelusa
  • Construir y publicar en PyPI
  • Construya y publique en Docker Hub como oborchers/mcp-server-pacman:latest y oborchers/mcp-server-pacman:XYZ

Estructura del proyecto

La base del código está organizada en la siguiente estructura:

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

Las pruebas siguen una estructura similar:

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

Contribuyendo

Invitamos a todos a contribuir para expandir y mejorar mcp-server-pacman. Ya sea que desee agregar nuevos índices de paquetes, mejorar la funcionalidad existente o mejorar la documentación, su aporte es valioso.

Para ver ejemplos de otros servidores MCP y patrones de implementación, consulte: https://github.com/modelcontextprotocol/servers

¡Aceptamos solicitudes de incorporación de cambios! Siéntete libre de contribuir con nuevas ideas, correcciones de errores o mejoras para que mcp-server-pacman sea aún más potente y útil.

Licencia

mcp-server-pacman está licenciado bajo la Licencia MIT. Esto significa que usted tiene libertad de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

servidor mcp-pacman

  1. Available Tools
    1. Prompts
      1. Installation
        1. Using uv (recommended)
        2. Using PIP
        3. Using Docker
      2. Configuration
        1. Configure for Claude.app
        2. Configure for VS Code
        3. Customization - User-agent
      3. Development
        1. Running Tests
        2. Debugging
      4. Release Process
        1. Project Structure
          1. Contributing
            1. License

              Related MCP Servers

              View all related MCP servers

              ID: md47ozus83