# Arch Linux [ Not Updated ]

Explore the Arch Linux ecosystem with fast search across the Arch Wiki, AUR, and official repositories. Manage packages, updates, mirrors, and logs with built-in safety checks and clear, structured r…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add nihalxkumar/arch-mcp

# Browse available tools
npx -y @smithery/cli@latest tool list nihalxkumar/arch-mcp

# Get full schema for a tool
npx -y @smithery/cli@latest tool get nihalxkumar/arch-mcp search_archwiki

# Call a tool
npx -y @smithery/cli@latest tool call nihalxkumar/arch-mcp search_archwiki '{}'
```

## Direct MCP Connection

Endpoint: `https://arch-mcp--nihalxkumar.run.tools`

## Tools (41)

- `search_archwiki` — [DISCOVERY] Search the Arch Wiki for documentation. Returns a list of matching pages with titles, snippets, and URLs. P…
- `search_aur` — [DISCOVERY] Search the Arch User Repository (AUR) for packages with smart ranking. ⚠️  WARNING: AUR packages are user-p…
- `get_official_package_info` — [DISCOVERY] Get information about an official Arch repository package (Core, Extra, etc.). Uses local pacman if availab…
- `check_updates_dry_run` — [LIFECYCLE] Check for available system updates without applying them. Only works on Arch Linux systems. Requires pacman…
- `install_package_secure` — [LIFECYCLE] Install a package with comprehensive security checks. Workflow: 1. Check official repos first (safer) 2. Fo…
- `analyze_pkgbuild_safety` — [SECURITY] Analyze PKGBUILD content for security issues and dangerous patterns. Checks for dangerous commands (rm -rf /…
- `analyze_package_metadata_risk` — [SECURITY] Analyze AUR package metadata for trustworthiness and security indicators. Evaluates package popularity (vote…
- `remove_package` — [LIFECYCLE] Remove a package from the system. Supports various removal strategies: basic removal, removal with dependen…
- `remove_packages_batch` — [LIFECYCLE] Remove multiple packages in a single transaction. More efficient than removing packages one by one. Only wo…
- `list_orphan_packages` — [MAINTENANCE] List all orphaned packages (dependencies no longer required by any installed package). Shows package name…
- `remove_orphans` — [MAINTENANCE] Remove all orphaned packages to free up disk space. Supports dry-run mode to preview changes and package …
- `find_package_owner` — [ORGANIZATION] Find which package owns a specific file on the system. Useful for troubleshooting and understanding file…
- `list_package_files` — [ORGANIZATION] List all files owned by a package. Supports optional filtering by pattern. Only works on Arch Linux.
- `search_package_files` — [ORGANIZATION] Search for files across all packages in repositories. Requires package database sync (pacman -Fy). Only …
- `verify_package_integrity` — [MAINTENANCE] Verify the integrity of installed package files. Detects modified, missing, or corrupted files. Only work…
- `list_package_groups` — [ORGANIZATION] List all available package groups (e.g., base, base-devel, gnome). Only works on Arch Linux.
- `list_group_packages` — [ORGANIZATION] List all packages in a specific group. Only works on Arch Linux.
- `list_explicit_packages` — [MAINTENANCE] List all packages explicitly installed by the user (not installed as dependencies). Useful for creating b…
- `mark_as_explicit` — [MAINTENANCE] Mark a package as explicitly installed. Prevents it from being removed as an orphan. Only works on Arch L…
- `mark_as_dependency` — [MAINTENANCE] Mark a package as a dependency. Allows it to be removed as an orphan if no packages depend on it. Only wo…
- `get_system_info` — [MONITORING] Get comprehensive system information including kernel version, architecture, hostname, uptime, and memory …
- `check_disk_space` — [MONITORING] Check disk space usage for critical filesystem paths including root, home, var, and pacman cache. Warns wh…
- `get_pacman_cache_stats` — [MONITORING] Analyze pacman package cache statistics including size, package count, and cache age. Only works on Arch L…
- `check_failed_services` — [MONITORING] Check for failed systemd services. Useful for diagnosing system issues. Works on systemd-based systems.
- `get_boot_logs` — [MONITORING] Retrieve recent boot logs from journalctl. Useful for troubleshooting boot issues. Works on systemd-based …
- `get_latest_news` — [DISCOVERY] Fetch recent Arch Linux news from RSS feed. Returns title, date, summary, and link for each news item.
- `check_critical_news` — [DISCOVERY] Check for critical Arch Linux news requiring manual intervention. Scans recent news for keywords: 'manual i…
- `get_news_since_last_update` — [DISCOVERY] Get news posted since last pacman update. Parses /var/log/pacman.log for last update timestamp. Only works …
- `get_transaction_history` — [HISTORY] Get recent package transactions from pacman log. Shows installed, upgraded, and removed packages. Only works …
- `find_when_installed` — [HISTORY] Find when a package was first installed and its upgrade history. Only works on Arch Linux.
- `find_failed_transactions` — [HISTORY] Find failed package transactions in pacman log. Only works on Arch Linux.
- `get_database_sync_history` — [HISTORY] Get database synchronization history. Shows when 'pacman -Sy' was run. Only works on Arch Linux.
- `list_active_mirrors` — [MIRRORS] List currently configured mirrors from mirrorlist. Only works on Arch Linux.
- `test_mirror_speed` — [MIRRORS] Test mirror response time. Can test a specific mirror or all active mirrors. Only works on Arch Linux.
- `suggest_fastest_mirrors` — [MIRRORS] Suggest optimal mirrors based on official mirror status from archlinux.org. Filters by country if specified.
- `check_mirrorlist_health` — [MIRRORS] Verify mirror configuration health. Checks for common issues like no active mirrors, outdated mirrorlist, hig…
- `analyze_pacman_conf` — [CONFIG] Parse and analyze pacman.conf. Returns enabled repositories, ignored packages, parallel downloads, and other s…
- `analyze_makepkg_conf` — [CONFIG] Parse and analyze makepkg.conf. Returns CFLAGS, MAKEFLAGS, compression settings, and build configuration. Only…
- `check_ignored_packages` — [CONFIG] List packages ignored in updates from pacman.conf. Warns if critical system packages are ignored. Only works o…
- `get_parallel_downloads_setting` — [CONFIG] Get parallel downloads configuration from pacman.conf and provide recommendations. Only works on Arch Linux.
- `check_database_freshness` — [MAINTENANCE] Check when package databases were last synchronized. Warns if databases are stale (> 24 hours). Only work…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get nihalxkumar/arch-mcp <tool-name>
```

## Resources

- `archwiki://Installation_guide` — Example: Fetch Arch Wiki pages as Markdown
- `aur://yay/pkgbuild` — Example: Fetch AUR package PKGBUILD files
- `aur://yay/info` — Example: Fetch AUR package metadata (votes, maintainer, etc)
- `archrepo://vim` — Example: Fetch official repository package details
- `pacman://installed` — List installed packages on Arch Linux system
- `pacman://orphans` — List orphaned packages (dependencies no longer required)
- `pacman://explicit` — List packages explicitly installed by user
- `pacman://groups` — List all available package groups
- `pacman://group/base-devel` — Example: List packages in a specific group
- `system://info` — Get system information (kernel, arch, memory, uptime)
- `system://disk` — Check disk space usage for critical paths
- `system://services/failed` — List failed systemd services
- `system://logs/boot` — Get recent boot logs from journalctl
- `archnews://latest` — Get latest Arch Linux news announcements
- `archnews://critical` — Get critical Arch Linux news requiring manual intervention
- `archnews://since-update` — Get news posted since last pacman update
- `pacman://log/recent` — Get recent package transactions from pacman log

---
*Response truncated. Use `npx -y @smithery/cli@latest` for complete data.*
