Skip to main content
Glama

MCP SysOperator

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

Демонстрационные проекты

Весь код в демонстрациях сгенерирован с использованием Claude 3.7 Sonnet (через OpenRouter), Cline и SysOperator

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

  • AWS Terraform LAMP — код Terraform и Ansible для ответа на стек LAMP

Related MCP server: Ansible MCP Server

Функции

  • Запуск 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 или выше

  • нпм или пряжа

  • 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 — подробности см. в разделе ЛИЦЕНЗИЯ

Install Server
A
license - permissive license
C
quality
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    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
    54
    2
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    A powerful Model Context Protocol server that enables AI assistants to manage Coolify infrastructure through natural language, supporting application deployment, database management, resource monitoring, and DevOps automation.
    Last updated
    19
  • A
    license
    C
    quality
    -
    maintenance
    An MCP server for Infrastructure as Code that enables AI assistants to manage cloud resources through Ansible and Terraform operations. It supports executing playbooks, managing AWS services, and running Terraform commands with optional LocalStack integration.
    Last updated
    18

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tarnover/mcp-sysoperator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server