Arch Linux MCP服务器

一个连接AI助手与Arch Linux生态系统的MCP服务器,提供对Arch Wiki、AUR和官方仓库的智能、安全、高效访问。

  • by nihalxkumar
  • Python
  • 本地部署
  • 61 星标
  • 更新于
在 GitHub 查看 nihalxkumar/arch-mcp

使用说明

Arch Linux MCP服务器

免责声明: 非官方社区项目,与Arch Linux无关。

A. 模型上下文协议 (MCP)服务器,将AI助手与Arch Linux生态系统连接起来。支持智能、安全和高效地访问Arch Wiki、AUR和官方存储库,以便在Arch和非Arch系统上使用人工智能辅助的Arch Linux。

利用人工智能获得易于理解、结构化的结果,为后续问题和行动做好准备。

📖 使用Comfy指南完成文档

偷偷潜入Peak的可用资源

Using VS Code Sonnet 3.5 for Safe Installation from AUR
Asking Claude Code Sonnet 4.5 for fedora equivalent command

资源(基于URI的访问)

通过自定义URI方案直接访问Arch生态系统数据:

文档和搜索

URI方案 示例 返回
archwiki:// archwiki://Installation_guide Markdown格式的Wiki页面

包裹信息

URI方案 示例 返回
archrepo:// archrepo://vim 官方存储库包详细信息
aur://*/info aur://yay/info AUR包元数据(投票、维护者、日期)
aur://*/pkgbuild aur://yay/pkgbuild 带安全分析的原始PKGBUILD

系统包(仅限Arch)

URI方案 示例 返回
pacman://installed pacman://installed 系统安装包列表
pacman://orphans pacman://orphans 孤立包裹
pacman://explicit pacman://explicit 明确安装的软件包
pacman://groups pacman://groups 所有包组
pacman://group/* pacman://group/base-devel 特定组中的包
pacman://database/freshness pacman://database/freshness 包数据库同步状态

系统监控和日志

URI方案 示例 返回
system://info system://info 系统信息(内核、内存、正常运行时间)
system://disk system://disk 磁盘空间使用统计
system://services/failed system://services/failed 失败的systemd服务
system://logs/boot system://logs/boot 最近的启动日志
pacman://log/recent pacman://log/recent 最近的包裹交易
pacman://log/failed pacman://log/failed 包裹交易失败

新闻与更新

URI方案 示例 返回
archnews://latest archnews://latest 最新Arch Linux新闻
archnews://critical archnews://critical 需要人工干预的关键新闻
archnews://since-update archnews://since-update 自上次系统更新以来的新闻

配置

URI方案 示例 返回
config://pacman config://pacman 解析的pacman.conf配置
config://makepkg config://makepkg 解析makepkg.conf配置
mirrors://active mirrors://active 当前配置的镜像
mirrors://health mirrors://health 镜像配置运行状况

工具(可执行函数)

包裹搜索和信息

工具 描述 平台
search_archwiki 使用排名结果查询Arch Wiki 任意
search_aur 搜索AUR(相关性/投票数/受欢迎程度/修改) 任何
get_official_package_info 获取官方套餐详细信息(混合本地/远程) 任何

软件包生命周期管理

工具 描述 平台
check_updates_dry_run 检查可用更新 仅限Arch
install_package_secure 安装时进行安全检查(阻止恶意软件包) 仅限Arch
remove_packages 删除包-接受单个包名称或列表(带deps,强制) 仅Arch

包装分析和维护

工具 描述 平台
manage_orphans 管理孤立包(2个操作:列出孤立包,删除孤立包)。为了安全起见,始终先以干运行模式运行。 仅限拱门
verify_package_integrity 检查文件完整性(已修改/丢失的文件) 仅限Arch
manage_install_reason 管理安装原因(3个操作:列出显式包,标记为显式/依赖项) 仅限Arch

包装组织

工具 描述 平台
query_file_ownership 统一的文件包所有权查询(3种模式:文件→包裹,包裹→文件,文件名搜索) 仅限Arch
list_package_groups 列出所有组(base、base-devel等) 仅限Arch
list_group_packages 显示特定组中的包 仅限Arch

系统监测和诊断

工具 描述 平台
get_system_info 系统信息(内核、内存、正常运行时间) 任何
check_disk_space 带有警告的磁盘使用情况 任何
get_pacman_cache_stats 包缓存大小和年龄 仅限Arch
check_failed_services 查找失败的systemd服务 systemd
get_boot_logs 检索journalctl启动日志 systemd
check_database_freshness 检查包数据库同步状态 仅限Arch

交易历史和日志

工具 描述 平台
query_package_history 用于从pacman日志中查询包历史的统一工具(4种查询类型)。示例: query_type='all' 显示最近的交易; query_type='package', package_name='docker' 显示docker的安装/升级时间; query_type='failures' 显示失败的操作; query_type='sync' 显示数据库同步历史记录。 仅限拱门

新闻与安全检查

工具 描述 平台
get_latest_news 从RSS获取Arch Linux新闻 任何
check_critical_news 查找关键新闻(需要人工干预) 任何
get_news_since_last_update 自上次系统更新以来发布的新闻 仅限Arch

镜像管理

工具 描述 平台
optimize_mirrors 智能镜像管理(4个操作:状态、测试、建议、运行状况)。示例: optimize_mirrors(action='status', auto_test=True) 列出并测试所有镜像; optimize_mirrors(action='suggest', country='US', limit=5) 建议美国前五大镜子; optimize_mirrors(action='health') 检查问题并给出建议。 拱形/任意

配置管理

工具 描述 平台
analyze_pacman_conf 使用可选焦点解析pacman.conf设置。示例: focus='full' (默认)返回所有设置; focus='ignored_packages' 仅返回忽略的包,并对关键包发出警告; focus='parallel_downloads' 仅返回带有优化建议的并行下载设置。 仅限拱门
analyze_makepkg_conf 解析makepkg.conf设置(CFLAGS、MAKEFLAGS、构建配置) 仅限Arch

证券分析

工具 描述 平台
analyze_pkgbuild_safety 全面的PKGBUILD分析(50+危险信号) 任何
analyze_package_metadata_risk 套餐信任评分(投票、维护者、年龄) 任何

提示(引导式工作流)

提示 目的 工作流程
troubleshoot_issue 诊断系统错误 提取关键字→ 搜索Wiki→ 情境感知建议
audit_aur_package 安装前安全审计 获取元数据→ 分析PKGBUILD→ 安全建议
analyze_dependencies 安装计划 检查仓库→ 映射依赖关系→ 建议安装顺序
safe_system_update 安全更新工作流程 查看关键新闻→ 验证磁盘空间→ 列表更新→ 检查服务→ 建议

安装

先决条件

快速安装 uvx

uvx arch-ops-server

配置

Claude/Cursor/任何支持STDIO传输的MCP客户端

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

开放代码:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "arch-linux": {
      "type": "local",
      "command": ["uvx", "arch-ops-server"]
    }
  }
}

贡献

非常感谢您的贡献。请随时提交拉取请求或打开问题,帮助每个人做得更好。

贡献指南

许可证

此项目根据您的选择获得双重许可:

您可以根据任一许可证的条款使用此软件。在重新分发或修改此软件时,您可以选择应用哪个许可证。

通过为此项目做出贡献,您同意您的贡献将在两个许可证下获得许可。