Skip to content

nihalxkumar/arch-mcp

Repository files navigation

Arch Linux MCP Server

Disclaimer: Unofficial community project, not affiliated with Arch Linux.

A Model Context Protocol (MCP) server that bridges AI assistants with the Arch Linux ecosystem. Enables intelligent, safe, and efficient access to the Arch Wiki, AUR, and official repositories for AI-assisted Arch Linux usage on Arch and non-Arch systems.

Leverage AI to get output for digestible, structured results that are ready for follow up questions and actions.

📖 Complete Documentation with Comfy Guides

Sneak Peak into what's available

Claude Desktop (no terminal)

Claude Desktop Demo

VS Code (with terminal)

VS Code Demo

Resources (URI-based Access)

Direct access to Arch ecosystem data via custom URI schemes:

Documentation & Search

URI Scheme Example Returns
archwiki:// archwiki://Installation_guide Markdown-formatted Wiki page

Package Information

URI Scheme Example Returns
archrepo:// archrepo://vim Official repository package details
aur://*/info aur://yay/info AUR package metadata (votes, maintainer, dates)
aur://*/pkgbuild aur://yay/pkgbuild Raw PKGBUILD with safety analysis

System Packages (Arch only)

URI Scheme Example Returns
pacman://installed pacman://installed System installed packages list
pacman://orphans pacman://orphans Orphaned packages
pacman://explicit pacman://explicit Explicitly installed packages
pacman://groups pacman://groups All package groups
pacman://group/* pacman://group/base-devel Packages in specific group
pacman://database/freshness pacman://database/freshness Package database sync status

System Monitoring & Logs

URI Scheme Example Returns
system://info system://info System information (kernel, memory, uptime)
system://disk system://disk Disk space usage statistics
system://services/failed system://services/failed Failed systemd services
system://logs/boot system://logs/boot Recent boot logs
pacman://log/recent pacman://log/recent Recent package transactions
pacman://log/failed pacman://log/failed Failed package transactions

News & Updates

URI Scheme Example Returns
archnews://latest archnews://latest Latest Arch Linux news
archnews://critical archnews://critical Critical news requiring manual intervention
archnews://since-update archnews://since-update News since last system update

Configuration

URI Scheme Example Returns
config://pacman config://pacman Parsed pacman.conf configuration
config://makepkg config://makepkg Parsed makepkg.conf configuration
mirrors://active mirrors://active Currently configured mirrors
mirrors://health mirrors://health Mirror configuration health status

Tools (Executable Functions)

Package Search & Information

Tool Description Platform
search_archwiki Query Arch Wiki with ranked results Any
search_aur Search AUR (relevance/votes/popularity/modified) Any
get_official_package_info Get official package details (hybrid local/remote) Any

Package Lifecycle Management

Tool Description Platform
check_updates_dry_run Check for available updates Arch only
install_package_secure Install with security checks (blocks malicious packages) Arch only
remove_package Remove single package (with deps, forced) Arch only
remove_packages_batch Remove multiple packages efficiently Arch only

Package Analysis & Maintenance

Tool Description Platform
list_orphan_packages Find orphaned packages Arch only
remove_orphans Clean orphans (dry-run, exclusions) Arch only
verify_package_integrity Check file integrity (modified/missing files) Arch only
list_explicit_packages List user-installed packages Arch only
mark_as_explicit Prevent package from being orphaned Arch only
mark_as_dependency Allow package to be orphaned Arch only

Package Organization

Tool Description Platform
find_package_owner Find which package owns a file Arch only
list_package_files List files in package (regex filtering) Arch only
search_package_files Search files across packages Arch only
list_package_groups List all groups (base, base-devel, etc.) Arch only
list_group_packages Show packages in specific group Arch only

System Monitoring & Diagnostics

Tool Description Platform
get_system_info System info (kernel, memory, uptime) Any
check_disk_space Disk usage with warnings Any
get_pacman_cache_stats Package cache size and age Arch only
check_failed_services Find failed systemd services systemd
get_boot_logs Retrieve journalctl boot logs systemd
check_database_freshness Check package database sync status Arch only

Transaction History & Logs

Tool Description Platform
get_transaction_history Recent package transactions (install/upgrade/remove) Arch only
find_when_installed Package installation history Arch only
find_failed_transactions Failed package operations Arch only
get_database_sync_history Database sync events Arch only

News & Safety Checks

Tool Description Platform
get_latest_news Fetch Arch Linux news from RSS Any
check_critical_news Find critical news (manual intervention required) Any
get_news_since_last_update News posted since last system update Arch only

Mirror Management

Tool Description Platform
list_active_mirrors Show configured mirrors Arch only
test_mirror_speed Test mirror latency Arch only
suggest_fastest_mirrors Recommend optimal mirrors by location Any
check_mirrorlist_health Verify mirror configuration Arch only

Configuration Management

Tool Description Platform
analyze_pacman_conf Parse pacman.conf settings Arch only
analyze_makepkg_conf Parse makepkg.conf settings Arch only
check_ignored_packages List ignored packages (warns on critical) Arch only
get_parallel_downloads_setting Get parallel download config Arch only

Security Analysis

Tool Description Platform
analyze_pkgbuild_safety Comprehensive PKGBUILD analysis (50+ red flags) Any
analyze_package_metadata_risk Package trust scoring (votes, maintainer, age) Any

Prompts (Guided Workflows)

Prompt Purpose Workflow
troubleshoot_issue Diagnose system errors Extract keywords → Search Wiki → Context-aware suggestions
audit_aur_package Pre-installation safety audit Fetch metadata → Analyze PKGBUILD → Security recommendations
analyze_dependencies Installation planning Check repos → Map dependencies → Suggest install order
safe_system_update Safe update workflow Check critical news → Verify disk space → List updates → Check services → Recommendations

Installation

Prerequisites

  • Python 3.11+
  • uv (recommended) or pip

Quick Install with uvx

uvx arch-ops-server

Configuration

Claude / Cursor / Any MCP client that supports STDIO transport

{
  "mcpServers": {
    "arch-ops": {
      "command": "uvx",
      "args": ["arch-ops-server"]
    }
  }
}

Contributing

Contributions are greatly appreciated. Please feel free to submit a pull request or open an issue and help make things better for everyone.

Contributing Guide

License

This project is dual-licensed under your choice of:

You may use this software under the terms of either license. See LICENSE for more details.