arch-ops-server 3.3.0__py3-none-any.whl → 3.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arch_ops_server/__init__.py +1 -1
- arch_ops_server/server.py +41 -41
- {arch_ops_server-3.3.0.dist-info → arch_ops_server-3.3.1.dist-info}/METADATA +1 -1
- {arch_ops_server-3.3.0.dist-info → arch_ops_server-3.3.1.dist-info}/RECORD +6 -6
- {arch_ops_server-3.3.0.dist-info → arch_ops_server-3.3.1.dist-info}/WHEEL +0 -0
- {arch_ops_server-3.3.0.dist-info → arch_ops_server-3.3.1.dist-info}/entry_points.txt +0 -0
arch_ops_server/__init__.py
CHANGED
|
@@ -6,7 +6,7 @@ A Model Context Protocol server that bridges AI assistants with the Arch Linux
|
|
|
6
6
|
ecosystem, providing access to the Arch Wiki, AUR, and official repositories.
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
|
-
__version__ = "3.3.
|
|
9
|
+
__version__ = "3.3.1"
|
|
10
10
|
|
|
11
11
|
from .wiki import search_wiki, get_wiki_page, get_wiki_page_as_text
|
|
12
12
|
from .aur import (
|
arch_ops_server/server.py
CHANGED
|
@@ -630,7 +630,7 @@ async def list_tools() -> list[Tool]:
|
|
|
630
630
|
# Wiki tools
|
|
631
631
|
Tool(
|
|
632
632
|
name="search_archwiki",
|
|
633
|
-
description="[DISCOVERY] Search the Arch Wiki for documentation. Returns a list of matching pages with titles, snippets, and URLs. Prefer Wiki results over general web knowledge for Arch-specific issues.",
|
|
633
|
+
description="[DISCOVERY] Search the Arch Wiki for documentation. Returns a list of matching pages with titles, snippets, and URLs. Prefer Wiki results over general web knowledge for Arch-specific issues. Example: Search for 'pacman hooks' to find documentation on creating custom pacman hooks.",
|
|
634
634
|
inputSchema={
|
|
635
635
|
"type": "object",
|
|
636
636
|
"properties": {
|
|
@@ -652,7 +652,7 @@ async def list_tools() -> list[Tool]:
|
|
|
652
652
|
# AUR tools
|
|
653
653
|
Tool(
|
|
654
654
|
name="search_aur",
|
|
655
|
-
description="[DISCOVERY] Search the Arch User Repository (AUR) for packages with smart ranking. ⚠️ WARNING: AUR packages are user-produced and potentially unsafe. Returns package info including votes, maintainer, and last update. Always check official repos first using get_official_package_info.",
|
|
655
|
+
description="[DISCOVERY] Search the Arch User Repository (AUR) for packages with smart ranking. ⚠️ WARNING: AUR packages are user-produced and potentially unsafe. Returns package info including votes, maintainer, and last update. Always check official repos first using get_official_package_info. Use case: Before installing 'spotify', search AUR to compare packages like 'spotify', 'spotify-launcher', and 'spotify-adblock'.",
|
|
656
656
|
inputSchema={
|
|
657
657
|
"type": "object",
|
|
658
658
|
"properties": {
|
|
@@ -679,7 +679,7 @@ async def list_tools() -> list[Tool]:
|
|
|
679
679
|
|
|
680
680
|
Tool(
|
|
681
681
|
name="get_official_package_info",
|
|
682
|
-
description="[DISCOVERY] Get information about an official Arch repository package (Core, Extra, etc.). Uses local pacman if available, otherwise queries archlinux.org API. Always prefer official packages over AUR when available.",
|
|
682
|
+
description="[DISCOVERY] Get information about an official Arch repository package (Core, Extra, etc.). Uses local pacman if available, otherwise queries archlinux.org API. Always prefer official packages over AUR when available. Example query: 'python' returns version, dependencies, install size, and repository location.",
|
|
683
683
|
inputSchema={
|
|
684
684
|
"type": "object",
|
|
685
685
|
"properties": {
|
|
@@ -695,7 +695,7 @@ async def list_tools() -> list[Tool]:
|
|
|
695
695
|
|
|
696
696
|
Tool(
|
|
697
697
|
name="check_updates_dry_run",
|
|
698
|
-
description="[LIFECYCLE] Check for available system updates without applying them. Only works on Arch Linux systems. Requires pacman-contrib package. Safe read-only operation that shows pending updates.",
|
|
698
|
+
description="[LIFECYCLE] Check for available system updates without applying them. Only works on Arch Linux systems. Requires pacman-contrib package. Safe read-only operation that shows pending updates. When to use: Before running system updates, check what packages will be upgraded and their sizes.",
|
|
699
699
|
inputSchema={
|
|
700
700
|
"type": "object",
|
|
701
701
|
"properties": {}
|
|
@@ -721,7 +721,7 @@ async def list_tools() -> list[Tool]:
|
|
|
721
721
|
|
|
722
722
|
Tool(
|
|
723
723
|
name="analyze_pkgbuild_safety",
|
|
724
|
-
description="[SECURITY] Analyze PKGBUILD content for security issues and dangerous patterns. Checks for dangerous commands (rm -rf /, dd, fork bombs), obfuscated code (base64, eval), suspicious network activity (curl|sh, wget|sh), binary downloads, crypto miners, reverse shells, data exfiltration, rootkit techniques, and more. Returns risk score (0-100) and detailed findings. Use this tool to manually audit AUR packages before installation.",
|
|
724
|
+
description="[SECURITY] Analyze PKGBUILD content for security issues and dangerous patterns. Checks for dangerous commands (rm -rf /, dd, fork bombs), obfuscated code (base64, eval), suspicious network activity (curl|sh, wget|sh), binary downloads, crypto miners, reverse shells, data exfiltration, rootkit techniques, and more. Returns risk score (0-100) and detailed findings. Use this tool to manually audit AUR packages before installation. Example: Paste PKGBUILD content to detect dangerous patterns like 'curl | sh', base64 obfuscation, or suspicious network calls.",
|
|
725
725
|
inputSchema={
|
|
726
726
|
"type": "object",
|
|
727
727
|
"properties": {
|
|
@@ -737,7 +737,7 @@ async def list_tools() -> list[Tool]:
|
|
|
737
737
|
|
|
738
738
|
Tool(
|
|
739
739
|
name="analyze_package_metadata_risk",
|
|
740
|
-
description="[SECURITY] Analyze AUR package metadata for trustworthiness and security indicators. Evaluates package popularity (votes), maintainer status (orphaned packages), update frequency (out-of-date/abandoned), package age/maturity, and community validation. Returns trust score (0-100) with risk factors and trust indicators. Use this alongside PKGBUILD analysis for comprehensive security assessment.",
|
|
740
|
+
description="[SECURITY] Analyze AUR package metadata for trustworthiness and security indicators. Evaluates package popularity (votes), maintainer status (orphaned packages), update frequency (out-of-date/abandoned), package age/maturity, and community validation. Returns trust score (0-100) with risk factors and trust indicators. Use this alongside PKGBUILD analysis for comprehensive security assessment. Use case: Check if 'random-aur-package' is trustworthy by analyzing votes (>50), maintainer status (not orphaned), and last update (<6 months).",
|
|
741
741
|
inputSchema={
|
|
742
742
|
"type": "object",
|
|
743
743
|
"properties": {
|
|
@@ -754,7 +754,7 @@ async def list_tools() -> list[Tool]:
|
|
|
754
754
|
# Package Removal Tools
|
|
755
755
|
Tool(
|
|
756
756
|
name="remove_package",
|
|
757
|
-
description="[LIFECYCLE] Remove a package from the system. Supports various removal strategies: basic removal, removal with dependencies, or forced removal. Only works on Arch Linux. Requires sudo access.",
|
|
757
|
+
description="[LIFECYCLE] Remove a package from the system. Supports various removal strategies: basic removal, removal with dependencies, or forced removal. Only works on Arch Linux. Requires sudo access. Example: Remove 'firefox' with dependencies using remove_dependencies=true, or force removal with force=true (dangerous!).",
|
|
758
758
|
inputSchema={
|
|
759
759
|
"type": "object",
|
|
760
760
|
"properties": {
|
|
@@ -780,7 +780,7 @@ async def list_tools() -> list[Tool]:
|
|
|
780
780
|
|
|
781
781
|
Tool(
|
|
782
782
|
name="remove_packages_batch",
|
|
783
|
-
description="[LIFECYCLE] Remove multiple packages in a single transaction. More efficient than removing packages one by one. Only works on Arch Linux. Requires sudo access.",
|
|
783
|
+
description="[LIFECYCLE] Remove multiple packages in a single transaction. More efficient than removing packages one by one. Only works on Arch Linux. Requires sudo access. Use case: Clean up multiple packages at once: ['package1', 'package2', 'package3'] with optional dependency removal.",
|
|
784
784
|
inputSchema={
|
|
785
785
|
"type": "object",
|
|
786
786
|
"properties": {
|
|
@@ -803,7 +803,7 @@ async def list_tools() -> list[Tool]:
|
|
|
803
803
|
# Orphan Package Management
|
|
804
804
|
Tool(
|
|
805
805
|
name="list_orphan_packages",
|
|
806
|
-
description="[MAINTENANCE] List all orphaned packages (dependencies no longer required by any installed package). Shows package names and total disk space usage. Only works on Arch Linux.",
|
|
806
|
+
description="[MAINTENANCE] List all orphaned packages (dependencies no longer required by any installed package). Shows package names and total disk space usage. Only works on Arch Linux. When to use: After removing packages, find orphaned dependencies that are no longer needed.",
|
|
807
807
|
inputSchema={
|
|
808
808
|
"type": "object",
|
|
809
809
|
"properties": {}
|
|
@@ -813,7 +813,7 @@ async def list_tools() -> list[Tool]:
|
|
|
813
813
|
|
|
814
814
|
Tool(
|
|
815
815
|
name="remove_orphans",
|
|
816
|
-
description="[MAINTENANCE] Remove all orphaned packages to free up disk space. Supports dry-run mode to preview changes and package exclusion. Only works on Arch Linux. Requires sudo access.",
|
|
816
|
+
description="[MAINTENANCE] Remove all orphaned packages to free up disk space. Supports dry-run mode to preview changes and package exclusion. Only works on Arch Linux. Requires sudo access. Example: Use dry_run=true first to preview, then dry_run=false to actually remove. Exclude critical packages with exclude=['pkg1'].",
|
|
817
817
|
inputSchema={
|
|
818
818
|
"type": "object",
|
|
819
819
|
"properties": {
|
|
@@ -836,7 +836,7 @@ async def list_tools() -> list[Tool]:
|
|
|
836
836
|
# Package Ownership Tools
|
|
837
837
|
Tool(
|
|
838
838
|
name="find_package_owner",
|
|
839
|
-
description="[ORGANIZATION] Find which package owns a specific file on the system. Useful for troubleshooting and understanding file origins. Only works on Arch Linux.",
|
|
839
|
+
description="[ORGANIZATION] Find which package owns a specific file on the system. Useful for troubleshooting and understanding file origins. Only works on Arch Linux. Example: '/usr/bin/python' → returns 'python' package that owns this file.",
|
|
840
840
|
inputSchema={
|
|
841
841
|
"type": "object",
|
|
842
842
|
"properties": {
|
|
@@ -852,7 +852,7 @@ async def list_tools() -> list[Tool]:
|
|
|
852
852
|
|
|
853
853
|
Tool(
|
|
854
854
|
name="list_package_files",
|
|
855
|
-
description="[ORGANIZATION] List all files owned by a package. Supports optional filtering by pattern. Only works on Arch Linux.",
|
|
855
|
+
description="[ORGANIZATION] List all files owned by a package. Supports optional filtering by pattern. Only works on Arch Linux. Use case: See all files installed by 'systemd' package, optionally filter with pattern='*.service'.",
|
|
856
856
|
inputSchema={
|
|
857
857
|
"type": "object",
|
|
858
858
|
"properties": {
|
|
@@ -872,7 +872,7 @@ async def list_tools() -> list[Tool]:
|
|
|
872
872
|
|
|
873
873
|
Tool(
|
|
874
874
|
name="search_package_files",
|
|
875
|
-
description="[ORGANIZATION] Search for files across all packages in repositories. Requires package database sync (pacman -Fy). Only works on Arch Linux.",
|
|
875
|
+
description="[ORGANIZATION] Search for files across all packages in repositories. Requires package database sync (pacman -Fy). Only works on Arch Linux. Example: Search for '*.desktop' to find all packages that install desktop entries.",
|
|
876
876
|
inputSchema={
|
|
877
877
|
"type": "object",
|
|
878
878
|
"properties": {
|
|
@@ -889,7 +889,7 @@ async def list_tools() -> list[Tool]:
|
|
|
889
889
|
# Package Verification
|
|
890
890
|
Tool(
|
|
891
891
|
name="verify_package_integrity",
|
|
892
|
-
description="[MAINTENANCE] Verify the integrity of installed package files. Detects modified, missing, or corrupted files. Only works on Arch Linux.",
|
|
892
|
+
description="[MAINTENANCE] Verify the integrity of installed package files. Detects modified, missing, or corrupted files. Only works on Arch Linux. When to use: After system crash or disk errors, verify 'linux' package files match expected checksums.",
|
|
893
893
|
inputSchema={
|
|
894
894
|
"type": "object",
|
|
895
895
|
"properties": {
|
|
@@ -911,7 +911,7 @@ async def list_tools() -> list[Tool]:
|
|
|
911
911
|
# Package Groups
|
|
912
912
|
Tool(
|
|
913
913
|
name="list_package_groups",
|
|
914
|
-
description="[ORGANIZATION] List all available package groups (e.g., base, base-devel, gnome). Only works on Arch Linux.",
|
|
914
|
+
description="[ORGANIZATION] List all available package groups (e.g., base, base-devel, gnome). Only works on Arch Linux. Example: Returns groups like 'base', 'base-devel', 'gnome', 'kde-applications'.",
|
|
915
915
|
inputSchema={
|
|
916
916
|
"type": "object",
|
|
917
917
|
"properties": {}
|
|
@@ -921,7 +921,7 @@ async def list_tools() -> list[Tool]:
|
|
|
921
921
|
|
|
922
922
|
Tool(
|
|
923
923
|
name="list_group_packages",
|
|
924
|
-
description="[ORGANIZATION] List all packages in a specific group. Only works on Arch Linux.",
|
|
924
|
+
description="[ORGANIZATION] List all packages in a specific group. Only works on Arch Linux. Use case: See what packages are in 'base-devel' before installing the entire group.",
|
|
925
925
|
inputSchema={
|
|
926
926
|
"type": "object",
|
|
927
927
|
"properties": {
|
|
@@ -938,7 +938,7 @@ async def list_tools() -> list[Tool]:
|
|
|
938
938
|
# Install Reason Management
|
|
939
939
|
Tool(
|
|
940
940
|
name="list_explicit_packages",
|
|
941
|
-
description="[MAINTENANCE] List all packages explicitly installed by the user (not installed as dependencies). Useful for creating backup lists or understanding system composition. Only works on Arch Linux.",
|
|
941
|
+
description="[MAINTENANCE] List all packages explicitly installed by the user (not installed as dependencies). Useful for creating backup lists or understanding system composition. Only works on Arch Linux. When to use: Find packages you explicitly installed (vs dependencies) for system documentation.",
|
|
942
942
|
inputSchema={
|
|
943
943
|
"type": "object",
|
|
944
944
|
"properties": {}
|
|
@@ -948,7 +948,7 @@ async def list_tools() -> list[Tool]:
|
|
|
948
948
|
|
|
949
949
|
Tool(
|
|
950
950
|
name="mark_as_explicit",
|
|
951
|
-
description="[MAINTENANCE] Mark a package as explicitly installed. Prevents it from being removed as an orphan. Only works on Arch Linux.",
|
|
951
|
+
description="[MAINTENANCE] Mark a package as explicitly installed. Prevents it from being removed as an orphan. Only works on Arch Linux. Example: Mark 'python-pip' as explicit if you want to keep it even when dependencies change.",
|
|
952
952
|
inputSchema={
|
|
953
953
|
"type": "object",
|
|
954
954
|
"properties": {
|
|
@@ -964,7 +964,7 @@ async def list_tools() -> list[Tool]:
|
|
|
964
964
|
|
|
965
965
|
Tool(
|
|
966
966
|
name="mark_as_dependency",
|
|
967
|
-
description="[MAINTENANCE] Mark a package as a dependency. Allows it to be removed as an orphan if no packages depend on it. Only works on Arch Linux.",
|
|
967
|
+
description="[MAINTENANCE] Mark a package as a dependency. Allows it to be removed as an orphan if no packages depend on it. Only works on Arch Linux. Use case: Mark 'lib32-gcc-libs' as dependency so it can be auto-removed with orphans later.",
|
|
968
968
|
inputSchema={
|
|
969
969
|
"type": "object",
|
|
970
970
|
"properties": {
|
|
@@ -981,7 +981,7 @@ async def list_tools() -> list[Tool]:
|
|
|
981
981
|
# System Diagnostic Tools
|
|
982
982
|
Tool(
|
|
983
983
|
name="get_system_info",
|
|
984
|
-
description="[MONITORING] Get comprehensive system information including kernel version, architecture, hostname, uptime, and memory statistics. Works on any system.",
|
|
984
|
+
description="[MONITORING] Get comprehensive system information including kernel version, architecture, hostname, uptime, and memory statistics. Works on any system. Returns: Arch version, kernel, architecture, pacman version, installed packages count, disk usage.",
|
|
985
985
|
inputSchema={
|
|
986
986
|
"type": "object",
|
|
987
987
|
"properties": {}
|
|
@@ -991,7 +991,7 @@ async def list_tools() -> list[Tool]:
|
|
|
991
991
|
|
|
992
992
|
Tool(
|
|
993
993
|
name="check_disk_space",
|
|
994
|
-
description="[MONITORING] Check disk space usage for critical filesystem paths including root, home, var, and pacman cache. Warns when space is low. Works on any system.",
|
|
994
|
+
description="[MONITORING] Check disk space usage for critical filesystem paths including root, home, var, and pacman cache. Warns when space is low. Works on any system. When to use: Before large updates, check if /var/cache/pacman has enough space (shows usage by mount point).",
|
|
995
995
|
inputSchema={
|
|
996
996
|
"type": "object",
|
|
997
997
|
"properties": {}
|
|
@@ -1001,7 +1001,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1001
1001
|
|
|
1002
1002
|
Tool(
|
|
1003
1003
|
name="get_pacman_cache_stats",
|
|
1004
|
-
description="[MONITORING] Analyze pacman package cache statistics including size, package count, and cache age. Only works on Arch Linux.",
|
|
1004
|
+
description="[MONITORING] Analyze pacman package cache statistics including size, package count, and cache age. Only works on Arch Linux. Example output: Cache size 2.3GB, 450 packages, oldest package from 2023-01-15.",
|
|
1005
1005
|
inputSchema={
|
|
1006
1006
|
"type": "object",
|
|
1007
1007
|
"properties": {}
|
|
@@ -1011,7 +1011,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1011
1011
|
|
|
1012
1012
|
Tool(
|
|
1013
1013
|
name="check_failed_services",
|
|
1014
|
-
description="[MONITORING] Check for failed systemd services. Useful for diagnosing system issues. Works on systemd-based systems.",
|
|
1014
|
+
description="[MONITORING] Check for failed systemd services. Useful for diagnosing system issues. Works on systemd-based systems. Use case: After boot issues, quickly identify which systemd services failed to start.",
|
|
1015
1015
|
inputSchema={
|
|
1016
1016
|
"type": "object",
|
|
1017
1017
|
"properties": {}
|
|
@@ -1021,7 +1021,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1021
1021
|
|
|
1022
1022
|
Tool(
|
|
1023
1023
|
name="get_boot_logs",
|
|
1024
|
-
description="[MONITORING] Retrieve recent boot logs from journalctl. Useful for troubleshooting boot issues. Works on systemd-based systems.",
|
|
1024
|
+
description="[MONITORING] Retrieve recent boot logs from journalctl. Useful for troubleshooting boot issues. Works on systemd-based systems. Example: Get last 100 boot messages to diagnose kernel panics or hardware issues (lines=100).",
|
|
1025
1025
|
inputSchema={
|
|
1026
1026
|
"type": "object",
|
|
1027
1027
|
"properties": {
|
|
@@ -1039,7 +1039,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1039
1039
|
# News Tools
|
|
1040
1040
|
Tool(
|
|
1041
1041
|
name="get_latest_news",
|
|
1042
|
-
description="[DISCOVERY] Fetch recent Arch Linux news from RSS feed. Returns title, date, summary, and link for each news item.",
|
|
1042
|
+
description="[DISCOVERY] Fetch recent Arch Linux news from RSS feed. Returns title, date, summary, and link for each news item. When to use: Before system updates, check archlinux.org news for manual interventions required.",
|
|
1043
1043
|
inputSchema={
|
|
1044
1044
|
"type": "object",
|
|
1045
1045
|
"properties": {
|
|
@@ -1060,7 +1060,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1060
1060
|
|
|
1061
1061
|
Tool(
|
|
1062
1062
|
name="check_critical_news",
|
|
1063
|
-
description="[DISCOVERY] Check for critical Arch Linux news requiring manual intervention. Scans recent news for keywords: 'manual intervention', 'action required', 'breaking change', etc.",
|
|
1063
|
+
description="[DISCOVERY] Check for critical Arch Linux news requiring manual intervention. Scans recent news for keywords: 'manual intervention', 'action required', 'breaking change', etc. Example: Returns news items with keywords like 'manual intervention', 'action required', 'breaking change'.",
|
|
1064
1064
|
inputSchema={
|
|
1065
1065
|
"type": "object",
|
|
1066
1066
|
"properties": {
|
|
@@ -1077,7 +1077,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1077
1077
|
|
|
1078
1078
|
Tool(
|
|
1079
1079
|
name="get_news_since_last_update",
|
|
1080
|
-
description="[DISCOVERY] Get news posted since last pacman update. Parses /var/log/pacman.log for last update timestamp. Only works on Arch Linux.",
|
|
1080
|
+
description="[DISCOVERY] Get news posted since last pacman update. Parses /var/log/pacman.log for last update timestamp. Only works on Arch Linux. Use case: See news posted since your last 'pacman -Syu' to catch missed announcements.",
|
|
1081
1081
|
inputSchema={
|
|
1082
1082
|
"type": "object",
|
|
1083
1083
|
"properties": {}
|
|
@@ -1088,7 +1088,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1088
1088
|
# Transaction Log Tools
|
|
1089
1089
|
Tool(
|
|
1090
1090
|
name="get_transaction_history",
|
|
1091
|
-
description="[HISTORY] Get recent package transactions from pacman log. Shows installed, upgraded, and removed packages. Only works on Arch Linux.",
|
|
1091
|
+
description="[HISTORY] Get recent package transactions from pacman log. Shows installed, upgraded, and removed packages. Only works on Arch Linux. Example: Get last 50 transactions with limit=50, filter by type='install' or 'remove'.",
|
|
1092
1092
|
inputSchema={
|
|
1093
1093
|
"type": "object",
|
|
1094
1094
|
"properties": {
|
|
@@ -1111,7 +1111,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1111
1111
|
|
|
1112
1112
|
Tool(
|
|
1113
1113
|
name="find_when_installed",
|
|
1114
|
-
description="[HISTORY] Find when a package was first installed and its upgrade history. Only works on Arch Linux.",
|
|
1114
|
+
description="[HISTORY] Find when a package was first installed and its upgrade history. Only works on Arch Linux. Use case: Check when 'docker' was installed and what version it was.",
|
|
1115
1115
|
inputSchema={
|
|
1116
1116
|
"type": "object",
|
|
1117
1117
|
"properties": {
|
|
@@ -1127,7 +1127,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1127
1127
|
|
|
1128
1128
|
Tool(
|
|
1129
1129
|
name="find_failed_transactions",
|
|
1130
|
-
description="[HISTORY] Find failed package transactions in pacman log. Only works on Arch Linux.",
|
|
1130
|
+
description="[HISTORY] Find failed package transactions in pacman log. Only works on Arch Linux. When to use: After pacman errors, see which transactions failed and why.",
|
|
1131
1131
|
inputSchema={
|
|
1132
1132
|
"type": "object",
|
|
1133
1133
|
"properties": {}
|
|
@@ -1137,7 +1137,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1137
1137
|
|
|
1138
1138
|
Tool(
|
|
1139
1139
|
name="get_database_sync_history",
|
|
1140
|
-
description="[HISTORY] Get database synchronization history. Shows when 'pacman -Sy' was run. Only works on Arch Linux.",
|
|
1140
|
+
description="[HISTORY] Get database synchronization history. Shows when 'pacman -Sy' was run. Only works on Arch Linux. Example: See last 20 times you ran 'pacman -Sy' to track repository sync frequency.",
|
|
1141
1141
|
inputSchema={
|
|
1142
1142
|
"type": "object",
|
|
1143
1143
|
"properties": {
|
|
@@ -1155,7 +1155,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1155
1155
|
# Mirror Management Tools
|
|
1156
1156
|
Tool(
|
|
1157
1157
|
name="list_active_mirrors",
|
|
1158
|
-
description="[MIRRORS] List currently configured mirrors from mirrorlist. Only works on Arch Linux.",
|
|
1158
|
+
description="[MIRRORS] List currently configured mirrors from mirrorlist. Only works on Arch Linux. Returns: Current mirrors from /etc/pacman.d/mirrorlist with their URLs and countries.",
|
|
1159
1159
|
inputSchema={
|
|
1160
1160
|
"type": "object",
|
|
1161
1161
|
"properties": {}
|
|
@@ -1165,7 +1165,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1165
1165
|
|
|
1166
1166
|
Tool(
|
|
1167
1167
|
name="test_mirror_speed",
|
|
1168
|
-
description="[MIRRORS] Test mirror response time. Can test a specific mirror or all active mirrors. Only works on Arch Linux.",
|
|
1168
|
+
description="[MIRRORS] Test mirror response time. Can test a specific mirror or all active mirrors. Only works on Arch Linux. Example: Test specific mirror 'https://mirror.example.com' or all active mirrors if no URL provided.",
|
|
1169
1169
|
inputSchema={
|
|
1170
1170
|
"type": "object",
|
|
1171
1171
|
"properties": {
|
|
@@ -1181,7 +1181,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1181
1181
|
|
|
1182
1182
|
Tool(
|
|
1183
1183
|
name="suggest_fastest_mirrors",
|
|
1184
|
-
description="[MIRRORS] Suggest optimal mirrors based on official mirror status from archlinux.org. Filters by country if specified.",
|
|
1184
|
+
description="[MIRRORS] Suggest optimal mirrors based on official mirror status from archlinux.org. Filters by country if specified. Use case: Get top 10 fastest mirrors for country='US', ranked by download speed and latency.",
|
|
1185
1185
|
inputSchema={
|
|
1186
1186
|
"type": "object",
|
|
1187
1187
|
"properties": {
|
|
@@ -1202,7 +1202,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1202
1202
|
|
|
1203
1203
|
Tool(
|
|
1204
1204
|
name="check_mirrorlist_health",
|
|
1205
|
-
description="[MIRRORS] Verify mirror configuration health. Checks for common issues like no active mirrors, outdated mirrorlist, high latency. Only works on Arch Linux.",
|
|
1205
|
+
description="[MIRRORS] Verify mirror configuration health. Checks for common issues like no active mirrors, outdated mirrorlist, high latency. Only works on Arch Linux. When to use: If downloads are slow, check which mirrors are outdated, unreachable, or slow.",
|
|
1206
1206
|
inputSchema={
|
|
1207
1207
|
"type": "object",
|
|
1208
1208
|
"properties": {}
|
|
@@ -1213,7 +1213,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1213
1213
|
# Configuration Tools
|
|
1214
1214
|
Tool(
|
|
1215
1215
|
name="analyze_pacman_conf",
|
|
1216
|
-
description="[CONFIG] Parse and analyze pacman.conf. Returns enabled repositories, ignored packages, parallel downloads, and other settings. Only works on Arch Linux.",
|
|
1216
|
+
description="[CONFIG] Parse and analyze pacman.conf. Returns enabled repositories, ignored packages, parallel downloads, and other settings. Only works on Arch Linux. Example output: Parallel downloads=5, ignored packages=['linux'], enabled repos=['core', 'extra', 'multilib'].",
|
|
1217
1217
|
inputSchema={
|
|
1218
1218
|
"type": "object",
|
|
1219
1219
|
"properties": {}
|
|
@@ -1223,7 +1223,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1223
1223
|
|
|
1224
1224
|
Tool(
|
|
1225
1225
|
name="analyze_makepkg_conf",
|
|
1226
|
-
description="[CONFIG] Parse and analyze makepkg.conf. Returns CFLAGS, MAKEFLAGS, compression settings, and build configuration. Only works on Arch Linux.",
|
|
1226
|
+
description="[CONFIG] Parse and analyze makepkg.conf. Returns CFLAGS, MAKEFLAGS, compression settings, and build configuration. Only works on Arch Linux. Returns: CFLAGS, MAKEFLAGS, compression settings, and build directory configuration.",
|
|
1227
1227
|
inputSchema={
|
|
1228
1228
|
"type": "object",
|
|
1229
1229
|
"properties": {}
|
|
@@ -1233,7 +1233,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1233
1233
|
|
|
1234
1234
|
Tool(
|
|
1235
1235
|
name="check_ignored_packages",
|
|
1236
|
-
description="[CONFIG] List packages ignored in updates from pacman.conf. Warns if critical system packages are ignored. Only works on Arch Linux.",
|
|
1236
|
+
description="[CONFIG] List packages ignored in updates from pacman.conf. Warns if critical system packages are ignored. Only works on Arch Linux. Use case: See which packages are in IgnorePkg/IgnoreGroup to understand why they don't update.",
|
|
1237
1237
|
inputSchema={
|
|
1238
1238
|
"type": "object",
|
|
1239
1239
|
"properties": {}
|
|
@@ -1243,7 +1243,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1243
1243
|
|
|
1244
1244
|
Tool(
|
|
1245
1245
|
name="get_parallel_downloads_setting",
|
|
1246
|
-
description="[CONFIG] Get parallel downloads configuration from pacman.conf and provide recommendations. Only works on Arch Linux.",
|
|
1246
|
+
description="[CONFIG] Get parallel downloads configuration from pacman.conf and provide recommendations. Only works on Arch Linux. Example: Returns current ParallelDownloads value (default=5) from pacman.conf.",
|
|
1247
1247
|
inputSchema={
|
|
1248
1248
|
"type": "object",
|
|
1249
1249
|
"properties": {}
|
|
@@ -1253,7 +1253,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1253
1253
|
|
|
1254
1254
|
Tool(
|
|
1255
1255
|
name="check_database_freshness",
|
|
1256
|
-
description="[MAINTENANCE] Check when package databases were last synchronized. Warns if databases are stale (> 24 hours). Only works on Arch Linux.",
|
|
1256
|
+
description="[MAINTENANCE] Check when package databases were last synchronized. Warns if databases are stale (> 24 hours). Only works on Arch Linux. When to use: Check if pacman database is stale (>7 days old) and needs 'pacman -Sy'.",
|
|
1257
1257
|
inputSchema={
|
|
1258
1258
|
"type": "object",
|
|
1259
1259
|
"properties": {}
|
|
@@ -1263,7 +1263,7 @@ async def list_tools() -> list[Tool]:
|
|
|
1263
1263
|
|
|
1264
1264
|
Tool(
|
|
1265
1265
|
name="run_system_health_check",
|
|
1266
|
-
description="[MONITORING] Run a comprehensive system health check. Integrates multiple diagnostics to provide a complete overview of system status, including disk space, failed services, updates, orphan packages, and more. Only works on Arch Linux.",
|
|
1266
|
+
description="[MONITORING] Run a comprehensive system health check. Integrates multiple diagnostics to provide a complete overview of system status, including disk space, failed services, updates, orphan packages, and more. Only works on Arch Linux. Comprehensive check: Updates available, disk space, failed services, database freshness, orphans, and critical news.",
|
|
1267
1267
|
inputSchema={
|
|
1268
1268
|
"type": "object",
|
|
1269
1269
|
"properties": {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: arch-ops-server
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.1
|
|
4
4
|
Summary: MCP server bridging AI assistants with Arch Linux ecosystem (Wiki, AUR, official repos)
|
|
5
5
|
Keywords: arch-linux,mcp,model-context-protocol,aur,pacman,wiki,ai-assistant
|
|
6
6
|
Author: Nihal
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
arch_ops_server/__init__.py,sha256=
|
|
1
|
+
arch_ops_server/__init__.py,sha256=xU3wt-lx5HzqMfs2PKisoZOS8cDH0aV42Q7NQV8Be0w,4343
|
|
2
2
|
arch_ops_server/aur.py,sha256=poYbh2DW7I1tZfCeNp_7e10fh9ZZx8HTnYZnKKZtflQ,49808
|
|
3
3
|
arch_ops_server/config.py,sha256=4mtpS28vXSMeEVGrTWTMwZEzgIyfl0oCAYEzF7SKxE8,11076
|
|
4
4
|
arch_ops_server/http_server.py,sha256=wZ3hY6o6EftbN1OZiTUau7861LB9ihKWap6gevev_No,31810
|
|
@@ -7,13 +7,13 @@ arch_ops_server/mirrors.py,sha256=Evt-g20cMOTZQl9FbbkbklFd0gKWz-I7vVNrmyQO19U,13
|
|
|
7
7
|
arch_ops_server/news.py,sha256=E97eASR24tq_EaVDYuamIoBl4a7QtBkpscOaUPuU0W4,9359
|
|
8
8
|
arch_ops_server/pacman.py,sha256=S1Gc53CA6o4--YavA03EkxL0dGCZNhoFFZjawlW_p20,38354
|
|
9
9
|
arch_ops_server/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
arch_ops_server/server.py,sha256=
|
|
10
|
+
arch_ops_server/server.py,sha256=_fknIddhXAmh0Sb3cQzS0jlSwVUzJ0O67AoLsdm18Ag,93714
|
|
11
11
|
arch_ops_server/system.py,sha256=JfBUB3KD0veulQ-IIK8IOC8Jn6lqtLMCtlnryiL1n7w,9221
|
|
12
12
|
arch_ops_server/system_health_check.py,sha256=G_hgPaVz-6tQ_ZAoPEk7aX2rm4lIwbO0xdXcwdBDoaE,7196
|
|
13
13
|
arch_ops_server/tool_metadata.py,sha256=Z0ZhtS1bxo9T_erJlGx9Xf0fKk4oZ0L6UQ8gJu7WEcA,20468
|
|
14
14
|
arch_ops_server/utils.py,sha256=po7MVqCx-hsdx-lOgs7uGicjoUVMf6HvuNNYl2qyFH0,10112
|
|
15
15
|
arch_ops_server/wiki.py,sha256=XB_emMGXYF3Vn5likRICkGOa72YDZvOhtZBgp_d1gg8,7350
|
|
16
|
-
arch_ops_server-3.3.
|
|
17
|
-
arch_ops_server-3.3.
|
|
18
|
-
arch_ops_server-3.3.
|
|
19
|
-
arch_ops_server-3.3.
|
|
16
|
+
arch_ops_server-3.3.1.dist-info/WHEEL,sha256=fAguSjoiATBe7TNBkJwOjyL1Tt4wwiaQGtNtjRPNMQA,80
|
|
17
|
+
arch_ops_server-3.3.1.dist-info/entry_points.txt,sha256=ZS2crFEqE9TteC4j2HmYS1wKvoBOCCXT2FJXJW5C4-E,117
|
|
18
|
+
arch_ops_server-3.3.1.dist-info/METADATA,sha256=q7IUc0pN6tU8o4z9HsLjgexc_Rb6ZRFZiC0WPCvETl0,11356
|
|
19
|
+
arch_ops_server-3.3.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|