arch-ops-server 3.1.0__tar.gz → 3.3.0__tar.gz

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.
Files changed (18) hide show
  1. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/PKG-INFO +27 -7
  2. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/README.md +26 -6
  3. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/pyproject.toml +1 -1
  4. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/__init__.py +3 -1
  5. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/server.py +200 -76
  6. arch_ops_server-3.3.0/src/arch_ops_server/system_health_check.py +189 -0
  7. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/tool_metadata.py +19 -0
  8. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/aur.py +0 -0
  9. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/config.py +0 -0
  10. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/http_server.py +0 -0
  11. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/logs.py +0 -0
  12. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/mirrors.py +0 -0
  13. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/news.py +0 -0
  14. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/pacman.py +0 -0
  15. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/py.typed +0 -0
  16. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/system.py +0 -0
  17. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/utils.py +0 -0
  18. {arch_ops_server-3.1.0 → arch_ops_server-3.3.0}/src/arch_ops_server/wiki.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arch-ops-server
3
- Version: 3.1.0
3
+ Version: 3.3.0
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
@@ -52,17 +52,18 @@ Leverage AI to get output for digestible, structured results that are ready for
52
52
 
53
53
  ## Sneak Peak into what's available
54
54
 
55
- <details open>
56
- <summary>Claude Desktop (no terminal)</summary>
55
+ <details>
56
+
57
+ <summary>Using VS Code Sonnet 3.5 for Safe Installation from AUR</summary>
57
58
 
58
- ![Claude Desktop Demo](assets/claudedesktop_signalcli.gif)
59
+ ![VS Code Demo](assets/vscode_notesnook.gif)
59
60
 
60
61
  </details>
61
62
 
62
63
  <details>
63
- <summary>VS Code (with terminal)</summary>
64
+ <summary> Asking Claude Code Sonnet 4.5 for fedora equivalent command </summary>
64
65
 
65
- ![VS Code Demo](assets/vscode_notesnook.gif)
66
+ ![Equivalent Command Demo](assets/equivalent-commands.gif)
66
67
 
67
68
  </details>
68
69
 
@@ -71,11 +72,13 @@ Leverage AI to get output for digestible, structured results that are ready for
71
72
  Direct access to Arch ecosystem data via custom URI schemes:
72
73
 
73
74
  #### Documentation & Search
75
+
74
76
  | URI Scheme | Example | Returns |
75
77
  |------------|---------|---------|
76
78
  | `archwiki://` | `archwiki://Installation_guide` | Markdown-formatted Wiki page |
77
79
 
78
80
  #### Package Information
81
+
79
82
  | URI Scheme | Example | Returns |
80
83
  |------------|---------|---------|
81
84
  | `archrepo://` | `archrepo://vim` | Official repository package details |
@@ -83,6 +86,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
83
86
  | `aur://*/pkgbuild` | `aur://yay/pkgbuild` | Raw PKGBUILD with safety analysis |
84
87
 
85
88
  #### System Packages (Arch only)
89
+
86
90
  | URI Scheme | Example | Returns |
87
91
  |------------|---------|---------|
88
92
  | `pacman://installed` | `pacman://installed` | System installed packages list |
@@ -93,6 +97,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
93
97
  | `pacman://database/freshness` | `pacman://database/freshness` | Package database sync status |
94
98
 
95
99
  #### System Monitoring & Logs
100
+
96
101
  | URI Scheme | Example | Returns |
97
102
  |------------|---------|---------|
98
103
  | `system://info` | `system://info` | System information (kernel, memory, uptime) |
@@ -103,6 +108,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
103
108
  | `pacman://log/failed` | `pacman://log/failed` | Failed package transactions |
104
109
 
105
110
  #### News & Updates
111
+
106
112
  | URI Scheme | Example | Returns |
107
113
  |------------|---------|---------|
108
114
  | `archnews://latest` | `archnews://latest` | Latest Arch Linux news |
@@ -110,6 +116,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
110
116
  | `archnews://since-update` | `archnews://since-update` | News since last system update |
111
117
 
112
118
  #### Configuration
119
+
113
120
  | URI Scheme | Example | Returns |
114
121
  |------------|---------|---------|
115
122
  | `config://pacman` | `config://pacman` | Parsed pacman.conf configuration |
@@ -120,6 +127,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
120
127
  ### Tools (Executable Functions)
121
128
 
122
129
  #### Package Search & Information
130
+
123
131
  | Tool | Description | Platform |
124
132
  |------|-------------|----------|
125
133
  | `search_archwiki` | Query Arch Wiki with ranked results | Any |
@@ -127,6 +135,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
127
135
  | `get_official_package_info` | Get official package details (hybrid local/remote) | Any |
128
136
 
129
137
  #### Package Lifecycle Management
138
+
130
139
  | Tool | Description | Platform |
131
140
  |------|-------------|----------|
132
141
  | `check_updates_dry_run` | Check for available updates | Arch only |
@@ -135,6 +144,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
135
144
  | `remove_packages_batch` | Remove multiple packages efficiently | Arch only |
136
145
 
137
146
  #### Package Analysis & Maintenance
147
+
138
148
  | Tool | Description | Platform |
139
149
  |------|-------------|----------|
140
150
  | `list_orphan_packages` | Find orphaned packages | Arch only |
@@ -145,6 +155,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
145
155
  | `mark_as_dependency` | Allow package to be orphaned | Arch only |
146
156
 
147
157
  #### Package Organization
158
+
148
159
  | Tool | Description | Platform |
149
160
  |------|-------------|----------|
150
161
  | `find_package_owner` | Find which package owns a file | Arch only |
@@ -154,6 +165,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
154
165
  | `list_group_packages` | Show packages in specific group | Arch only |
155
166
 
156
167
  #### System Monitoring & Diagnostics
168
+
157
169
  | Tool | Description | Platform |
158
170
  |------|-------------|----------|
159
171
  | `get_system_info` | System info (kernel, memory, uptime) | Any |
@@ -164,6 +176,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
164
176
  | `check_database_freshness` | Check package database sync status | Arch only |
165
177
 
166
178
  #### Transaction History & Logs
179
+
167
180
  | Tool | Description | Platform |
168
181
  |------|-------------|----------|
169
182
  | `get_transaction_history` | Recent package transactions (install/upgrade/remove) | Arch only |
@@ -172,6 +185,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
172
185
  | `get_database_sync_history` | Database sync events | Arch only |
173
186
 
174
187
  #### News & Safety Checks
188
+
175
189
  | Tool | Description | Platform |
176
190
  |------|-------------|----------|
177
191
  | `get_latest_news` | Fetch Arch Linux news from RSS | Any |
@@ -179,6 +193,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
179
193
  | `get_news_since_last_update` | News posted since last system update | Arch only |
180
194
 
181
195
  #### Mirror Management
196
+
182
197
  | Tool | Description | Platform |
183
198
  |------|-------------|----------|
184
199
  | `list_active_mirrors` | Show configured mirrors | Arch only |
@@ -187,6 +202,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
187
202
  | `check_mirrorlist_health` | Verify mirror configuration | Arch only |
188
203
 
189
204
  #### Configuration Management
205
+
190
206
  | Tool | Description | Platform |
191
207
  |------|-------------|----------|
192
208
  | `analyze_pacman_conf` | Parse pacman.conf settings | Arch only |
@@ -195,6 +211,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
195
211
  | `get_parallel_downloads_setting` | Get parallel download config | Arch only |
196
212
 
197
213
  #### Security Analysis
214
+
198
215
  | Tool | Description | Platform |
199
216
  |------|-------------|----------|
200
217
  | `analyze_pkgbuild_safety` | Comprehensive PKGBUILD analysis (50+ red flags) | Any |
@@ -214,6 +231,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
214
231
  ## Installation
215
232
 
216
233
  ### Prerequisites
234
+
217
235
  - Python 3.11+
218
236
  - [uv](https://github.com/astral-sh/uv) (recommended) or pip
219
237
 
@@ -222,6 +240,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
222
240
  ```bash
223
241
  uvx arch-ops-server
224
242
  ```
243
+
225
244
  ---
226
245
 
227
246
  ## Configuration
@@ -254,4 +273,5 @@ This project is dual-licensed under your choice of:
254
273
 
255
274
  You may use this software under the terms of either license. When redistributing or modifying this software, you may choose which license to apply.
256
275
 
257
- By contributing to this project, you agree that your contributions will be licensed under both licenses.
276
+ By contributing to this project, you agree that your contributions will be licensed under both licenses.
277
+
@@ -16,17 +16,18 @@ Leverage AI to get output for digestible, structured results that are ready for
16
16
 
17
17
  ## Sneak Peak into what's available
18
18
 
19
- <details open>
20
- <summary>Claude Desktop (no terminal)</summary>
19
+ <details>
20
+
21
+ <summary>Using VS Code Sonnet 3.5 for Safe Installation from AUR</summary>
21
22
 
22
- ![Claude Desktop Demo](assets/claudedesktop_signalcli.gif)
23
+ ![VS Code Demo](assets/vscode_notesnook.gif)
23
24
 
24
25
  </details>
25
26
 
26
27
  <details>
27
- <summary>VS Code (with terminal)</summary>
28
+ <summary> Asking Claude Code Sonnet 4.5 for fedora equivalent command </summary>
28
29
 
29
- ![VS Code Demo](assets/vscode_notesnook.gif)
30
+ ![Equivalent Command Demo](assets/equivalent-commands.gif)
30
31
 
31
32
  </details>
32
33
 
@@ -35,11 +36,13 @@ Leverage AI to get output for digestible, structured results that are ready for
35
36
  Direct access to Arch ecosystem data via custom URI schemes:
36
37
 
37
38
  #### Documentation & Search
39
+
38
40
  | URI Scheme | Example | Returns |
39
41
  |------------|---------|---------|
40
42
  | `archwiki://` | `archwiki://Installation_guide` | Markdown-formatted Wiki page |
41
43
 
42
44
  #### Package Information
45
+
43
46
  | URI Scheme | Example | Returns |
44
47
  |------------|---------|---------|
45
48
  | `archrepo://` | `archrepo://vim` | Official repository package details |
@@ -47,6 +50,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
47
50
  | `aur://*/pkgbuild` | `aur://yay/pkgbuild` | Raw PKGBUILD with safety analysis |
48
51
 
49
52
  #### System Packages (Arch only)
53
+
50
54
  | URI Scheme | Example | Returns |
51
55
  |------------|---------|---------|
52
56
  | `pacman://installed` | `pacman://installed` | System installed packages list |
@@ -57,6 +61,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
57
61
  | `pacman://database/freshness` | `pacman://database/freshness` | Package database sync status |
58
62
 
59
63
  #### System Monitoring & Logs
64
+
60
65
  | URI Scheme | Example | Returns |
61
66
  |------------|---------|---------|
62
67
  | `system://info` | `system://info` | System information (kernel, memory, uptime) |
@@ -67,6 +72,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
67
72
  | `pacman://log/failed` | `pacman://log/failed` | Failed package transactions |
68
73
 
69
74
  #### News & Updates
75
+
70
76
  | URI Scheme | Example | Returns |
71
77
  |------------|---------|---------|
72
78
  | `archnews://latest` | `archnews://latest` | Latest Arch Linux news |
@@ -74,6 +80,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
74
80
  | `archnews://since-update` | `archnews://since-update` | News since last system update |
75
81
 
76
82
  #### Configuration
83
+
77
84
  | URI Scheme | Example | Returns |
78
85
  |------------|---------|---------|
79
86
  | `config://pacman` | `config://pacman` | Parsed pacman.conf configuration |
@@ -84,6 +91,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
84
91
  ### Tools (Executable Functions)
85
92
 
86
93
  #### Package Search & Information
94
+
87
95
  | Tool | Description | Platform |
88
96
  |------|-------------|----------|
89
97
  | `search_archwiki` | Query Arch Wiki with ranked results | Any |
@@ -91,6 +99,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
91
99
  | `get_official_package_info` | Get official package details (hybrid local/remote) | Any |
92
100
 
93
101
  #### Package Lifecycle Management
102
+
94
103
  | Tool | Description | Platform |
95
104
  |------|-------------|----------|
96
105
  | `check_updates_dry_run` | Check for available updates | Arch only |
@@ -99,6 +108,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
99
108
  | `remove_packages_batch` | Remove multiple packages efficiently | Arch only |
100
109
 
101
110
  #### Package Analysis & Maintenance
111
+
102
112
  | Tool | Description | Platform |
103
113
  |------|-------------|----------|
104
114
  | `list_orphan_packages` | Find orphaned packages | Arch only |
@@ -109,6 +119,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
109
119
  | `mark_as_dependency` | Allow package to be orphaned | Arch only |
110
120
 
111
121
  #### Package Organization
122
+
112
123
  | Tool | Description | Platform |
113
124
  |------|-------------|----------|
114
125
  | `find_package_owner` | Find which package owns a file | Arch only |
@@ -118,6 +129,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
118
129
  | `list_group_packages` | Show packages in specific group | Arch only |
119
130
 
120
131
  #### System Monitoring & Diagnostics
132
+
121
133
  | Tool | Description | Platform |
122
134
  |------|-------------|----------|
123
135
  | `get_system_info` | System info (kernel, memory, uptime) | Any |
@@ -128,6 +140,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
128
140
  | `check_database_freshness` | Check package database sync status | Arch only |
129
141
 
130
142
  #### Transaction History & Logs
143
+
131
144
  | Tool | Description | Platform |
132
145
  |------|-------------|----------|
133
146
  | `get_transaction_history` | Recent package transactions (install/upgrade/remove) | Arch only |
@@ -136,6 +149,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
136
149
  | `get_database_sync_history` | Database sync events | Arch only |
137
150
 
138
151
  #### News & Safety Checks
152
+
139
153
  | Tool | Description | Platform |
140
154
  |------|-------------|----------|
141
155
  | `get_latest_news` | Fetch Arch Linux news from RSS | Any |
@@ -143,6 +157,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
143
157
  | `get_news_since_last_update` | News posted since last system update | Arch only |
144
158
 
145
159
  #### Mirror Management
160
+
146
161
  | Tool | Description | Platform |
147
162
  |------|-------------|----------|
148
163
  | `list_active_mirrors` | Show configured mirrors | Arch only |
@@ -151,6 +166,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
151
166
  | `check_mirrorlist_health` | Verify mirror configuration | Arch only |
152
167
 
153
168
  #### Configuration Management
169
+
154
170
  | Tool | Description | Platform |
155
171
  |------|-------------|----------|
156
172
  | `analyze_pacman_conf` | Parse pacman.conf settings | Arch only |
@@ -159,6 +175,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
159
175
  | `get_parallel_downloads_setting` | Get parallel download config | Arch only |
160
176
 
161
177
  #### Security Analysis
178
+
162
179
  | Tool | Description | Platform |
163
180
  |------|-------------|----------|
164
181
  | `analyze_pkgbuild_safety` | Comprehensive PKGBUILD analysis (50+ red flags) | Any |
@@ -178,6 +195,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
178
195
  ## Installation
179
196
 
180
197
  ### Prerequisites
198
+
181
199
  - Python 3.11+
182
200
  - [uv](https://github.com/astral-sh/uv) (recommended) or pip
183
201
 
@@ -186,6 +204,7 @@ Direct access to Arch ecosystem data via custom URI schemes:
186
204
  ```bash
187
205
  uvx arch-ops-server
188
206
  ```
207
+
189
208
  ---
190
209
 
191
210
  ## Configuration
@@ -218,4 +237,5 @@ This project is dual-licensed under your choice of:
218
237
 
219
238
  You may use this software under the terms of either license. When redistributing or modifying this software, you may choose which license to apply.
220
239
 
221
- By contributing to this project, you agree that your contributions will be licensed under both licenses.
240
+ By contributing to this project, you agree that your contributions will be licensed under both licenses.
241
+
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "arch-ops-server"
3
- version = "3.1.0"
3
+ version = "3.3.0"
4
4
  description = "MCP server bridging AI assistants with Arch Linux ecosystem (Wiki, AUR, official repos)"
5
5
  readme = {file = "README.md", content-type = "text/markdown"}
6
6
  license = { text = "GPL-3.0-only OR MIT" }
@@ -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.1.0"
9
+ __version__ = "3.3.0"
10
10
 
11
11
  from .wiki import search_wiki, get_wiki_page, get_wiki_page_as_text
12
12
  from .aur import (
@@ -43,6 +43,7 @@ from .system import (
43
43
  check_failed_services,
44
44
  get_boot_logs
45
45
  )
46
+ from .system_health_check import run_system_health_check
46
47
  from .news import (
47
48
  get_latest_news,
48
49
  check_critical_news,
@@ -147,6 +148,7 @@ __all__ = [
147
148
  "get_pacman_cache_stats",
148
149
  "check_failed_services",
149
150
  "get_boot_logs",
151
+ "run_system_health_check",
150
152
  # News
151
153
  "get_latest_news",
152
154
  "check_critical_news",