arch-mcp

Un puente impulsado por IA hacia el ecosistema de Arch Linux que permite la gestión inteligente de paquetes, acceso a AUR y consultas a la Arch Wiki a través del Protocolo de Contexto de Modelo (MCP).

Documentación

Servidor MCP de Arch Linux

PyPI Downloads

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

VS Code Demo

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

Equivalent Command Demo

Recursos (Acceso basado en URI)

Acceso directo a los datos del ecosistema Arch mediante esquemas URI personalizados:

Documentación y Búsqueda

Esquema URIEjemploDevuelve
archwiki://archwiki://Installation_guidePágina Wiki con formato Markdown

Información de Paquetes

Esquema URIEjemploDevuelve
archrepo://archrepo://vimDetalles de paquetes del repositorio oficial
aur://*/infoaur://yay/infoMetadatos de paquetes AUR (votos, mantenedor, fechas)
aur://*/pkgbuildaur://yay/pkgbuildPKGBUILD sin procesar con análisis de seguridad

Paquetes del Sistema (solo Arch)

Esquema URIEjemploDevuelve
pacman://installedpacman://installedLista de paquetes instalados en el sistema
pacman://orphanspacman://orphansPaquetes huérfanos
pacman://explicitpacman://explicitPaquetes instalados explícitamente
pacman://groupspacman://groupsTodos los grupos de paquetes
pacman://group/*pacman://group/base-develPaquetes en un grupo específico
pacman://database/freshnesspacman://database/freshnessEstado de sincronización de la base de datos de paquetes

Monitoreo del Sistema y Registros

Esquema URIEjemploDevuelve
system://infosystem://infoInformación del sistema (kernel, memoria, tiempo de actividad)
system://disksystem://diskEstadísticas de uso del espacio en disco
system://services/failedsystem://services/failedServicios systemd con fallos
system://logs/bootsystem://logs/bootRegistros de arranque recientes
pacman://log/recentpacman://log/recentTransacciones de paquetes recientes
pacman://log/failedpacman://log/failedTransacciones de paquetes fallidas

Noticias y Actualizaciones

Esquema URIEjemploDevuelve
archnews://latestarchnews://latestÚltimas noticias de Arch Linux
archnews://criticalarchnews://criticalNoticias críticas que requieren intervención manual
archnews://since-updatearchnews://since-updateNoticias desde la última actualización del sistema

Configuración

Esquema URIEjemploDevuelve
config://pacmanconfig://pacmanConfiguración pacman.conf analizada
config://makepkgconfig://makepkgConfiguración makepkg.conf analizada
mirrors://activemirrors://activeEspejos configurados actualmente
mirrors://healthmirrors://healthEstado de salud de la configuración de espejos

Herramientas (Funciones Ejecutables)

Búsqueda e Información de Paquetes

HerramientaDescripciónPlataforma
search_archwikiConsultar Arch Wiki con resultados clasificadosCualquiera
search_aurBuscar en AUR (relevancia/votos/popularidad/modificado)Cualquiera
get_official_package_infoObtener detalles de paquetes oficiales (híbrido local/remoto)Cualquiera

Gestión del Ciclo de Vida de Paquetes

HerramientaDescripciónPlataforma
check_updates_dry_runVerificar actualizaciones disponiblesSolo Arch
install_package_secureInstalar con comprobaciones de seguridad (bloquea paquetes maliciosos)Solo Arch
remove_packagesEliminar paquetes: acepta un solo nombre de paquete o lista (con dependencias, forzado)Solo Arch

Análisis y Mantenimiento de Paquetes

HerramientaDescripciónPlataforma
manage_orphansGestionar paquetes huérfanos (2 acciones: listar huérfanos, eliminar huérfanos). Siempre ejecuta primero en modo simulado por seguridad.Solo Arch
verify_package_integrityVerificar integridad de archivos (archivos modificados/faltantes)Solo Arch
manage_install_reasonGestionar motivos de instalación (3 acciones: listar paquetes explícitos, marcar como explícito/dependencia)Solo Arch

Organización de Paquetes

HerramientaDescripciónPlataforma
query_file_ownershipConsultas unificadas de propiedad archivo-paquete (3 modos: archivo→paquete, paquete→archivos, búsqueda por nombre de archivo)Solo Arch
list_package_groupsListar todos los grupos (base, base-devel, etc.)Solo Arch
list_group_packagesMostrar paquetes en un grupo específicoSolo Arch

Monitoreo del Sistema y Diagnóstico

HerramientaDescripciónPlataforma
get_system_infoInformación del sistema (kernel, memoria, tiempo de actividad)Cualquiera
check_disk_spaceUso de disco con advertenciasCualquiera
get_pacman_cache_statsTamaño y antigüedad de la caché de paquetesSolo Arch
check_failed_servicesEncontrar servicios systemd con fallossystemd
get_boot_logsRecuperar registros de arranque de journalctlsystemd
check_database_freshnessVerificar estado de sincronización de la base de datos de paquetesSolo Arch

Historial de Transacciones y Registros

HerramientaDescripciónPlataforma
query_package_historyHerramienta 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

HerramientaDescripciónPlataforma
get_latest_newsObtener noticias de Arch Linux desde RSSCualquiera
check_critical_newsEncontrar noticias críticas (requieren intervención manual)Cualquiera
get_news_since_last_updateNoticias publicadas desde la última actualización del sistemaSolo Arch

Gestión de Espejos

HerramientaDescripciónPlataforma
optimize_mirrorsGestió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

HerramientaDescripciónPlataforma
analyze_pacman_confAnalizar 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_confAnalizar la configuración de makepkg.conf (CFLAGS, MAKEFLAGS, configuración de compilación)Solo Arch

Análisis de Seguridad

HerramientaDescripciónPlataforma
analyze_pkgbuild_safetyAnálisis exhaustivo de PKGBUILD (más de 50 señales de alerta)Cualquiera
analyze_package_metadata_riskPuntuación de confianza del paquete (votos, mantenedor, antigüedad)Cualquiera

Prompts (Flujos de trabajo guiados)

PromptPropósitoFlujo de trabajo
troubleshoot_issueDiagnosticar errores del sistemaExtraer palabras clave → Buscar en la Wiki → Sugerencias contextuales
audit_aur_packageAuditoría de seguridad previa a la instalaciónObtener metadatos → Analizar PKGBUILD → Recomendaciones de seguridad
analyze_dependenciesPlanificación de instalaciónVerificar repositorios → Mapear dependencias → Sugerir orden de instalación
safe_system_updateFlujo de actualización seguroVerificar 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.