arch-mcp

Uma ponte alimentada por IA para o ecossistema Arch Linux que permite gerenciamento inteligente de pacotes, acesso ao AUR e consultas à Arch Wiki através do Model Context Protocol (MCP).

Documentação

Servidor MCP Arch Linux

PyPI Downloads

Aviso: Projeto comunitário não oficial, não afiliado ao Arch Linux.

Um servidor Model Context Protocol (MCP) que conecta assistentes de IA ao ecossistema Arch Linux. Permite acesso inteligente, seguro e eficiente à Arch Wiki, AUR e repositórios oficiais para uso assistido por IA do Arch Linux em sistemas Arch e não-Arch.

Aproveite a IA para obter resultados digeríveis e estruturados, prontos para perguntas de acompanhamento e ações.

📖 Documentação Completa com Guias Detalhados

Prévia do que está disponível

Usando VS Code Sonnet 3.5 para Instalação Segura a partir do AUR

VS Code Demo

Perguntando ao Claude Code Sonnet 4.5 pelo comando equivalente no fedora

Equivalent Command Demo

Recursos (Acesso Baseado em URI)

Acesso direto aos dados do ecossistema Arch por meio de esquemas de URI personalizados:

Documentação e Pesquisa

Esquema de URIExemploRetorna
archwiki://archwiki://Installation_guidePágina da Wiki formatada em Markdown

Informações de Pacotes

Esquema de URIExemploRetorna
archrepo://archrepo://vimDetalhes do pacote do repositório oficial
aur://*/infoaur://yay/infoMetadados do pacote AUR (votos, mantenedor, datas)
aur://*/pkgbuildaur://yay/pkgbuildPKGBUILD bruto com análise de segurança

Pacotes do Sistema (somente Arch)

Esquema de URIExemploRetorna
pacman://installedpacman://installedLista de pacotes instalados no sistema
pacman://orphanspacman://orphansPacotes órfãos
pacman://explicitpacman://explicitPacotes instalados explicitamente
pacman://groupspacman://groupsTodos os grupos de pacotes
pacman://group/*pacman://group/base-develPacotes em grupo específico
pacman://database/freshnesspacman://database/freshnessStatus de sincronização do banco de dados de pacotes

Monitoramento do Sistema e Logs

Esquema de URIExemploRetorna
system://infosystem://infoInformações do sistema (kernel, memória, tempo de atividade)
system://disksystem://diskEstatísticas de uso de espaço em disco
system://services/failedsystem://services/failedServiços systemd com falha
system://logs/bootsystem://logs/bootLogs de inicialização recentes
pacman://log/recentpacman://log/recentTransações de pacotes recentes
pacman://log/failedpacman://log/failedTransações de pacotes com falha

Notícias e Atualizações

Esquema de URIExemploRetorna
archnews://latestarchnews://latestÚltimas notícias do Arch Linux
archnews://criticalarchnews://criticalNotícias críticas que exigem intervenção manual
archnews://since-updatearchnews://since-updateNotícias desde a última atualização do sistema

Configuração

Esquema de URIExemploRetorna
config://pacmanconfig://pacmanConfiguração analisada do pacman.conf
config://makepkgconfig://makepkgConfiguração analisada do makepkg.conf
mirrors://activemirrors://activeEspelhos atualmente configurados
mirrors://healthmirrors://healthStatus de saúde da configuração de espelhos

Ferramentas (Funções Executáveis)

Pesquisa de Pacotes e Informações

FerramentaDescriçãoPlataforma
search_archwikiConsultar a Arch Wiki com resultados classificadosQualquer
search_aurPesquisar no AUR (relevância/votos/popularidade/modificado)Qualquer
get_official_package_infoObter detalhes do pacote oficial (híbrido local/remoto)Qualquer

Gerenciamento do Ciclo de Vida de Pacotes

FerramentaDescriçãoPlataforma
check_updates_dry_runVerificar atualizações disponíveisSomente Arch
install_package_secureInstalar com verificações de segurança (bloqueia pacotes maliciosos)Somente Arch
remove_packagesRemover pacotes - aceita nome de pacote único ou lista (com dependências, forçado)Somente Arch

Análise e Manutenção de Pacotes

FerramentaDescriçãoPlataforma
manage_orphansGerenciar pacotes órfãos (2 ações: listar pacotes órfãos, remover órfãos). Sempre executa em modo de simulação primeiro por segurança.Somente Arch
verify_package_integrityVerificar integridade de arquivos (arquivos modificados/ausentes)Somente Arch
manage_install_reasonGerenciar motivos de instalação (3 ações: listar pacotes explícitos, marcar como explícito/dependência)Somente Arch

Organização de Pacotes

FerramentaDescriçãoPlataforma
query_file_ownershipConsultas unificadas de propriedade arquivo-pacote (3 modos: arquivo→pacote, pacote→arquivos, busca por nome de arquivo)Somente Arch
list_package_groupsListar todos os grupos (base, base-devel, etc.)Somente Arch
list_group_packagesMostrar pacotes em grupo específicoSomente Arch

Monitoramento do Sistema e Diagnóstico

FerramentaDescriçãoPlataforma
get_system_infoInformações do sistema (kernel, memória, tempo de atividade)Qualquer
check_disk_spaceUso de disco com avisosQualquer
get_pacman_cache_statsTamanho e idade do cache de pacotesSomente Arch
check_failed_servicesEncontrar serviços systemd com falhasystemd
get_boot_logsRecuperar logs de inicialização do journalctlsystemd
check_database_freshnessVerificar status de sincronização do banco de dados de pacotesSomente Arch

Histórico de Transações e Logs

FerramentaDescriçãoPlataforma
query_package_historyFerramenta unificada para consultar histórico de pacotes nos logs do pacman (4 tipos de consulta). Exemplos: query_type='all' mostra transações recentes; query_type='package', package_name='docker' mostra quando o docker foi instalado/atualizado; query_type='failures' mostra operações com falha; query_type='sync' mostra histórico de sincronização do banco de dados.Somente Arch

Notícias e Verificações de Segurança

FerramentaDescriçãoPlataforma
get_latest_newsBuscar notícias do Arch Linux via RSSQualquer
check_critical_newsEncontrar notícias críticas (intervenção manual necessária)Qualquer
get_news_since_last_updateNotícias publicadas desde a última atualização do sistemaSomente Arch

Gerenciamento de Espelhos

FerramentaDescriçãoPlataforma
optimize_mirrorsGerenciamento inteligente de espelhos (4 ações: status, teste, sugestão, saúde). Exemplos: optimize_mirrors(action='status', auto_test=True) lista e testa todos os espelhos; optimize_mirrors(action='suggest', country='US', limit=5) sugere os 5 melhores espelhos dos EUA; optimize_mirrors(action='health') verifica problemas e dá recomendações.Arch/Qualquer

Gerenciamento de Configuração

FerramentaDescriçãoPlataforma
analyze_pacman_confAnalisar configurações do pacman.conf com foco opcional. Exemplos: focus='full' (padrão) retorna todas as configurações; focus='ignored_packages' retorna apenas pacotes ignorados com avisos para os críticos; focus='parallel_downloads' retorna apenas a configuração de downloads paralelos com recomendações de otimização.Somente Arch
analyze_makepkg_confAnalisar configurações do makepkg.conf (CFLAGS, MAKEFLAGS, configuração de compilação)Somente Arch

Análise de Segurança

FerramentaDescriçãoPlataforma
analyze_pkgbuild_safetyAnálise abrangente de PKGBUILD (mais de 50 sinais de alerta)Qualquer
analyze_package_metadata_riskPontuação de confiança do pacote (votos, mantenedor, idade)Qualquer

Prompts (Fluxos de Trabalho Guiados)

PromptPropósitoFluxo de Trabalho
troubleshoot_issueDiagnosticar erros do sistemaExtrair palavras-chave → Pesquisar na Wiki → Sugestões com contexto
audit_aur_packageAuditoria de segurança pré-instalaçãoObter metadados → Analisar PKGBUILD → Recomendações de segurança
analyze_dependenciesPlanejamento de instalaçãoVerificar repositórios → Mapear dependências → Sugerir ordem de instalação
safe_system_updateFluxo de atualização seguroVerificar notícias críticas → Verificar espaço em disco → Listar atualizações → Verificar serviços → Recomendações

Instalação

Pré-requisitos

  • Python 3.11+
  • uv (recomendado) ou pip

Instalação rápida com uvx

uvx arch-ops-server

Configuração

Claude / Cursor / Qualquer cliente MCP que suporte 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"]
    }
  }
}

Contribuindo

Contribuições são muito apreciadas. Sinta-se à vontade para enviar um pull request ou abrir uma issue e ajudar a melhorar as coisas para todos.

Guia de Contribuição

Licença

Este projeto é licenciado duplamente sob sua escolha de:

  • GPL-3.0-only - Para aqueles que preferem proteções fortes de copyleft. Consulte LICENSE-GPL
  • Licença MIT - Para maior compatibilidade e adoção, incluindo uso em software proprietário e compatibilidade com plataformas como Docker MCP Catalog. Consulte LICENSE-MIT

Você pode usar este software sob os termos de qualquer uma das licenças. Ao redistribuir ou modificar este software, você pode escolher qual licença aplicar.

Ao contribuir para este projeto, você concorda que suas contribuições serão licenciadas sob ambas as licenças.