nihalxkumar/arch-mcp

nihalxkumar/arch-mcp

от nihalxkumar
MCP сервер для интеграции AI-ассистентов с Arch Linux. Предоставляет доступ к Arch Wiki, AUR и официальным репозиториям, а также инструменты для управления пакетами и мониторинга системы. Полезен для безопасной установки пакетов и изучения Arch.

Arch Linux MCP Server

PyPI Downloads

Disclaimer: Unofficial community project, not affiliated with Arch Linux.

A Model Context Protocol (MCP) server that bridges AI assistants with the Arch Linux ecosystem. Enables intelligent, safe, and efficient access to the Arch Wiki, AUR, and official repositories for AI-assisted Arch Linux usage on Arch and non-Arch systems.

Leverage AI to get digestible, structured results that are ready for follow up questions and actions.

📖 Complete Documentation with Comfy Guides

Sneak Peak into what's available

Using VS Code Sonnet 3.5 for Safe Installation from AUR

VS Code Demo

Asking Claude Code Sonnet 4.5 for fedora equivalent command

Equivalent Command Demo

Resources (URI-based Access)

Direct access to Arch ecosystem data via custom URI schemes:

Documentation & Search
URI Scheme Example Returns
archwiki:// archwiki://Installation_guide Markdown-formatted Wiki page
Package Information
URI Scheme Example Returns
archrepo:// archrepo://vim Official repository package details
aur://*/info aur://yay/info AUR package metadata (votes, maintainer, dates)
aur://*/pkgbuild aur://yay/pkgbuild Raw PKGBUILD with safety analysis
Инструменты были проиндексированы:
analyze_makepkg_confтолько чтение

[CONFIG] Разбирает и анализирует файл makepkg.conf. Возвращает CFLAGS, MAKEFLAGS, настройки сжатия и конфигурацию сборки. Работает только в Arch Linux. Возвращает: CFLAGS, MAKEFLAGS, настройки сжатия и конфигурацию каталога сборки.

Параметры

Без параметров.

analyze_pacman_confтолько чтение

[CONFIG] Разбирает и анализирует pacman.conf с опциональным focus. Возвращает включённые репозитории, игнорируемые пакеты, параллельные загрузки и другие настройки. Работает только в Arch Linux. Примеры: focus='full' (по умолчанию) возвращает все настройки; focus='ignored_packages' возвращает только игнорируемые пакеты с предупреждениями о критических; focus='parallel_downloads' возвращает только настройку параллельных загрузок с рекомендациями по оптимизации.

Параметры
  • focusenum

    Что анализировать: 'full' (все настройки), 'ignored_packages' (только игнорируемые пакеты), 'parallel_downloads' (только настройка параллельных загрузок).

analyze_storageтолько чтение

[MONITORING] Универсальный инструмент анализа хранилища. Действия: disk_usage (проверяет дисковое пространство для критических путей), cache_stats (анализирует кеш пакетов pacman). Работает на любой системе для disk_usage, только на Arch для cache_stats.

Параметры
  • actionenumобязательный

    Тип выполняемого анализа

audit_package_securityтолько чтение

[SECURITY] Комплексный аудит безопасности для пакетов AUR. Действия: pkgbuild_analysis (сканирует PKGBUILD на 50+ красных флагов), metadata_risk (оценивает доверие через голоса/мейнтейнера/возраст). Примеры: audit_package_security(action='pkgbuild_analysis', pkgbuild_content='...'), audit_package_security(action='metadata_risk', package_name='yay'). ⚠️ Всегда проверяйте пакеты AUR на безопасность перед установкой.

Параметры
  • actionenumобязательный

    Тип аудита безопасности

  • package_infoobject

    Предварительно полученные метаданные пакета

  • package_namestring

    Имя пакета для анализа метаданных

  • pkgbuild_contentstring

    Содержимое PKGBUILD для анализа

check_database_freshnessтолько чтение

[MAINTENANCE] Проверяет, когда базы данных пакетов синхронизировались в последний раз. Предупреждает, если базы данных устарели (более 24 часов). Работает только на Arch Linux. Когда использовать: проверьте, устарела ли база данных pacman (более 7 дней) и нуждается ли в 'pacman -Sy'.

Параметры

Без параметров.

check_updates_dry_runтолько чтение

[LIFECYCLE] Проверяет доступные обновления системы без их установки. Работает только на системах Arch Linux. Требует пакет pacman-contrib. Безопасная операция только для чтения, показывающая ожидающие обновления. Когда использовать: перед запуском обновлений системы проверяет, какие пакеты будут обновлены и их размеры.

Параметры

Без параметров.

diagnose_systemтолько чтение

[MONITORING] Унифицированная диагностика системы для systemd-систем. Действия: failed_services (проверяет отказавшие службы systemd), boot_logs (получает последние журналы загрузки). Работает только на systemd-системах.

Параметры
  • actionenumобязательный

    Диагностическое действие для выполнения.

  • linesinteger

    Количество строк лога (для boot_logs). По умолчанию: 100

fetch_newsтолько чтение

[DISCOVERY] Унифицированное получение новостей из Arch Linux. Действия: latest (получить последние новости), critical (найти новости, требующие ручного вмешательства), since_update (новости с момента последнего обновления системы). Работает на любой системе для latest/critical, только на Arch для since_update.

Параметры
  • actionenumобязательный

    Тип новостного запроса

  • limitinteger

    Максимум новостей (для последних/критических). По умолчанию: 10

  • since_datestring

    Дата в формате ISO для фильтрации (по последнему действию)

get_official_package_infoтолько чтение

[DISCOVERY] Получает информацию об официальном пакете репозитория Arch (Core, Extra и т.д.). Использует локальный pacman, если доступен, иначе запрашивает API archlinux.org. Всегда предпочитает официальные пакеты пакетам из AUR, если официальные доступны. Пример запроса: 'python' возвращает версию, зависимости, размер установки и расположение репозитория.

Параметры
  • package_namestringобязательный

    Точное имя пакета

get_system_infoтолько чтение

[МОНИТОРИНГ] Получает полную информацию о системе: версию ядра, архитектуру, имя хоста, время работы и статистику памяти. Работает на любой системе. Возвращает: версию Arch, ядро, архитектуру, версию pacman, количество установленных пакетов, использование диска.

Параметры

Без параметров.

install_package_secure

[LIFECYCLE] Устанавливает пакет с комплексными проверками безопасности. Рабочий процесс: 1. Сначала проверяет официальные репозитории (безопаснее) 2. Для пакетов AUR: получает метаданные, анализирует оценку доверия, получает PKGBUILD, анализирует безопасность 3. Блокирует установку, если найдены критические проблемы безопасности 4. Проверяет наличие AUR-хелпера (paru > yay) 5. Устанавливает с флагом --noconfirm, если все проверки пройдены. Работает только на Arch Linux. Требует доступ sudo и paru/yay для пакетов AUR.

Параметры
  • package_namestringобязательный

    Название пакета для установки (сначала проверяет официальные репозитории, затем AUR)

manage_groupsтолько чтение

[ORGANIZATION] Единый инструмент управления группами. Действия: list_groups (все группы), list_packages_in_group (пакеты в конкретной группе). Примеры: manage_groups(action='list_groups'), manage_groups(action='list_packages_in_group', group_name='base-devel')

Параметры
  • actionenumобязательный

    Операция для выполнения

  • group_namestring

    Название группы (обязательно для list_packages_in_group)

manage_install_reason

[ОБСЛУЖИВАНИЕ] Единый инструмент для управления причинами установки пакетов. Поддерживает три действия: 'list' (перечисляет все явно установленные пакеты), 'mark_explicit' (запрещает удаление пакета как осиротевшего) и 'mark_dependency' (разрешает автоматическое удаление пакета с осиротевшими). Работает только на Arch Linux. Примеры: action='list' → возвращает все установленные пользователем пакеты; action='mark_explicit', package_name='python-pip' → сохраняет пакет даже при изменении зависимостей; action='mark_dependency', package_name='lib32-gcc-libs' → разрешает автоматическое удаление с осиротевшими.

Параметры
  • actionenumобязательный

    Выполняемое действие: 'list' (перечислить явно установленные пакеты), 'mark_explicit' (пометить как установленные пользователем) или 'mark_dependency' (пометить как автоматически удаляемые)

  • package_namestring

    Имя пакета (обязательно для действий mark_explicit и mark_dependency)

manage_orphans

[MAINTENANCE] Унифицированный инструмент для управления осиротевшими пакетами (зависимостями, которые больше не нужны). Поддерживает два действия: 'list' (показать осиротевшие пакеты) и 'remove' (удалить осиротевшие пакеты). Работает только в Arch Linux. Требует sudo для удаления. Примеры: action='list' — показывает все осиротевшие пакеты с указанием занимаемого места; action='remove', dry_run=true — предварительный просмотр того, что будет удалено; action='remove', dry_run=false, exclude=['pkg1'] — удаляет все осиротевшие пакеты, кроме 'pkg1'.

Параметры
  • actionenumобязательный

    Действие для выполнения: «list» (список осиротевших пакетов) или «remove» (удаление осиротевших пакетов)

  • dry_runboolean

    Предпросмотр того, что будет удалено, без фактического удаления (только для действия удаления). По умолчанию: true

  • excludestring[]

    Список имён пакетов, которые нужно исключить из удаления (только для действия удаления).

optimize_mirrorsтолько чтение

[MIRRORS] Управление зеркалами - объединяет 4 операции с зеркалами. Действия: 'status' (список настроенных зеркал), 'test' (тестирование скорости зеркал), 'suggest' (получение оптимальных зеркал с archlinux.org), 'health' (полная проверка работоспособности). Примеры: optimize_mirrors(action='status', auto_test=True) выводит список и тестирует все зеркала; optimize_mirrors(action='suggest', country='US', limit=5) предлагает 5 лучших зеркал в США; optimize_mirrors(action='health') проверяет наличие проблем и даёт рекомендации.

Параметры
  • actionenumобязательный

    Операция для выполнения: 'status' (список зеркал), 'test' (проверка скорости), 'suggest' (получение рекомендаций), 'health' (полная проверка)

  • auto_testboolean

    Если true, проверять зеркала после вывода списка - только action='status'.

  • countrystring

    Необязательный код страны для предложений (например, 'US', 'DE') - только для action='suggest'

  • limitinteger

    Количество зеркал для предложений (по умолчанию 10)

  • mirror_urlstring

    Конкретный URL зеркала для тестирования - только action='test'

query_file_ownershipтолько чтение

[ORGANIZATION] Унифицированный инструмент для запроса отношений владения файлов и пакетов. Поддерживает три режима: 'file_to_package' (находит пакет, которому принадлежит файл), 'package_to_files' (выводит все файлы в пакете с опциональной фильтрацией) и 'filename_search' (ищет файлы по всем пакетам). Работает только на Arch Linux. Примеры: mode='file_to_package', query='/usr/bin/python' → возвращает пакет 'python'; mode='package_to_files', query='systemd', filter_pattern='.service' → выводит все служебные файлы systemd; mode='filename_search', query='.desktop' → находит все пакеты, содержащие .desktop-файлы.

Параметры
  • filter_patternstring

    Необязательный regex-шаблон для фильтрации файлов (используется только в режиме package_to_files, например, '*.conf' или '/etc/')

  • modeenumобязательный

    Режим запроса: 'file_to_package' (найти владельца пакета), 'package_to_files' (перечислить файлы пакета) или 'filename_search' (поиск по пакетам).

  • querystringобязательный

    Строка запроса: путь к файлу для режима file_to_package, имя пакета для режима package_to_files или шаблон имени файла для режима filename_search.

query_package_historyтолько чтение

[HISTORY] Единый инструмент для запроса истории пакетов из логов pacman. Поддерживает четыре типа запросов: 'all' (последние транзакции), 'package' (история установки/обновления конкретного пакета), 'failures' (неудачные транзакции) и 'sync' (история синхронизации базы данных). Работает только на Arch Linux. Примеры: query_type='all', limit=50 — последние транзакции; query_type='package', package_name='docker' — когда был установлен docker; query_type='failures' — поиск ошибок; query_type='sync', limit=20 — история синхронизации.

Параметры
  • limitinteger

    Максимальное количество возвращаемых результатов (по умолчанию: 10).

  • package_namestring

    Имя пакета (требуется, если query_type='package')

  • query_typeenumобязательный

    Тип запроса: «all» (недавние транзакции), «package» (история пакетов), «failures» (неудачные транзакции) или «sync» (история синхронизации базы данных).

remove_packages

[LIFECYCLE] Унифицированный инструмент для удаления пакетов (одного или нескольких). Принимает либо одно имя пакета, либо список пакетов. Поддерживает удаление с зависимостями и принудительное удаление. Работает только в Arch Linux. Требует доступа sudo. Примеры: packages='firefox', remove_dependencies=true → удаляет Firefox вместе с зависимостями; packages=['pkg1', 'pkg2', 'pkg3'] → массовое удаление нескольких пакетов; packages='lib', force=true → принудительное удаление с игнорированием зависимостей (опасно!).

Параметры
  • forceboolean

    Принудительное удаление с игнорированием зависимостей (pacman -Rdd). Используйте с осторожностью! По умолчанию: false

  • packagesstring | string[]обязательный

    Имя пакета (строка) или список имен пакетов (массив) для удаления.

  • remove_dependenciesboolean

    Удаляет пакеты и их зависимости (pacman -Rs). По умолчанию: false.

run_system_health_checkтолько чтение

[МОНИТОРИНГ] Выполняет всестороннюю проверку работоспособности системы. Объединяет несколько диагностик, чтобы предоставить полный обзор состояния системы, включая дисковое пространство, отказавшие службы, обновления, осиротевшие пакеты и другое. Работает только в Arch Linux. Всесторонняя проверка: доступные обновления, дисковое пространство, отказавшие службы, свежесть базы данных, осиротевшие пакеты и критические новости.

Параметры

Без параметров.

search_archwikiтолько чтение

[DISCOVERY] Ищет документацию в Arch Wiki. Возвращает список подходящих страниц с заголовками, фрагментами и URL. Отдаёт предпочтение результатам из Wiki, а не общим веб-знаниям для проблем, специфичных для Arch. Пример: выполните поиск 'pacman hooks', чтобы найти документацию по созданию пользовательских хуков pacman.

Параметры
  • limitinteger

    Максимальное количество результатов (по умолчанию: 50)

  • querystringобязательный

    Поисковый запрос (ключевые слова или фраза)

search_aurтолько чтение

[DISCOVERY] Ищет пакеты в Arch User Repository (AUR) с умной сортировкой. ⚠️ ПРЕДУПРЕЖДЕНИЕ: Пакеты AUR создаются пользователями и могут быть небезопасными. Возвращает информацию о пакетах, включая количество голосов, мейнтейнера и дату последнего обновления. Сначала всегда проверяйте официальные репозитории с помощью get_official_package_info. Пример использования: перед установкой 'spotify' выполните поиск в AUR, чтобы сравнить пакеты, такие как 'spotify', 'spotify-launcher' и 'spotify-adblock'.

Параметры
  • limitinteger

    Максимальное количество результатов (по умолчанию: 50)

  • querystringобязательный

    Поисковый запрос пакета

  • sort_byenum

    Метод сортировки: «релевантность» (по умолчанию), «голоса», «популярность» или «изменено»

verify_package_integrityтолько чтение

[ТЕХОБСЛУЖИВАНИЕ] Проверяет целостность установленных файлов пакетов. Обнаруживает изменённые, отсутствующие или повреждённые файлы. Работает только в Arch Linux. Когда использовать: После сбоя системы или ошибок диска, проверяйте, что файлы пакета 'linux' соответствуют ожидаемым контрольным суммам.

Параметры
  • package_namestringобязательный

    Название пакета для проверки

  • thoroughboolean

    Выполняет тщательную проверку, включая атрибуты файлов. По умолчанию: false

Похожие MCP-сервера

gjenkins20/webmin-mcp-server

gjenkins20/webmin-mcp-server

MCP сервер для Linux-администрирования через Webmin: мониторинг, управление сервисами, пользователями, файлами, безопасностью и базами данных. Идеальный инструмент для интеграции ИИ-ассистентов с серверной инфраструктурой.

Python6
rrmistry/tilt-mcp

rrmistry/tilt-mcp

Интегрирует Tilt с LLM-ассистентами (Claude, Copilot). Предоставляет доступ к ресурсам, логам и статусу сервисов, а также управляет сборкой и мониторингом. Идеально для разработчиков, автоматизирую...

Python6
Thezenmonster/agentscore-mcp-server

Thezenmonster/agentscore-mcp-server

MCP сервер для оценки безопасности пакетов: сканирует зависимости, выносит вердикты доверия, проверяет уязвимости и настраивает CI-политику. Восемь инструментов без API-ключа. Помогает разработчикам принимать решения о безопасности MCP.

TypeScript1
edgedelta/edgedelta-mcp-server

edgedelta/edgedelta-mcp-server

MCP сервер для интеграции с Edge Delta API: автоматизирует сбор и анализ observability данных, а также создание AI-инструментов на платформе. Полезен разработчикам для взаимодействия с данными мониторинга.

Go9
kastelldev/kastell

kastelldev/kastell

Kastell — MCP-сервер для управления серверами: аудит безопасности, автоматическое исправление и мониторинг. Включает встроенного AI-агента для Claude и Cursor. Выполняет 470+ проверок, поддерживает...

TypeScript60
Acacian/aegis

Acacian/aegis

Agent-Aegis — единый слой управления (governance) для AI-агентов: блокирует prompt-инъекции, маскирует PII, применяет политики и ведет аудит. Работает с 12 фреймворками, включая MCP. Установка `pip install agent-aegis` и одна строка кода включают защиту.

Python15
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин