MCP SysOperator
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-sysoperator2. Установка зависимостей
npm install3. Сборка сервера
npm run build4. Настройте параметры 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.jsonWindows: Измените
%APPDATA%\Claude\claude_desktop_config.jsonLinux: Измените
~/.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 позволяет:
Тестирование сценариев Ansible, использующих сервисы AWS локально
Разрабатывайте и тестируйте операции AWS без дополнительных затрат на AWS
Запускайте тесты, не требуя реальных учетных данных AWS
Проверьте код своей инфраструктуры перед развертыванием в реальном 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:
Измените
src/ansible-mcp-server/index.ts(в будущем:src/sysoperator/index.ts)Добавьте новый инструмент в метод
setupToolHandlersРеализуйте функцию обработчика для вашего инструмента в соответствующем файле операций.
Добавьте определение схемы в
common/types.tsПересобрать с помощью
npm run build
⚠️ Отказ от ответственности
SysOperator в настоящее время находится в стадии активной разработки и проходит обширное тестирование. В настоящее время не рекомендуется использовать его в производственных средах. В программном обеспечении могут возникнуть критические изменения, неполные функции или неожиданное поведение.
Используйте на свой страх и риск.
Лицензия
Лицензия MIT — подробности см. в разделе ЛИЦЕНЗИЯ
Maintenance
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
- Alicense-qualityDmaintenanceA 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 updated542MIT
- AlicenseCqualityFmaintenanceThis Model Context Protocol server enables AI assistants to interact directly with Ansible, allowing them to execute playbooks, manage inventory, check syntax, and perform other Ansible operations.Last updated1826MIT
- Flicense-qualityDmaintenanceA 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 updated19
- AlicenseCquality-maintenanceAn 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 updated18
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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