mcp-server-pacman

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 paquetesindex(cadena, obligatorio): Índice del paquete a buscar ("pypi", "npm", "crates", "terraform")query(cadena, obligatoria): nombre del paquete o consulta de búsquedalimit(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íficoindex(cadena, obligatorio): índice del paquete a consultar ("pypi", "npm", "crates", "terraform")name(cadena, obligatorio): nombre del paqueteversion(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 Hubquery(cadena, obligatoria): Nombre de la imagen o consulta de búsquedalimit(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íficaname(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 Terraformname(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 paqueteversion(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 paqueteversion(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 paqueteversion(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-pacmanDespués de la instalación, puedes ejecutarlo como un script usando:
python -m mcp_server_pacmanUsando Docker
También puedes utilizar la imagen de Docker:
docker pull oborchers/mcp-server-pacman:latest
docker run -i --rm oborchers/mcp-server-pacmanRelated MCP server: json-mcp-server
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
mcpes necesaria cuando se utiliza el archivomcp.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 -xvsEjecutar 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_successComprobar 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-pacmanO 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-pacmanProceso de liberación
El proyecto utiliza GitHub Actions para lanzamientos automatizados:
Actualice la versión en
pyproject.tomlCrea una nueva etiqueta con
git tag vX.YZ(por ejemplo,git tag v0.1.0)Empuje la etiqueta con
git push --tags
Esto automáticamente:
Verifique que la versión en
pyproject.tomlcoincida con la etiquetaEjecutar pruebas y comprobaciones de pelusa
Construir y publicar en PyPI
Construya y publique en Docker Hub como
oborchers/mcp-server-pacman:latestyoborchers/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 implementationLas pruebas siguen una estructura similar:
tests/
├── integration/ # Integration tests (real API calls)
├── models/ # Model validation tests
├── providers/ # Provider function tests
└── utils/ # Test utilitiesContribuyendo
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.
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