Servidor MCP Arch Linux

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

Perguntando ao Claude Code Sonnet 4.5 pelo comando equivalente no fedora

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 URI | Exemplo | Retorna |
|---|
archwiki:// | archwiki://Installation_guide | Página da Wiki formatada em Markdown |
Informações de Pacotes
| Esquema de URI | Exemplo | Retorna |
|---|
archrepo:// | archrepo://vim | Detalhes do pacote do repositório oficial |
aur://*/info | aur://yay/info | Metadados do pacote AUR (votos, mantenedor, datas) |
aur://*/pkgbuild | aur://yay/pkgbuild | PKGBUILD bruto com análise de segurança |
Pacotes do Sistema (somente Arch)
| Esquema de URI | Exemplo | Retorna |
|---|
pacman://installed | pacman://installed | Lista de pacotes instalados no sistema |
pacman://orphans | pacman://orphans | Pacotes órfãos |
pacman://explicit | pacman://explicit | Pacotes instalados explicitamente |
pacman://groups | pacman://groups | Todos os grupos de pacotes |
pacman://group/* | pacman://group/base-devel | Pacotes em grupo específico |
pacman://database/freshness | pacman://database/freshness | Status de sincronização do banco de dados de pacotes |
Monitoramento do Sistema e Logs
| Esquema de URI | Exemplo | Retorna |
|---|
system://info | system://info | Informações do sistema (kernel, memória, tempo de atividade) |
system://disk | system://disk | Estatísticas de uso de espaço em disco |
system://services/failed | system://services/failed | Serviços systemd com falha |
system://logs/boot | system://logs/boot | Logs de inicialização recentes |
pacman://log/recent | pacman://log/recent | Transações de pacotes recentes |
pacman://log/failed | pacman://log/failed | Transações de pacotes com falha |
Notícias e Atualizações
| Esquema de URI | Exemplo | Retorna |
|---|
archnews://latest | archnews://latest | Últimas notícias do Arch Linux |
archnews://critical | archnews://critical | Notícias críticas que exigem intervenção manual |
archnews://since-update | archnews://since-update | Notícias desde a última atualização do sistema |
Configuração
| Esquema de URI | Exemplo | Retorna |
|---|
config://pacman | config://pacman | Configuração analisada do pacman.conf |
config://makepkg | config://makepkg | Configuração analisada do makepkg.conf |
mirrors://active | mirrors://active | Espelhos atualmente configurados |
mirrors://health | mirrors://health | Status de saúde da configuração de espelhos |
Ferramentas (Funções Executáveis)
Pesquisa de Pacotes e Informações
| Ferramenta | Descrição | Plataforma |
|---|
search_archwiki | Consultar a Arch Wiki com resultados classificados | Qualquer |
search_aur | Pesquisar no AUR (relevância/votos/popularidade/modificado) | Qualquer |
get_official_package_info | Obter detalhes do pacote oficial (híbrido local/remoto) | Qualquer |
Gerenciamento do Ciclo de Vida de Pacotes
| Ferramenta | Descrição | Plataforma |
|---|
check_updates_dry_run | Verificar atualizações disponíveis | Somente Arch |
install_package_secure | Instalar com verificações de segurança (bloqueia pacotes maliciosos) | Somente Arch |
remove_packages | Remover pacotes - aceita nome de pacote único ou lista (com dependências, forçado) | Somente Arch |
Análise e Manutenção de Pacotes
| Ferramenta | Descrição | Plataforma |
|---|
manage_orphans | Gerenciar 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_integrity | Verificar integridade de arquivos (arquivos modificados/ausentes) | Somente Arch |
manage_install_reason | Gerenciar motivos de instalação (3 ações: listar pacotes explícitos, marcar como explícito/dependência) | Somente Arch |
Organização de Pacotes
| Ferramenta | Descrição | Plataforma |
|---|
query_file_ownership | Consultas unificadas de propriedade arquivo-pacote (3 modos: arquivo→pacote, pacote→arquivos, busca por nome de arquivo) | Somente Arch |
list_package_groups | Listar todos os grupos (base, base-devel, etc.) | Somente Arch |
list_group_packages | Mostrar pacotes em grupo específico | Somente Arch |
Monitoramento do Sistema e Diagnóstico
| Ferramenta | Descrição | Plataforma |
|---|
get_system_info | Informações do sistema (kernel, memória, tempo de atividade) | Qualquer |
check_disk_space | Uso de disco com avisos | Qualquer |
get_pacman_cache_stats | Tamanho e idade do cache de pacotes | Somente Arch |
check_failed_services | Encontrar serviços systemd com falha | systemd |
get_boot_logs | Recuperar logs de inicialização do journalctl | systemd |
check_database_freshness | Verificar status de sincronização do banco de dados de pacotes | Somente Arch |
Histórico de Transações e Logs
| Ferramenta | Descrição | Plataforma |
|---|
query_package_history | Ferramenta 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
| Ferramenta | Descrição | Plataforma |
|---|
get_latest_news | Buscar notícias do Arch Linux via RSS | Qualquer |
check_critical_news | Encontrar notícias críticas (intervenção manual necessária) | Qualquer |
get_news_since_last_update | Notícias publicadas desde a última atualização do sistema | Somente Arch |
Gerenciamento de Espelhos
| Ferramenta | Descrição | Plataforma |
|---|
optimize_mirrors | Gerenciamento 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
| Ferramenta | Descrição | Plataforma |
|---|
analyze_pacman_conf | Analisar 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_conf | Analisar configurações do makepkg.conf (CFLAGS, MAKEFLAGS, configuração de compilação) | Somente Arch |
Análise de Segurança
| Ferramenta | Descrição | Plataforma |
|---|
analyze_pkgbuild_safety | Análise abrangente de PKGBUILD (mais de 50 sinais de alerta) | Qualquer |
analyze_package_metadata_risk | Pontuação de confiança do pacote (votos, mantenedor, idade) | Qualquer |
Prompts (Fluxos de Trabalho Guiados)
| Prompt | Propósito | Fluxo de Trabalho |
|---|
troubleshoot_issue | Diagnosticar erros do sistema | Extrair palavras-chave → Pesquisar na Wiki → Sugestões com contexto |
audit_aur_package | Auditoria de segurança pré-instalação | Obter metadados → Analisar PKGBUILD → Recomendações de segurança |
analyze_dependencies | Planejamento de instalação | Verificar repositórios → Mapear dependências → Sugerir ordem de instalação |
safe_system_update | Fluxo de atualização seguro | Verificar 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.