Skip to main content
Glama

AI Ops MCP

English | 简体中文

AI Ops MCP — это локальный брокер учётных данных SSH и stdio MCP-сервер. Он позволяет ИИ-клиентам выполнять операции SSH и SFTP через стабильные псевдонимы server_id, не получая при этом пароли, содержимое закрытых ключей или парольные фразы.

[!WARNING] AI Ops MCP защищает границу аутентификации; он не классифицирует, не блокирует и не разрешает удалённые команды. Каждая команда выполняется с правами настроенной SSH-учётной записи. Используйте выделенные учётные записи с минимальными привилегиями и серверные средства контроля.

Версия 0.1.0 распространяется только из исходного кода. Этот проект не публикуется в npm.

Возможности

  • Интерактивная регистрация серверов и закрепление доверенных отпечатков Host key

  • Аутентификация через SSH Agent, пароль из системного хранилища учётных данных и закрытые ключи

  • Интеграция с Windows Credential Manager, macOS Keychain и Linux Secret Service

  • Пул соединений с ограничениями параллелизма на сервер и глобально

  • Удалённые команды, загрузка, скачивание и просмотр списков каталогов

  • Границы локальных и удалённых путей к файлам, тайм-ауты, лимиты вывода и размера файлов

  • Структурированные журналы аудита со стабильными публичными кодами ошибок

Related MCP server: Simple SSH MCP Server

Модель безопасности

Пароли и парольные фразы закрытых ключей запрашиваются через скрытые подсказки и хранятся в системном хранилище учётных данных. Несекретные метаданные соединения хранятся в локальном приватном конфигурационном файле. Закрытые ключи остаются файлами на локальной машине и читаются только при подключении. Отпечатки Host key подтверждаются при регистрации, а последующие изменения отклоняются.

Интерфейс MCP не может перечислять или извлекать учётные данные. По умолчанию локальные файловые операции ограничены рабочей директорией процесса MCP; дополнительные локальные и удалённые корневые каталоги можно настроить для каждого сервера. Журналы аудита могут содержать команды и пути, поэтому защищайте их как операционные данные. См. SECURITY.md для отчётов об уязвимостях.

Эта модель не защищает от компрометации локальной учётной записи пользователя, вредоносного удалённого вывода, взломанного удалённого хоста или разрушительных команд, выполненных с правами настроенной SSH-учётной записи.

Требования

  • Node.js 22 или 24

  • Git и доступный SSH-сервер

  • Подтверждённый отпечаток Host key SSH

  • Один поддерживаемый метод аутентификации

  • Для пользователей Linux с паролем/парольной фразой: запущенный Secret Service provider

Windows Credential Manager проверен на Windows 10 с Node.js 24. macOS Keychain и Linux Secret Service требуют более широкого тестирования на реальных устройствах.

Установка и сборка

git clone https://github.com/Finn-Aigc/ai-ops-mcp.git
cd ai-ops-mcp
npm ci
npm run typecheck
npm test
npm run build
npm link
ai-ops doctor

npm link предоставляет ai-ops и ai-ops-mcp локально. Запустите npm run dev -- --help во время разработки CLI или npm start -- --help после сборки.

Аутентификация

SSH Agent

Загрузите ключ в системный Agent, затем выполните ai-ops add --auth agent или импортируйте действующие метаданные OpenSSH:

ai-ops import-ssh my-host-alias

Пароль из системного хранилища учётных данных

ai-ops add --id dev-box --host ssh.example.com --user deploy --auth password

Пароль запрашивается интерактивно и не может быть передан через аргументы командной строки.

Файл закрытого ключа

ai-ops add --id dev-key --host ssh.example.com --user deploy \
  --auth private-key --key <path-to-private-key>

Ключ остаётся по указанному пути. Если он зашифрован, парольная фраза запрашивается интерактивно и сохраняется в системном хранилище учётных данных.

Справочник CLI

Команда

Назначение

ai-ops add

Добавить сервер и подтвердить его Host key

ai-ops import-ssh <alias>

Импортировать действующие метаданные OpenSSH для аутентификации через Agent

ai-ops list [--json]

Список псевдонимов и статус готовности учётных данных

ai-ops show <id>

Показать несекретные метаданные сервера

ai-ops test <id>

Проверить соединение

ai-ops edit <id>

Обновить метаданные, корневые каталоги или сохранённые учётные данные

ai-ops remove <id>

Удалить метаданные и сохранённые учётные данные

ai-ops trust-host <id>

Заменить подтверждённый отпечаток Host key

ai-ops doctor [--json]

Диагностика конфигурации, хранилища ключей и Agent

ai-ops logs

Чтение отфильтрованных событий аудита

Используйте ai-ops <команда> --help для всех параметров. Никогда не автоматизируйте ввод пароля или парольной фразы через аргументы командной строки.

Конфигурация MCP-клиента

После npm link настройте любой stdio MCP-клиент с:

{
  "mcpServers": {
    "ai-ops": {
      "command": "ai-ops-mcp"
    }
  }
}

Для разработки без связывания соберите проект и используйте node с "<абсолютный-путь-к-репозиторию>/dist/mcp-entry.js" в качестве единственного аргумента.

Инструменты MCP

Инструмент

Назначение

list_servers

Список настроенных псевдонимов и статус готовности без учётных данных

test_connection

Проверить один server_id

execute_command

Выполнить произвольную удалённую команду

upload_file

Загрузить файл из разрешённого локального корневого каталога

download_file

Скачать файл в разрешённый локальный корневой каталог

list_dir

Список содержимого разрешённого удалённого каталога

По умолчанию: 30 секунд на команду, 10 МиБ совокупного вывода, 100 МиБ на файл, четыре параллельные операции на сервер и 16 глобально. Серверные настройки могут снижать или изменять эти лимиты.

Устранение неполадок

  • Сначала выполните ai-ops doctor для диагностики keyring, конфигурации и Agent.

  • HOST_KEY_MISMATCH: проверьте новый отпечаток вне канала, затем выполните ai-ops trust-host <id>.

  • AGENT_UNAVAILABLE: запустите SSH Agent и загрузите ключ с помощью ssh-add.

  • CREDENTIAL_STORE_UNAVAILABLE: разблокируйте или запустите системное хранилище учётных данных платформы.

  • LOCAL_PATH_NOT_ALLOWED или REMOTE_PATH_NOT_ALLOWED: обновите корневые каталоги с помощью ai-ops edit <id> --allowed-local ... --allowed-remote ....

  • Процесс MCP завершается сразу: выполните npm run build и подтвердите настроенный исполняемый файл или абсолютный путь входа.

Локальные живые E2E-тесты

Живые тесты намеренно не включены в GitHub Actions. Используйте изолированный домашний каталог и выделенную учётную запись сервера с минимальными привилегиями, которая может создавать временные файлы в /tmp и обновлять собственный ~/.ssh/authorized_keys:

$env:AI_OPS_HOME = "<isolated-ai-ops-home>"
$env:AI_OPS_E2E_SERVER_ID = "test-server"
npm run build
npm run test:e2e:core
npm run test:e2e:mcp
npm run test:e2e:auth
npm run test:e2e:agent
npm run test:e2e:cleanup

Каждый тест использует уникальные ресурсы и очищает их в блоках finally. Никогда не используйте производственные учётные данные или конфигурацию. См. CONTRIBUTING.md, docs/PRD.md и docs/IMPLEMENTATION_PLAN.md.

Лицензия

MIT © 2026 участники AI Ops MCP.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    SSH automation MCP server that enables Claude and ChatGPT to execute commands, manage files, install packages, and control services on remote servers over SSH — supporting password, key, and agent authentication.
    33
    1,267 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI assistants full SSH/SFTP remote operations — session management, command execution, interactive shells, file transfers, port forwarding, and system diagnostics.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Zero-config SSH/SFTP MCP server that lets an LLM client open temporary SSH/SFTP sessions to remote hosts, run commands, and upload/download files without holding any pre-baked credentials.
    17
    4 npm
    2
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Local AI ops broker that keeps SSH secrets on your machine, exposes intent-level MCP tools to agents, and requires approval via a loopback Web UI for dangerous writes.
    14
    1 npm
    MIT