Skip to main content
41 interactive functions organized into 9 categories. Tools perform operations, analyze data, and return structured results.
Platform Requirements: Tools are marked as:
  • 🌐 Any - Works on all platforms (uses remote APIs)
  • 🐧 Arch - Requires Arch Linux
  • βš™οΈ systemd - Requires systemd (most Linux distros)

πŸ” Discovery & Information (6 tools)

Search and retrieve package/documentation information.

search_archwiki 🌐

Query Arch Wiki documentation with intelligent ranking using the MediaWiki API.
query
string
required
Search terms or keywords to find in the Arch Wiki.Examples:
  • "systemd boot configuration"
  • "dual boot windows"
  • "wifi troubleshooting"
limit
integer
default:"10"
Maximum number of results to return. Range: 1-50.
Returns:
results
array
required
Array of matching Wiki pages ranked by relevance.
Combine with the archwiki:// resource to read full page content after searching!

search_aur 🌐

Search AUR packages with smart ranking algorithms. Parameters:
  • query (string): Package name or description keywords
  • sort_by (optional): relevance, votes, popularity, modified
Returns: Matching AUR packages with vote counts and maintainer info Related: analyze_package_metadata_risk, analyze_pkgbuild_safety, install_package_secure

get_official_package_info 🌐

Lookup official repository packages with hybrid local/remote search. Parameters:
  • package (string): Package name
Returns: Package version, dependencies, installation size, description Related: search_aur, install_package_secure

get_latest_news 🌐

Fetch Arch Linux news from RSS feed. Parameters:
  • limit (optional): Number of news items (default: 10)
Returns: Latest Arch news with titles, dates, and content Related: check_critical_news, get_news_since_last_update

check_critical_news 🌐

Find critical news requiring manual intervention. Parameters: None Returns: Critical news items with manual action flags Related: get_latest_news, check_updates_dry_run

get_news_since_last_update 🐧

News posted since last system update. Parameters: None Returns: News items between last DB sync and now Related: get_latest_news, check_critical_news

πŸ“¦ Package Lifecycle (4 tools)

Install, update, and remove packages safely.

check_updates_dry_run 🐧

Check for available updates without modifying system. Parameters: None Returns: List of packages with available updates Related: check_critical_news, check_disk_space

install_package_secure 🐧

Securely install packages with automated pre-installation security checks and confirmations.
package
string
required
Name of the package to install. Can be from official repositories or AUR.Examples:
  • "python"
  • "yay" (AUR)
  • "visual-studio-code-bin" (AUR)
aur
boolean
default:"false"
Force installation from AUR. If false, the tool auto-detects whether to use official repos or AUR.
skip_checks
boolean
default:"false"
Skip security checks (NOT RECOMMENDED). Only use for trusted packages.
Safety Features:
  • βœ… Automatic security scanning before installation
  • βœ… Blocks packages with critical security threats
  • βœ… Requires confirmation for AUR packages
  • βœ… Checks for AUR helper (paru or yay)
  • βœ… Validates package exists before attempting install
  • βœ… Shows detailed security report
Returns:
status
string
required
Installation status: "success", "blocked", "failed", or "cancelled"
package
string
Name of the package that was installed or attempted.
version
string
Version of the package that was installed.
source
string
Where the package came from: "official" or "aur"
security_checks
object
Results of pre-installation security checks.
transaction_log
string
Full installation log from pacman/AUR helper.
installed_files
array
List of files installed by the package.
Requirements:
  • Must be running on Arch Linux
  • AUR packages require paru or yay to be installed
  • Must have sudo privileges for installation
Workflow: This tool automatically runs:
  1. get_official_package_info - Check if package is official
  2. analyze_pkgbuild_safety - Scan PKGBUILD (if AUR)
  3. analyze_package_metadata_risk - Evaluate trust (if AUR)
  4. Installation with confirmation prompt
Prerequisites: get_official_package_info, analyze_pkgbuild_safety, analyze_package_metadata_risk Related: check_updates_dry_run, verify_package_integrity, get_transaction_history

remove_package 🐧

Remove single package with dependency handling. Parameters:
  • package (string): Package name
  • recursive (optional): Remove deps (default: false)
  • force (optional): Force removal (default: false)
Returns: Removal status and affected packages Related: remove_packages_batch, list_orphan_packages

remove_packages_batch 🐧

Remove multiple packages efficiently in one operation. Parameters:
  • packages (array): List of package names
  • recursive (optional): Remove deps (default: false)
Returns: Batch removal status Related: remove_package, remove_orphans

πŸ”§ Package Maintenance (7 tools)

Analyze, verify, and maintain package health.

list_orphan_packages 🐧

Find packages installed as dependencies but no longer required. Parameters: None Returns: List of orphaned packages with sizes Related: remove_orphans, mark_as_explicit

remove_orphans 🐧

Clean orphaned packages with safety checks. Parameters:
  • dry_run (optional): Preview only (default: true)
  • exclude (optional): Packages to keep
Returns: Removal status or preview list Prerequisites: list_orphan_packages Related: list_orphan_packages

verify_package_integrity 🐧

Check package file integrity for modifications or corruption. Parameters:
  • package (string): Package name
Returns: List of modified/missing files with details Related: get_transaction_history, find_package_owner

list_explicit_packages 🐧

List packages explicitly installed by user. Parameters: None Returns: User-installed packages (excludes dependencies) Related: mark_as_explicit, mark_as_dependency

mark_as_explicit 🐧

Prevent package from being orphaned by marking as user-installed. Parameters:
  • package (string): Package name
Returns: Status confirmation Related: list_explicit_packages, list_orphan_packages

mark_as_dependency 🐧

Allow package to be orphaned by marking as dependency. Parameters:
  • package (string): Package name
Returns: Status confirmation Related: list_explicit_packages, list_orphan_packages

check_database_freshness 🐧

Check when package database was last synced. Parameters: None Returns: Last sync timestamp and age warnings Related: get_database_sync_history

πŸ“ File Organization (5 tools)

Navigate package-file relationships and groups.

find_package_owner 🐧

Find which package owns a specific file. Parameters:
  • file_path (string): Absolute file path
Returns: Owning package name or β€œnot found” Related: list_package_files, verify_package_integrity

list_package_files 🐧

List all files installed by a package. Parameters:
  • package (string): Package name
  • filter_regex (optional): Regex pattern to filter files
Returns: List of file paths Related: find_package_owner, search_package_files

search_package_files 🐧

Search for files across all packages. Parameters:
  • pattern (string): Search pattern (filename or regex)
Returns: Matching files with owning packages Related: list_package_files, find_package_owner

list_package_groups 🐧

List all package groups (base, base-devel, etc.). Parameters: None Returns: All groups with member counts Related: list_group_packages

list_group_packages 🐧

Show packages in a specific group. Parameters:
  • group (string): Group name
Returns: Packages in group with installation status Prerequisites: list_package_groups Related: list_package_groups

πŸ”’ Security Analysis (2 tools)

Evaluate package safety before installation.

analyze_pkgbuild_safety 🌐

Comprehensive PKGBUILD security analysis using 50+ threat detection patterns.
package
string
required
Name of the AUR package to analyze. The tool fetches and scans the PKGBUILD automatically.Examples:
  • "yay"
  • "neofetch"
  • "spotify"
Detection Capabilities:
  • βœ… 50+ red flag patterns
  • βœ… Malicious command detection
  • βœ… Obfuscation analysis
  • βœ… Crypto miner signatures
  • βœ… Rootkit technique scanning
  • βœ… Network security checks
Returns:
risk_score
integer
required
Overall risk score from 0-100. Higher scores indicate more risk.
  • 0-20: LOW risk
  • 21-50: MEDIUM risk
  • 51-80: HIGH risk
  • 81-100: CRITICAL risk
risk_level
string
required
Human-readable risk level: "LOW", "MEDIUM", "HIGH", or "CRITICAL"
findings
array
Detailed list of security findings with context.
dangerous_patterns
array
List of critical security threats detected (e.g., rm -rf /, fork bombs).
suspicious_patterns
array
List of suspicious patterns that warrant manual review.
warnings
array
General warnings about the PKGBUILD’s security posture.
recommendation
string
Overall recommendation: install, review carefully, or avoid.
Important Limitations:
  • Pattern matching can’t catch all malicious code
  • Obfuscation techniques can bypass detection
  • Always manually review PKGBUILDs, especially for:
    • Packages from unknown maintainers
    • Packages with suspicious names
    • Packages with no votes or low popularity
Red Flag Indicators:
  • πŸ”΄ Dangerous: rm -rf /, dd if=/dev/zero, fork bombs
  • 🟠 Suspicious: curl|sh, wget|sh, base64 pipes, eval statements
  • 🟑 Warnings: chmod 777, binary downloads, external scripts
Use alongside analyze_package_metadata_risk for complete security assessment!
Related: analyze_package_metadata_risk, install_package_secure

analyze_package_metadata_risk 🌐

Package trust scoring based on community metrics. Parameters:
  • package (string): AUR package name
Evaluates:
  • Vote count and popularity
  • Maintainer presence and reputation
  • Package age and update frequency
  • Out-of-date status
Returns: Trust score (0-100), risk factors, trust indicators Prerequisites: search_aur Related: analyze_pkgbuild_safety, install_package_secure

πŸ“Š System Monitoring (5 tools)

Monitor system health and diagnostics.

get_system_info 🌐

Retrieve system information and resource usage. Parameters: None Returns: Kernel version, memory usage, uptime, CPU info Related: check_disk_space, check_failed_services

check_disk_space 🌐

Disk usage statistics with capacity warnings. Parameters:
  • warning_threshold (optional): Warn if above % (default: 80)
Returns: Disk usage per partition with warnings Related: get_pacman_cache_stats, list_orphan_packages

get_pacman_cache_stats 🐧

Package cache size and age analysis. Parameters: None Returns: Cache size, package count, oldest package date Related: check_disk_space

check_failed_services βš™οΈ

Find failed systemd services. Parameters: None Returns: Failed service units with status details Related: get_boot_logs, get_system_info

get_boot_logs βš™οΈ

Retrieve journalctl boot logs for diagnostics. Parameters:
  • lines (optional): Number of lines (default: 100)
  • priority (optional): Log level filter (default: all)
Returns: Recent boot logs with timestamps Related: check_failed_services

πŸ“œ Transaction History (4 tools)

Audit package operations and database events.

get_transaction_history 🐧

Recent package transactions (install/upgrade/remove). Parameters:
  • limit (optional): Number of transactions (default: 20)
Returns: Transaction log with timestamps and actions Related: find_when_installed, find_failed_transactions

find_when_installed 🐧

Package installation history and timeline. Parameters:
  • package (string): Package name
Returns: Install date, version history, upgrade timeline Related: get_transaction_history

find_failed_transactions 🐧

Failed package operations from pacman logs. Parameters: None Returns: Failed transactions with error messages Related: get_transaction_history

get_database_sync_history 🐧

Database synchronization event log. Parameters:
  • limit (optional): Number of events (default: 10)
Returns: Sync timestamps and statistics Related: check_database_freshness

🌐 Mirror Management (4 tools)

Optimize repository mirrors for speed and reliability.

list_active_mirrors 🐧

Show currently configured mirrors from mirrorlist. Parameters: None Returns: Active mirror URLs with protocols Related: test_mirror_speed, check_mirrorlist_health

test_mirror_speed 🐧

Test latency to configured mirrors. Parameters:
  • timeout (optional): Test timeout in seconds (default: 5)
Returns: Mirror response times and availability Prerequisites: list_active_mirrors Related: suggest_fastest_mirrors, list_active_mirrors

suggest_fastest_mirrors 🌐

Recommend optimal mirrors by geographic location. Parameters:
  • country (optional): ISO country code (default: auto-detect)
  • protocol (optional): http/https (default: https)
Returns: Ranked mirror list with locations and speeds Related: test_mirror_speed

check_mirrorlist_health 🐧

Verify mirror configuration validity. Parameters: None Returns: Configuration health status and warnings Related: list_active_mirrors, suggest_fastest_mirrors

βš™οΈ Configuration Management (4 tools)

Analyze system configuration files.

analyze_pacman_conf 🐧

Parse pacman.conf settings and options. Parameters: None Returns: Configuration map with repositories, options, ignore lists Related: check_ignored_packages, get_parallel_downloads_setting

analyze_makepkg_conf 🐧

Parse makepkg.conf build settings. Parameters: None Returns: Build flags, compression settings, package destinations Related: analyze_pacman_conf

check_ignored_packages 🐧

List packages excluded from updates. Parameters: None Returns: Ignored packages with critical package warnings Related: analyze_pacman_conf

get_parallel_downloads_setting 🐧

Get parallel download configuration value. Parameters: None Returns: Parallel download count or β€œdisabled” Related: analyze_pacman_conf

Common Workflows

Many tools work better together. Here are proven workflows for common tasks.
Security-first package installation from AUR.
1

Search for package

search_aur query="package-name" sort_by="votes"
Find the package and check popularity.
2

Check trust score

analyze_package_metadata_risk package="package-name"
Evaluate maintainer reputation and community trust.
3

Scan for threats

analyze_pkgbuild_safety package="package-name"
Deep scan PKGBUILD for malicious patterns.
4

Install if safe

install_package_secure package="package-name"
Automated installation with final confirmation.
Use the audit_aur_package prompt to automate this entire workflow!
Free up disk space by removing unused packages safely.
1

Check disk usage

check_disk_space warning_threshold=80
See current disk usage and identify space issues.
2

Find orphaned packages

list_orphan_packages
List packages no longer required by any installed package.
3

Preview removal

remove_orphans dry_run=true
See what would be removed without actually removing anything.
4

Check cache size

get_pacman_cache_stats
See how much space is used by package cache.
5

Clean system

remove_orphans dry_run=false
# Then optionally: paccache -r
Remove orphans and clean package cache.
Always review the preview list before actual removal!
Optimize repository mirrors for faster downloads.
1

List current mirrors

list_active_mirrors
See which mirrors you’re currently using.
2

Test mirror speeds

test_mirror_speed timeout=5
Check latency and availability of current mirrors.
3

Get recommendations

suggest_fastest_mirrors country="US" protocol="https"
Find optimal mirrors for your location.
4

Verify configuration

check_mirrorlist_health
Validate that mirrorlist is properly configured.
5

Update mirrorlist

Manual step: Edit /etc/pacman.d/mirrorlist with recommended mirrors.
Consider using reflector for automated mirror management.
Diagnose system issues using diagnostic tools.
1

Check system health

get_system_info
check_disk_space
Get overview of system resources and capacity.
2

Check for failed services

check_failed_services
Find systemd services that failed to start.
3

Review boot logs

get_boot_logs lines=200 priority="err"
Check boot logs for errors and warnings.
4

Search Wiki for solutions

search_archwiki query="[your error message]"
Find relevant Wiki pages for your issue.
5

Check transaction history

get_transaction_history limit=20
find_failed_transactions
Review recent package operations for failures.
Use the troubleshoot prompt for guided troubleshooting!
Safe system update preparation workflow.
1

Check for critical news

check_critical_news
get_news_since_last_update
Review Arch news for manual intervention requirements.
2

Check available updates

check_updates_dry_run
See what packages will be updated.
3

Verify disk space

check_disk_space
get_pacman_cache_stats
Ensure sufficient space for updates.
4

Check database freshness

check_database_freshness
Verify package database is recent.
5

Perform update

Manual step: Run sudo pacman -Syu after reviewing all checks.
Always address critical news items BEFORE updating!
Deep dive into a package’s details and relationships.
1

Get package info

get_official_package_info package="package-name"
# or
search_aur query="package-name"
Get basic metadata and dependencies.
2

Check installation history

find_when_installed package="package-name"
See when and why package was installed.
3

List package files

list_package_files package="package-name"
See all files installed by this package.
4

Verify integrity

verify_package_integrity package="package-name"
Check if files have been modified or corrupted.
5

Check installation reason

list_explicit_packages  # Is it explicitly installed?
list_orphan_packages    # Is it orphaned?
Understand why package is on your system.

Quick Reference

CategoryCountPermissionPlatform Mix
Discovery & Information6Read5 Any, 1 Arch
Package Lifecycle4WriteAll Arch
Package Maintenance7MixedAll Arch
File Organization5ReadAll Arch
Security Analysis2ReadAll Any
System Monitoring5Read3 Any, 2 systemd, 1 Arch
Transaction History4ReadAll Arch
Mirror Management4Read3 Arch, 1 Any
Configuration4ReadAll Arch
Total: 41 tools (17 platform-agnostic, 24 Arch-specific)

Learn More