Skip to main content
Glama

Ansible MCP Server

by tarnover

MCP システムオペレーター

Infrastructure as Code 運用のための Model Context Protocol (MCP) サーバー。このサーバーにより、AI アシスタントは Ansible および Terraform と連携し、プレイブックや Terraform プランを実行したり、クラウドリソースを管理したり、その他のインフラストラクチャ操作を直接実行したりできるようになります。
(以前はmcp-ansibleとして知られていたプロジェクト)

デモプロジェクト

デモのすべてのコードは、Claude 3.7 Sonnet (OpenRouter経由)、Cline、およびSysOperatorを使用して生成されています。

  • AWS LAMP スタック- AWS でサンプル LAMP スタックをデプロイするためのすべての Ansible コード
  • AWS Terraform LAMP - LAMPスタックに応答するためのTerraformとAnsibleコード

特徴

  • Ansible プレイブックの実行: インベントリ、追加変数、タグ、制限などのパラメータをサポートした Ansible プレイブックを実行します。
  • インベントリの一覧表示: Ansible インベントリ ファイルからホストとグループを表示します。
  • 構文チェック: 実行せずにAnsibleプレイブックの構文を検証する
  • タスクの一覧: プレイブックによって実行されるタスクをプレビューします
  • デフォルトのインベントリにアクセス: リソース API 経由でデフォルトの Ansible インベントリ ファイルにアクセスします。
  • AWS 統合: AWS リソース (EC2、S3、VPC、CloudFormation など) を管理します
  • Terraform サポート: Terraform コマンド (init、plan、apply、destroy、output など) を実行します。
  • tflocal 統合: ローカル クラウド開発用の LocalStack で Terraform 構成をテストする
  • LocalStack サポート: 実際の AWS 認証情報なしで LocalStack を使用して AWS 操作をローカルでテストします

要件

  • Node.js 18以上
  • npmまたはyarn
  • 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 設定構成ファイルに追加します。

Claude 拡張機能付きの VSCode の場合:

  • ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonにあるファイルを編集します。

Claude デスクトップ アプリの場合:

  • 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 サーバーをインストールして構成すると、AI アシスタントに次のツールが提供されます。

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. プレイブックの構文を確認する

<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. Terraform 適用

<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 を使用した Terraform (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統合

このプロジェクトには、実際のAWS認証情報を使用せずにAWSオペレーションをローカルでテストするためのLocalStackとの統合が含まれています。LocalStackとの統合により、以下のことが可能になります。

  1. AWS サービスをローカルで使用する Ansible プレイブックをテストする
  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
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.

このモデル コンテキスト プロトコル サーバーにより、AI アシスタントは Ansible と直接対話できるようになり、プレイブックの実行、インベントリの管理、構文のチェック、その他の Ansible 操作の実行が可能になります。

  1. デモプロジェクト
    1. 特徴
      1. 要件
        1. インストール
          1. リポジトリをクローンする
          2. 依存関係をインストールする
          3. サーバーを構築する
          4. MCP設定を構成する
        2. 使用例
          1. プレイブックを実行する
          2. 在庫リスト
          3. プレイブックの構文を確認する
          4. プレイブックにタスクをリストする
          5. デフォルトの在庫リソースにアクセスする
          6. AWS S3 オペレーション
          7. Terraform の初期化と計画
          8. Terraform 適用
          9. LocalStack を使用した Terraform (tflocal)
        3. LocalStack統合
          1. LocalStackの使用
        4. 発達
          1. プロジェクト構造
          2. 新機能の追加
          3. ⚠️免責事項
        5. ライセンス

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.
            Last updated -
            JavaScript
            • Linux
            • Apple
          • -
            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
            A
            license
            -
            quality
            A Model Context Protocol server that connects AI assistants like Claude to Moneybird accounting software, enabling management of contacts, financial data, products, and business operations through natural language.
            Last updated -
            1
            JavaScript
            MIT License
            • Apple
          • A
            security
            A
            license
            A
            quality
            A Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, allowing users to query work items with plans to support creating/updating items, managing pipelines, handling pull requests, and administering sprints and branch policies.
            Last updated -
            9
            50
            Python
            MIT License
            • Linux
            • Apple

          View all related MCP servers

          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-ansible'

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