MCP SysOperator

by tarnover

Integrations

  • Allows execution of Ansible playbooks with parameters, inventory management, syntax validation, and task previews for infrastructure automation

  • Supports running on Linux systems with configuration file integration for the Claude app

  • Supports running on macOS systems with configuration file integration for the Claude app

MCP SysOperator

Сервер Model Context Protocol (MCP) для операций Infrastructure as Code. Этот сервер позволяет помощникам ИИ взаимодействовать с Ansible и Terraform, выполнять сценарии и планы Terraform, управлять облачными ресурсами и выполнять другие операции по инфраструктуре напрямую.
(Проект ранее был известен как mcp-ansible )

Примеры тестовых проектов

Весь код в этих папках был сгенерирован Cline и mcp-sysoperator

  • AWS LAMP Stack — весь код Ansible для развертывания примера стека LAMP в AWS
  • AWS Terraform LAMP — код Terraform и Ansible для развертывания стека LAMP

Весь код был сгенерирован с использованием Claude 3.7 Sonnet (через OpenRouter), Cline и SysOperator.

Функции

  • Запуск Ansible Playbooks : выполнение Ansible Playbooks с поддержкой таких параметров, как инвентарь, дополнительные переменные, теги и ограничения.
  • Список инвентаря : просмотр хостов и групп из файла инвентаря Ansible
  • Проверка синтаксиса : проверка синтаксиса Ansible playbook без выполнения
  • Список задач : предварительный просмотр задач, которые будут выполнены в соответствии с планом действий.
  • Доступ к инвентарю по умолчанию : доступ к файлу инвентаря Ansible по умолчанию через API ресурсов.
  • Интеграция с AWS : управление ресурсами AWS (EC2, S3, VPC, CloudFormation и т. д.)
  • Поддержка Terraform : выполнение команд Terraform (инициализация, планирование, применение, уничтожение, вывод и т. д.)
  • Интеграция tflocal : тестирование конфигураций Terraform с LocalStack для разработки локального облака
  • Поддержка LocalStack : локальное тестирование операций AWS с использованием LocalStack без реальных учетных данных AWS.

Требования

  • Node.js 18 или выше
  • npm или пряжа
  • Ansible установлен и находится в PATH
  • @modelcontextprotocol/sdk (устанавливается автоматически)
  • Для операций AWS: AWS CLI и действительные учетные данные
  • Для LocalStack: LocalStack установлен и запущен, awslocal CLI

Установка

1. Клонировать репозиторий

git clone https://github.com/tarnover/mcp-sysoperator.git cd mcp-sysoperator

2. Установка зависимостей

npm install

3. Сборка сервера

npm run build

4. Настройте параметры MCP

Добавьте сервер Ansible MCP в файл конфигурации настроек MCP.

Для VSCode с расширением Claude:

  • Отредактируйте файл ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

Для приложения Claude Desktop:

  • macOS: Измените ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: Измените %APPDATA%\Claude\claude_desktop_config.json
  • Linux: Измените ~/.config/Claude/claude_desktop_config.json

Добавьте в раздел mcpServers следующее:

{ "mcpServers": { "sysoperator": { "command": "node", "args": ["/absolute/path/to/mcp-sysoperator/build/index.js"], "env": {} } } }

Обязательно замените /absolute/path/to/mcp-sysoperator на фактический путь к вашей установке.

Примеры использования

После установки и настройки сервер MCP предоставляет следующие инструменты помощнику на основе искусственного интеллекта:

1. Запустите план действий

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>run_playbook</tool_name> <arguments> { "playbook": "/path/to/your/playbook.yml", "inventory": "/path/to/inventory.ini", "extraVars": { "var1": "value1", "var2": "value2" }, "tags": "setup,configure", "limit": "webservers" } </arguments> </use_mcp_tool>

2. Список инвентаря

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>list_inventory</tool_name> <arguments> { "inventory": "/path/to/inventory.ini" } </arguments> </use_mcp_tool>

3. Проверьте синтаксис Playbook

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>check_syntax</tool_name> <arguments> { "playbook": "/path/to/your/playbook.yml" } </arguments> </use_mcp_tool>

4. Перечислите задачи в книге действий

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>list_tasks</tool_name> <arguments> { "playbook": "/path/to/your/playbook.yml" } </arguments> </use_mcp_tool>

5. Доступ к ресурсу инвентаря по умолчанию

<access_mcp_resource> <server_name>sysoperator</server_name> <uri>sysoperator://inventory/default</uri> </access_mcp_resource>

6. Операции AWS S3

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>aws_s3</tool_name> <arguments> { "action": "list_buckets", "region": "us-east-1" } </arguments> </use_mcp_tool>

7. Инициализация и план Terraform

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>terraform</tool_name> <arguments> { "action": "init", "workingDir": "/path/to/terraform/project" } </arguments> </use_mcp_tool> <use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>terraform</tool_name> <arguments> { "action": "plan", "workingDir": "/path/to/terraform/project", "vars": { "instance_type": "t2.micro", "region": "us-west-2" } } </arguments> </use_mcp_tool>

8. Терраформировать применить

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>terraform</tool_name> <arguments> { "action": "apply", "workingDir": "/path/to/terraform/project", "autoApprove": true, "vars": { "instance_type": "t2.micro", "region": "us-west-2" } } </arguments> </use_mcp_tool>

9. Терраформирование с LocalStack (tflocal)

<use_mcp_tool> <server_name>sysoperator</server_name> <tool_name>terraform</tool_name> <arguments> { "action": "apply", "workingDir": "/path/to/terraform/project", "useLocalstack": true, "autoApprove": true, "vars": { "instance_type": "t2.micro", "region": "us-west-2" } } </arguments> </use_mcp_tool>

Интеграция LocalStack

Этот проект включает интеграцию с LocalStack для тестирования операций AWS локально без реальных учетных данных AWS. Интеграция с LocalStack позволяет:

  1. Тестирование сценариев Ansible, использующих сервисы AWS локально
  2. Разрабатывайте и тестируйте операции AWS без дополнительных затрат на AWS
  3. Запускайте тесты, не требуя реальных учетных данных AWS
  4. Проверьте код своей инфраструктуры перед развертыванием в реальной среде AWS

Использование LocalStack

Подробные инструкции по использованию интеграции LocalStack см. в файле LocalStack README .

Быстрый старт:

# Install LocalStack and awslocal CLI pip install localstack awscli-local # Start LocalStack localstack start # Run the sample playbook node localstack/run_sample_playbook.mjs

Разработка

Структура проекта

mcp-sysoperator/ ├── src/ │ ├── index.ts # Main entry point │ └── ansible-mcp-server/ # Will be renamed in filesystem in future updates │ ├── index.ts # MCP SysOperator server implementation │ ├── common/ # Common utilities and types │ │ ├── errors.ts # Error definitions │ │ ├── types.ts # Type and schema definitions │ │ ├── utils.ts # Utility functions │ │ └── version.ts # Version information │ └── operations/ # Operation handlers │ ├── ad_hoc.ts # Ansible ad-hoc commands │ ├── aws.ts # AWS operations │ ├── inventory.ts # Ansible inventory operations │ ├── playbooks.ts # Ansible playbook operations │ ├── terraform.ts # Terraform operations │ └── vault.ts # Ansible vault operations ├── localstack/ # LocalStack integration │ ├── README.md # LocalStack documentation │ ├── sample_playbook.yml # Sample playbook for LocalStack │ ├── inventory.ini # Sample inventory for LocalStack │ ├── run_sample_playbook.mjs # Script to run sample playbook │ └── utils.localstack.ts # Modified utils for LocalStack ├── package.json # Project configuration and dependencies ├── tsconfig.json # TypeScript configuration └── README.md # Documentation

Добавление новых функций

Чтобы добавить новые возможности на сервер MCP:

  1. Измените src/ansible-mcp-server/index.ts (в будущем: src/sysoperator/index.ts )
  2. Добавьте новый инструмент в метод setupToolHandlers
  3. Реализуйте функцию обработчика для вашего инструмента в соответствующем файле операций.
  4. Добавьте определение схемы в common/types.ts
  5. Пересобрать с помощью npm run build

⚠️ Отказ от ответственности

SysOperator в настоящее время находится в стадии активной разработки и проходит обширное тестирование. В настоящее время не рекомендуется использовать его в производственных средах. В программном обеспечении могут возникнуть критические изменения, неполные функции или неожиданное поведение.

Используйте на свой страх и риск.

Лицензия

Лицензия MIT — подробности см. в разделе ЛИЦЕНЗИЯ

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Сервер Model Context Protocol, позволяющий помощникам на базе ИИ напрямую взаимодействовать с инструментами инфраструктуры, такими как Ansible и Terraform, для выполнения сценариев, управления облачными ресурсами и выполнения других инфраструктурных операций.

  1. Примеры тестовых проектов
    1. Функции
      1. Требования
        1. Установка
          1. 1. Клонировать репозиторий
          2. 2. Установка зависимостей
          3. 3. Сборка сервера
          4. 4. Настройте параметры MCP
        2. Примеры использования
          1. 1. Запустите план действий
          2. 2. Список инвентаря
          3. 3. Проверьте синтаксис Playbook
          4. 4. Перечислите задачи в книге действий
          5. 5. Доступ к ресурсу инвентаря по умолчанию
          6. 6. Операции AWS S3
          7. 7. Инициализация и план Terraform
          8. 8. Терраформировать применить
          9. 9. Терраформирование с LocalStack (tflocal)
        3. Интеграция LocalStack
          1. Использование LocalStack
        4. Разработка
          1. Структура проекта
          2. Добавление новых функций
          3. ⚠️ Отказ от ответственности
        5. Лицензия

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that enables AI assistants to interact with Azure DevOps resources including projects, work items, repositories, pull requests, branches, and pipelines through a standardized protocol.
            Last updated -
            15
            602
            131
            TypeScript
            MIT License
            • Linux
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that exposes Cloudinary Upload & Admin API methods as tools by AI assistants. This integration allows AI systems to trigger and interact with your Cloudinary cloud.
            Last updated -
            5
            506
            JavaScript
            MIT License
          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.
            Last updated -
            1
            TypeScript
          • -
            security
            F
            license
            -
            quality
            A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
            Last updated -
            16
            TypeScript

          View all related MCP servers

          ID: 7ov3ozxt9a