Servidor MCP de Arch Linux

Aviso legal: Proyecto comunitario no oficial, no afiliado con Arch Linux.
Un servidor de Model Context Protocol (MCP) que conecta asistentes de IA con el ecosistema de Arch Linux. Permite un acceso inteligente, seguro y eficiente a la Arch Wiki, AUR y repositorios oficiales para el uso de Arch Linux asistido por IA en sistemas Arch y no Arch.
Aprovecha la IA para obtener resultados digeribles y estructurados, listos para preguntas de seguimiento y acciones.
📖 Documentación completa con guías cómodas
Vista previa de lo que está disponible
Usando VS Code Sonnet 3.5 para instalación segura desde AUR

Preguntando a Claude Code Sonnet 4.5 por el comando equivalente en fedora

Recursos (Acceso basado en URI)
Acceso directo a los datos del ecosistema Arch mediante esquemas URI personalizados:
Documentación y Búsqueda
| Esquema URI | Ejemplo | Devuelve |
|---|
archwiki:// | archwiki://Installation_guide | Página Wiki con formato Markdown |
Información de Paquetes
| Esquema URI | Ejemplo | Devuelve |
|---|
archrepo:// | archrepo://vim | Detalles de paquetes del repositorio oficial |
aur://*/info | aur://yay/info | Metadatos de paquetes AUR (votos, mantenedor, fechas) |
aur://*/pkgbuild | aur://yay/pkgbuild | PKGBUILD sin procesar con análisis de seguridad |
Paquetes del Sistema (solo Arch)
| Esquema URI | Ejemplo | Devuelve |
|---|
pacman://installed | pacman://installed | Lista de paquetes instalados en el sistema |
pacman://orphans | pacman://orphans | Paquetes huérfanos |
pacman://explicit | pacman://explicit | Paquetes instalados explícitamente |
pacman://groups | pacman://groups | Todos los grupos de paquetes |
pacman://group/* | pacman://group/base-devel | Paquetes en un grupo específico |
pacman://database/freshness | pacman://database/freshness | Estado de sincronización de la base de datos de paquetes |
Monitoreo del Sistema y Registros
| Esquema URI | Ejemplo | Devuelve |
|---|
system://info | system://info | Información del sistema (kernel, memoria, tiempo de actividad) |
system://disk | system://disk | Estadísticas de uso del espacio en disco |
system://services/failed | system://services/failed | Servicios systemd con fallos |
system://logs/boot | system://logs/boot | Registros de arranque recientes |
pacman://log/recent | pacman://log/recent | Transacciones de paquetes recientes |
pacman://log/failed | pacman://log/failed | Transacciones de paquetes fallidas |
Noticias y Actualizaciones
| Esquema URI | Ejemplo | Devuelve |
|---|
archnews://latest | archnews://latest | Últimas noticias de Arch Linux |
archnews://critical | archnews://critical | Noticias críticas que requieren intervención manual |
archnews://since-update | archnews://since-update | Noticias desde la última actualización del sistema |
Configuración
| Esquema URI | Ejemplo | Devuelve |
|---|
config://pacman | config://pacman | Configuración pacman.conf analizada |
config://makepkg | config://makepkg | Configuración makepkg.conf analizada |
mirrors://active | mirrors://active | Espejos configurados actualmente |
mirrors://health | mirrors://health | Estado de salud de la configuración de espejos |
Herramientas (Funciones Ejecutables)
Búsqueda e Información de Paquetes
| Herramienta | Descripción | Plataforma |
|---|
search_archwiki | Consultar Arch Wiki con resultados clasificados | Cualquiera |
search_aur | Buscar en AUR (relevancia/votos/popularidad/modificado) | Cualquiera |
get_official_package_info | Obtener detalles de paquetes oficiales (híbrido local/remoto) | Cualquiera |
Gestión del Ciclo de Vida de Paquetes
| Herramienta | Descripción | Plataforma |
|---|
check_updates_dry_run | Verificar actualizaciones disponibles | Solo Arch |
install_package_secure | Instalar con comprobaciones de seguridad (bloquea paquetes maliciosos) | Solo Arch |
remove_packages | Eliminar paquetes: acepta un solo nombre de paquete o lista (con dependencias, forzado) | Solo Arch |
Análisis y Mantenimiento de Paquetes
| Herramienta | Descripción | Plataforma |
|---|
manage_orphans | Gestionar paquetes huérfanos (2 acciones: listar huérfanos, eliminar huérfanos). Siempre ejecuta primero en modo simulado por seguridad. | Solo Arch |
verify_package_integrity | Verificar integridad de archivos (archivos modificados/faltantes) | Solo Arch |
manage_install_reason | Gestionar motivos de instalación (3 acciones: listar paquetes explícitos, marcar como explícito/dependencia) | Solo Arch |
Organización de Paquetes
| Herramienta | Descripción | Plataforma |
|---|
query_file_ownership | Consultas unificadas de propiedad archivo-paquete (3 modos: archivo→paquete, paquete→archivos, búsqueda por nombre de archivo) | Solo Arch |
list_package_groups | Listar todos los grupos (base, base-devel, etc.) | Solo Arch |
list_group_packages | Mostrar paquetes en un grupo específico | Solo Arch |
Monitoreo del Sistema y Diagnóstico
| Herramienta | Descripción | Plataforma |
|---|
get_system_info | Información del sistema (kernel, memoria, tiempo de actividad) | Cualquiera |
check_disk_space | Uso de disco con advertencias | Cualquiera |
get_pacman_cache_stats | Tamaño y antigüedad de la caché de paquetes | Solo Arch |
check_failed_services | Encontrar servicios systemd con fallos | systemd |
get_boot_logs | Recuperar registros de arranque de journalctl | systemd |
check_database_freshness | Verificar estado de sincronización de la base de datos de paquetes | Solo Arch |
Historial de Transacciones y Registros
| Herramienta | Descripción | Plataforma |
|---|
query_package_history | Herramienta unificada para consultar el historial de paquetes desde los registros de pacman (4 tipos de consulta). Ejemplos: query_type='all' muestra transacciones recientes; query_type='package', package_name='docker' muestra cuándo se instaló/actualizó docker; query_type='failures' muestra operaciones fallidas; query_type='sync' muestra el historial de sincronización de la base de datos. | Solo Arch |
Noticias y Comprobaciones de Seguridad
| Herramienta | Descripción | Plataforma |
|---|
get_latest_news | Obtener noticias de Arch Linux desde RSS | Cualquiera |
check_critical_news | Encontrar noticias críticas (requieren intervención manual) | Cualquiera |
get_news_since_last_update | Noticias publicadas desde la última actualización del sistema | Solo Arch |
Gestión de Espejos
| Herramienta | Descripción | Plataforma |
|---|
optimize_mirrors | Gestión inteligente de espejos (4 acciones: estado, prueba, sugerir, salud). Ejemplos: optimize_mirrors(action='status', auto_test=True) lista y prueba todos los espejos; optimize_mirrors(action='suggest', country='US', limit=5) sugiere los 5 mejores espejos de EE. UU.; optimize_mirrors(action='health') verifica problemas y da recomendaciones. | Arch/Cualquiera |
Gestión de Configuración
| Herramienta | Descripción | Plataforma |
|---|
analyze_pacman_conf | Analizar la configuración de pacman.conf con enfoque opcional. Ejemplos: focus='full' (predeterminado) devuelve todos los ajustes; focus='ignored_packages' devuelve solo paquetes ignorados con advertencias para los críticos; focus='parallel_downloads' devuelve solo el ajuste de descargas paralelas con recomendaciones de optimización. | Solo Arch |
analyze_makepkg_conf | Analizar la configuración de makepkg.conf (CFLAGS, MAKEFLAGS, configuración de compilación) | Solo Arch |
Análisis de Seguridad
| Herramienta | Descripción | Plataforma |
|---|
analyze_pkgbuild_safety | Análisis exhaustivo de PKGBUILD (más de 50 señales de alerta) | Cualquiera |
analyze_package_metadata_risk | Puntuación de confianza del paquete (votos, mantenedor, antigüedad) | Cualquiera |
Prompts (Flujos de trabajo guiados)
| Prompt | Propósito | Flujo de trabajo |
|---|
troubleshoot_issue | Diagnosticar errores del sistema | Extraer palabras clave → Buscar en la Wiki → Sugerencias contextuales |
audit_aur_package | Auditoría de seguridad previa a la instalación | Obtener metadatos → Analizar PKGBUILD → Recomendaciones de seguridad |
analyze_dependencies | Planificación de instalación | Verificar repositorios → Mapear dependencias → Sugerir orden de instalación |
safe_system_update | Flujo de actualización seguro | Verificar noticias críticas → Comprobar espacio en disco → Listar actualizaciones → Verificar servicios → Recomendaciones |
Instalación
Requisitos previos
- Python 3.11+
- uv (recomendado) o pip
Instalación rápida con uvx
uvx arch-ops-server
Configuración
Claude / Cursor / Cualquier cliente MCP que admita transporte STDIO
{
"mcpServers": {
"arch-linux": {
"command": "uvx",
"args": ["arch-ops-server"]
}
}
}
Opencode:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"arch-linux": {
"type": "local",
"command": ["uvx", "arch-ops-server"]
}
}
}
Contribuciones
Las contribuciones son muy apreciadas. No dudes en enviar una solicitud de extracción o abrir un problema y ayudar a mejorar las cosas para todos.
Guía de contribución
Licencia
Este proyecto tiene doble licencia, bajo tu elección de:
- GPL-3.0-only - Para quienes prefieren protecciones fuertes de copyleft. Consulta LICENSE-GPL
- Licencia MIT - Para una mayor compatibilidad y adopción, incluido su uso en software propietario y compatibilidad con plataformas como Docker MCP Catalog. Consulta LICENSE-MIT
Puedes usar este software bajo los términos de cualquiera de las dos licencias. Al redistribuir o modificar este software, puedes elegir qué licencia aplicar.
Al contribuir a este proyecto, aceptas que tus contribuciones estarán licenciadas bajo ambas licencias.