Token导航 LogoToken导航

MCP Server · AI代理

Awx MCP Server

AWX MCP服务器是一个连接AWX、Ansible Automation Platform (AAP)和Ansible Tower与AI工具的服务,通过自然语言交互管理作业模板、启动和监控作业、管理库存和项目,以及自动化基础设施工作流。

stdio官方级别未说明来源级核验工具 15
自动化控制工作流自动化PythonClaude基础设施管理CursorWindsurfVS Code

快速开始

作者 / 组织
SurgeX-Labs
提供方
SurgeX-Labs
运行时
Python

工具数量

15

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

5

仓库热度

收录来源

2 个

MCP World

选型结论

Awx MCP Server 属于AI代理类 MCP Server,公开资料标注 15 个工具,通过stdio 本地进程接入,适配 Claude、Cursor、Windsurf,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

AI代理

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

pip install awx-mcp-server

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 15 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

AWX MCP-人工智能驱动的AWX/AAP/Assible自动化

用于AWX/AAP/Assible Tower自动化的行业标准MCP服务器

AWX MCP服务器连接 AWX, Ansible自动化平台(AAP),以及 Ansible塔 AI工具,使AI代理和助手能够管理作业模板、启动和监控作业、管理库存和项目,并通过自然语言交互自动化基础设施工作流程。

专为希望将AI工具与AWX/AAP/Tower自动化功能集成的开发人员而设计。

✨ 支持AWX(开源)、AAP(Red Hat)和Ansible Tower(传统)-相同的API,相同的功能!

______________________________________________________________________

🎯 使用模式

主服务器:MCP服务器(行业标准)⭐ 推荐

使用STDIO传输的标准MCP实现(如Postman MCP、Claude MCP)

用例:人工智能助手(GitHub Copilot、Claude、Cursor)+AWX自动化

特性:

  • ✅ 适用于任何MCP客户端(Copilot、Claude、Cursor、Windsurf等)
  • ✅ 行业标准模式(STDIO传输)
  • ✅ 安装简单: pip install git+https://github.com/USERNAME/awx-mcp-server.git
  • ✅ 可在所有MCP兼容工具上移植
  • ✅ 18+AWX操作(模板、作业、项目、库存)

最适合:AI驱动的自动化、自然语言AWX控制、任何MCP客户端

______________________________________________________________________

可选:VS代码扩展(UI增强)

VS Code用户的可选UI功能

用例:需要额外UI(侧边栏视图、树提供程序)的VS Code用户

特性:

  • ✅ 带有AWX实例、作业和指标的侧栏
  • ✅ AWX资源的树形视图
  • ✅ 配置Web视图
  • ✅ 自动配置MCP(或遵守手动设置)

最适合:VS Code用户想要丰富的UI和MCP功能

______________________________________________________________________

🚀 快速开始

安装方法

你有 三种方式 安装并运行AWX MCP服务器:

方法最适合安装
📦 PyPI(点)快速安装,生产使用pip install awx-mcp-server
🔧 来源定制、开发、企业分叉从GitHub克隆、编辑代码
🐳 码头工人集装箱化部署,团队docker run surgexlabs/awx-mcp-server

→ 有关自定义和从自己的存储库运行,请参阅 安装\_ ROM \_来源.md

______________________________________________________________________

选项1:PyPI安装(建议快速启动)

从PyPI安装
# Install the MCP server
pip install awx-mcp-server

# Verify installation
python -m awx_mcp_server --version
配置VS代码

编辑VS代码设置.json (Ctrl+, → 搜索“chat.mcp”):

{
  "mcpServers": {
    "awx": {
      "command": "python",
      "args": ["-m", "awx_mcp_server"],
      "env": {
        "AWX_BASE_URL": "https://your-awx.com"
      },
      "secrets": {
        "AWX_TOKEN": "your-awx-token"
      }
    }
  }
}

重新启动VS代码 MCP服务器将在Copilot聊天中可用。

______________________________________________________________________

选项2:从源代码安装(用于自定义)

非常适合:分叉、定制、企业部署、贡献

快速安装:

# Clone the repository (or your fork)
git clone https://github.com/SurgeX-Labs/awx-mcp-server.git
cd awx-mcp-server/awx-mcp-python/server

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Windows: .\venv\Scripts\Activate.ps1

# Install in editable mode
pip install -e .

# Verify
python -m awx_mcp_server --version

VS代码配置 (使用venv Python):

{
  "mcpServers": {
    "awx": {
      "command": "/path/to/awx-mcp-server/awx-mcp-python/server/venv/bin/python",
      "args": ["-m", "awx_mcp_server"],
      "env": {
        "AWX_BASE_URL": "https://your-awx.com"
      },
      "secrets": {
        "AWX_TOKEN": "your-token"
      }
    }
  }
}

📖 完整指南:参见 安装\_ ROM \_来源.md 用于:

  • 分叉存储库
  • 对代码进行自定义
  • 从您自己的fork/repository运行
  • 从源代码构建自定义Docker镜像
  • 企业部署和CI/CD

______________________________________________________________________

选项3:远程服务器模式(团队/企业)

先决条件
  • Python 3.10+
  • AWX/Ansible Tower实例
  • (可选)Docker或Kubernetes
Docker快速入门
cd awx-mcp-python/server

# Start server with monitoring stack
docker-compose up -d

# Server available at:
# - API: http://localhost:8000
# - Docs: http://localhost:8000/docs
# - Metrics: http://localhost:8000/prometheus-metrics
# - Prometheus: http://localhost:9090
# - Grafana: http://localhost:3000
Python快速入门
cd awx-mcp-python/server

# Install
pip install -e .

# Configure AWX environment (interactive)
awx-mcp-server env list

# Start server
awx-mcp-server start --host 0.0.0.0 --port 8000
CLI使用情况
# List job templates
awx-mcp-server templates list

# Launch job
awx-mcp-server jobs launch "Deploy App" --extra-vars '{"env":"prod"}'

# Monitor job
awx-mcp-server jobs get 123
awx-mcp-server jobs stdout 123

# Manage projects
awx-mcp-server projects list
awx-mcp-server projects update "My Project"

# List inventories
awx-mcp-server inventories list
REST API使用
# Create API key (first time)
curl -X POST http://localhost:8000/api/keys \
  -H "Content-Type: application/json" \
  -d '{"name": "chatbot", "tenant_id": "team1", "expires_days": 90}'

# List job templates
curl http://localhost:8000/api/v1/job-templates \
  -H "X-API-Key: awx_mcp_xxxxx"

# Launch job
curl -X POST http://localhost:8000/api/v1/jobs/launch \
  -H "X-API-Key: awx_mcp_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{"template_name": "Deploy App", "extra_vars": {"env": "prod"}}'

# Get job status
curl http://localhost:8000/api/v1/jobs/123 \
  -H "X-API-Key: awx_mcp_xxxxx"

# Get job output
curl http://localhost:8000/api/v1/jobs/123/stdout \
  -H "X-API-Key: awx_mcp_xxxxx"
Kubernetes部署
cd server/deployment/helm

helm install awx-mcp-server . \
  --set replicaCount=3 \
  --set autoscaling.enabled=true \
  --set taskPods.enabled=true

看: 服务器/README.md 详细指南

______________________________________________________________________

🎨 集成示例

与自定义聊天机器人集成

import httpx

class AWXChatbot:
    def __init__(self, api_key: str, base_url: str = "http://localhost:8000"):
        self.api_key = api_key
        self.base_url = base_url
        self.headers = {"X-API-Key": api_key}
    
    async def handle_message(self, user_message: str):
        """Process user message and call AWX API"""
        if "list templates" in user_message.lower():
            return await self.list_templates()
        elif "launch" in user_message.lower():
            template_name = self.extract_template_name(user_message)
            return await self.launch_job(template_name)
        elif "job status" in user_message.lower():
            job_id = self.extract_job_id(user_message)
            return await self.get_job(job_id)
    
    async def list_templates(self):
        async with httpx.AsyncClient() as client:
            response = await client.get(
                f"{self.base_url}/api/v1/job-templates",
                headers=self.headers
            )
            return response.json()
    
    async def launch_job(self, template_name: str, extra_vars: dict = None):
        async with httpx.AsyncClient() as client:
            response = await client.post(
                f"{self.base_url}/api/v1/jobs/launch",
                headers=self.headers,
                json={"template_name": template_name, "extra_vars": extra_vars}
            )
            return response.json()
    
    async def get_job(self, job_id: int):
        async with httpx.AsyncClient() as client:
            response = await client.get(
                f"{self.base_url}/api/v1/jobs/{job_id}",
                headers=self.headers
            )
            return response.json()

# Usage
chatbot = AWXChatbot(api_key="awx_mcp_xxxxx")
response = await chatbot.handle_message("list all job templates")

与Slack Bot集成

from slack_bolt.async_app import AsyncApp
import httpx

app = AsyncApp(token="xoxb-your-token")
awx_api_key = "awx_mcp_xxxxx"
awx_base_url = "http://localhost:8000"

@app.message("awx")
async def handle_awx_command(message, say):
    text = message['text']
    
    if "launch" in text:
        # Extract template name from message
        template = extract_template(text)
        
        # Call AWX API
        async with httpx.AsyncClient() as client:
            response = await client.post(
                f"{awx_base_url}/api/v1/jobs/launch",
                headers={"X-API-Key": awx_api_key},
                json={"template_name": template}
            )
            job = response.json()
        
        await say(f"✅ Job launched! ID: {job['id']}, Status: {job['status']}")

______________________________________________________________________

🔧 可用的AWX操作

VS Code扩展和web服务器都支持所有16种操作:

环境管理

  • env_list -列出所有已配置的AWX环境
  • env_test -测试与AWX环境的连接
  • env_get_active -获取当前活动环境

作业模板

  • list_job_templates -列出所有作业模板(带筛选)
  • get_job_template -按名称/ID获取模板详细信息

工作

  • list_jobs -列出所有作业(按状态、日期筛选)
  • get_job -按ID获取作业详细信息
  • job_launch -从模板启动作业
  • job_cancel -取消正在运行的作业
  • job_stdout -获取作业输出/日志
  • job_events -获取作业事件(剧本任务)

项目

  • list_projects -列出所有项目
  • project_update -从SCM更新项目

库存

  • list_inventories -列出所有库存
  • get_inventory -获取库存详细信息

______________________________________________________________________

📦 项目结构

awx-mcp-python/
├── vscode-extension/          # VS Code extension with GitHub Copilot
│   ├── src/                   # Extension TypeScript source
│   ├── package.json           # Extension manifest
│   ├── README.md              # Extension guide
│   └── CHANGELOG.md
│
│
├── server/                    # Standalone web server
│   ├── src/awx_mcp_server/
│   │   ├── cli.py             # CLI commands (468 lines)
│   │   ├── http_server.py     # FastAPI REST API
│   │   ├── mcp_server.py      # MCP server integration
│   │   ├── monitoring.py      # Prometheus metrics
│   │   ├── task_pods.py       # Kubernetes task pods
│   │   ├── clients/           # AWX clients (self-contained)
│   │   ├── storage/           # Config & credentials
│   │   └── domain/            # Models & exceptions
│   ├── deployment/
│   │   ├── docker-compose.yml # Docker Compose stack
│   │   ├── Dockerfile         # Container image
│   │   └── helm/              # Kubernetes Helm chart
│   ├── pyproject.toml
│   └── README.md
│
└── tests/                     # Shared test suite
    ├── test_*.py
    └── conftest.py

______________________________________________________________________

🏗️ 建筑

VS代码扩展架构

┌─────────────────┐
│   VS Code IDE   │
│                 │
│  ┌───────────┐  │     stdio      ┌──────────────┐
│  │  GitHub   │──┼────transport───▶│  MCP Server  │
│  │  Copilot  │  │    (local)     │   (shared)   │
│  │   Chat    │◀─┼────────────────│   16 Tools   │
│  └───────────┘  │                └──────────────┘
│                 │                        │
│  ┌───────────┐  │                        │
│  │ @awx Chat │  │                        │
│  │Participant│  │                        ▼
│  └───────────┘  │                 ┌──────────────┐
└─────────────────┘                 │     AWX      │
                                    │   Instance   │
                                    └──────────────┘

流动:

  1. 用户类型 @awx list templates 在Copilot聊天
  2. 扩展通过stdio向本地服务器发送MCP请求
  3. MCP服务器调用AWX REST API
  4. 结果返回到Copilot Chat
  5. AI格式自然响应

Web服务器体系结构

┌──────────────┐      REST API       ┌──────────────┐
│   Chatbot    │────────────────────▶│  FastAPI     │
│  /Custom App │   (HTTP/JSON)       │   Server     │
└──────────────┘                     └──────────────┘
                                            │
┌──────────────┐      REST API       │
│   Slack Bot  │────────────────────▶│
└──────────────┘                     │
                                     │
┌──────────────┐         CLI         │
│   Terminal   │────────────────────▶│
│   Scripts    │   (commands)        │
└──────────────┘                     │
                                     │
                              ┌──────┴───────┐
                              │              │
                              │   Clients    │
                              │  REST + CLI  │
                              │              │
                              └──────┬───────┘
                                     │
                                     ▼
                              ┌──────────────┐
                              │     AWX      │
                              │   Instance   │
                              └──────────────┘

流动:

  1. 客户端(聊天机器人/CLI)使用API密钥发送HTTP请求
  2. FastAPI服务器对请求进行身份验证
  3. 服务器通过复合客户端调用AWX API
  4. 结果以JSON格式返回
  5. 终端用户的客户端格式(Slack、终端等)

______________________________________________________________________

🔒 安全

VS代码扩展

  • 存储在VS Code安全存储中的凭据
  • 仅限本地服务器(无网络暴露)
  • 基于环境的隔离

Web服务器

  • API密钥认证(SHA-256哈希)
  • 多租户隔离
  • 可配置密钥过期
  • HTTPS建议用于生产
  • 机密的环境变量

______________________________________________________________________

🚢 部署选项

用于VS代码扩展

  • 从.vsix文件安装扩展名
  • VS Code启动时MCP服务器自动运行
  • 无需额外的基础设施

对于Web服务器

发展
cd server
pip install -e .
awx-mcp-server start
生产-Docker
cd server
docker-compose up -d

包括:服务器、普罗米修斯、Grafana

生产-Kubernetes
cd server/deployment/helm
helm install awx-mcp-server . \
  --set autoscaling.enabled=true \
  --set taskPods.enabled=true \
  --set ingress.enabled=true

特征:

  • 水平吊舱自动缩放(HPA)
  • 任务吊舱(每次操作的临时作业)
  • 普罗米修斯监控
  • 入口支持

______________________________________________________________________

🛠️ 发展

先决条件

  • Python 3.10+
  • Node.js 18+(用于VS代码扩展)
  • Docker(可选)
  • Kubernetes集群(可选)

设置开发环境

# Clone repository
git clone https://github.com/your-org/awx-mcp.git
cd awx-mcp/awx-mcp-python

# Install shared package (for VS Code extension)
cd shared
pip install -e ".[dev]"

# Install server
cd ../server
pip install -e ".[dev]"

# Install extension dependencies
cd ../vscode-extension
npm install

# Run tests
cd ../tests
pytest -v

运行测试

# Server tests
cd server
pytest tests/ -v --cov

# Integration tests
cd tests
pytest test_mcp_integration.py -v

建筑VS代码扩展

cd vscode-extension
npm run package
# Generates awx-mcp-*.vsix file

______________________________________________________________________

📊 监控(Web服务器)

访问监控仪表板:

  • 普罗米修斯: http://localhost:9090
  • 格拉法纳: http://localhost:3000(管理员/管理员)
  • 指标端点: http://localhost:8000/prometheus-度量标准

可用指标

  • awx_mcp_requests_total -按租户/端点列出的请求总数
  • awx_mcp_request_duration_seconds -请求延迟
  • awx_mcp_active_connections -每个租户的活动连接数
  • awx_mcp_tool_calls_total -MCP工具调用
  • awx_mcp_errors_total -按类型列出的错误计数

______________________________________________________________________

📚 文档

安装和设置

平台支持

  • AAP支持指南 -Ansible自动化平台、AWX和Ansible Tower的完整指南

部署架构

高级功能(计划中)

  • 保险库集成 -HashiCorp保险库、AWS密钥管理器、Azure密钥保险库支持(v2.0.0)
  • 实施状态 -当前功能和路线图

其他资源

______________________________________________________________________

🤝 贡献

我们欢迎捐款!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 通过测试进行更改
  4. 提交拉取请求

代码的风格

  • Python:遵循PEP 8,使用类型提示
  • TypeScript:遵循ESLint规则
  • 为新功能编写测试
  • 更新文档

______________________________________________________________________

📄 许可证

MIT许可证-请参阅 许可证 文件

______________________________________________________________________

🆘 支持

  • 问题: https://github.com/your-org/awx-mcp/issues
  • 讨论: https://github.com/your-org/awx-mcp/discussions
  • 文档:请参阅子目录中的README文件

______________________________________________________________________

🎉 快速参考

VS代码扩展命令

  • Ctrl+Shift+P → AWX: Configure Environment
  • Ctrl+Shift+P → AWX: Test Connection
  • Ctrl+Shift+P → AWX: Switch Environment
  • 在Copilot聊天中: @awx

Web服务器CLI命令

awx-mcp-server start                    # Start HTTP server
awx-mcp-server env list                 # List environments
awx-mcp-server templates list           # List templates
awx-mcp-server jobs launch "Template"   # Launch job
awx-mcp-server jobs get 123             # Get job details
awx-mcp-server projects list            # List projects
awx-mcp-server inventories list         # List inventories

Web服务器API终结点

POST   /api/keys                         # Create API key
GET    /api/v1/environments              # List environments
GET    /api/v1/job-templates             # List templates
POST   /api/v1/jobs/launch               # Launch job
GET    /api/v1/jobs/{id}                 # Get job
GET    /api/v1/jobs/{id}/stdout          # Get output
GET    /api/v1/projects                  # List projects
GET    /api/v1/inventories               # List inventories
GET    /health                           # Health check
GET    /prometheus-metrics               # Metrics
GET    /docs                             # API documentation

______________________________________________________________________

由以下材料制成❤️ 用于AWX自动化和AI集成

工具与能力

工具数量

15

资源数量

0

提示词数量

0

能力标签

自动化控制Python本地部署AI集成基础设施管理自然语言处理工作流自动化

支持客户端

ClaudeCursorWindsurfVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 15 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cursor、Windsurf,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Awx MCP Server

MCP World · 本页

15stdio有2 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Awx MCP Server 怎么安装?

公开资料给出的安装命令是 pip install awx-mcp-server,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Awx MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Awx MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Awx MCP Server 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Awx MCP Server 支持哪些客户端?

公开资料标注支持 Claude、Cursor、Windsurf、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP