Token导航 LogoToken导航TokenDH.com
MCP Server Aap logo
运维云端stdio官方级别未说明来源级核验

MCP Server Aap

MCP Server

一个基本的MCP服务器,提供与Ansible自动化平台的API集成,允许大型语言模型提取模板并启动自定义参数的Ansible作业。

工具数

5

提示词数

0

GitHub Stars

4

资源数

0
PythonClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mancubus77

提供方

mancubus77

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python tools/test_mcp_server.py

详细介绍

MCP Ansible自动化平台服务器

一个非常基本和简单的模型上下文协议(MCP)服务器,通过API提供与Ansible自动化平台(AAP)的集成。此服务器允许大型语言模型与AAP交互,以提取可用模板并启动具有自定义参数的Ansible作业模板。这只是一个演示,而不是完整的MCP服务器功能,您可以随意使用此代码。

Demo of MCP Ansible Automation Platform Server

特性

  • 模板发现:从已配置的AAP项目中提取可用作业模板
  • 作业启动:启动带有自定义额外变量和参数的Ansible作业模板
  • 作业监控:检查作业状态并检索作业输出/日志
  • 连接测试:验证AAP连接和身份验证
  • 错误处理:具有重试逻辑和详细错误消息的强大错误处理

先决条件

  • Python 3.8+
  • 访问Ansible自动化平台实例
  • 具有适当权限的AAP API访问令牌

AAP代币生成

Obtaining token in AAP

安装

  1. 克隆此存储库
  1. 安装依赖项:
   uv pip install -r requirements.txt
  1. 配置环境变量:
   cp env_example .env
   # Edit .env with your AAP configuration

配置

创建一个 .env 项目根目录中的文件,包含以下变量:

# Ansible Automation Platform Configuration
AAP_URL=https://your-aap-instance.com
AAP_TOKEN=your-access-token-here
AAP_PROJECT_ID=your-project-id
AAP_VERIFY_SSL=True

# Optional settings
AAP_TIMEOUT=30
AAP_MAX_RETRIES=3

配置参数

  • AAP_URL:AAP实例的基本URL(例如。, https://controller.example.com)
  • AAP_TOKEN:API身份验证的承载令牌
  • AAP_PROJECT_ID:从中提取模板的默认项目ID
  • AAP_VERIFY_SSL:是否验证SSL证书(True/False)
  • AAP_TIMEOUT:请求超时(秒)(默认值:30)
  • AAP_MAX_RETRIES:失败请求的重试次数(默认值:3)

用法

测试服务器

在与Claude Desktop集成之前,请测试您的服务器设置:

uv run python tools/test_mcp_server.py

这将验证:

  • 环境配置
  • AAP连接
  • 模板提取
  • MCP服务器功能

运行服务器

启动MCP服务器:

uv run python server.py

服务器将启动并监听stdin/stdout上的MCP协议消息。

Claude桌面集成

步骤1:配置Claude桌面

  1. 找到您的Claude Desktop配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 视窗: %APPDATA%\Claude\claude_desktop_config.json - Linux: ~/.config/claude/claude_desktop_config.json

  1. 编辑配置文件并添加MCP服务器:
{
  "mcpServers": {
    "ansible-aap": {
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "
",
      "env": {
        "AAP_URL": "https://your-aap-instance.com",
        "AAP_TOKEN": "your-access-token-here",
        "AAP_PROJECT_ID": "your-project-id",
        "AAP_VERIFY_SSL": "True",
        "AAP_TIMEOUT": "30",
        "AAP_MAX_RETRIES": "3"
      }
    }
  }
}

重要:将占位符值替换为实际的AAP配置:

  • cwd:使用MCP服务器目录的绝对路径
  • AAP_URL:您的AAP实例URL
  • AAP_TOKEN:您的API访问令牌
  • AAP_PROJECT_ID:您的项目ID

步骤2:重新启动克劳德桌面

保存配置后,完全重新启动Claude Desktop。

步骤3:测试集成

重新启动后,您可以通过向Claude提出以下问题来测试集成:

  • “有哪些可用的Ansible模板?”
  • “显示AAP项目中的作业模板”
  • “显示磁盘空间不足的节点”
  • “检查作业123的状态”

步骤4:验证连接

您应该看到Claude回复了有关Ansible模板的信息,并能够启动作业。如果有问题,请检查:

  1. Claude Desktop记录错误消息
  2. 您的AAP凭据和权限
  3. 与AAP实例的网络连接

替代方案:使用环境文件

您可以创建一个 .env 文件:

{
  "mcpServers": {
    "ansible-aap": {
      "command": "uv",
      "args": ["run", "python", "server.py"],
      "cwd": "
"
    }
  }
}

然后创建一个 .env 使用AAP配置在项目目录中创建文件。

可用工具

服务器提供以下工具:

1. get_job_templates

从已配置的AAP项目中提取可用作业模板。

参数:

  • project_id (可选):覆盖配置的项目ID

例子:

{
  "name": "get_job_templates",
  "arguments": {
    "project_id": "5"
  }
}

2. launch_job_template

使用可选参数启动Ansible作业模板。

参数:

  • template_id (必填):要启动的作业模板的ID
  • extra_vars (可选):传递给作业模板的额外变量
  • inventory (可选):要使用的库存ID
  • credentials (可选):要使用的凭据ID列表

例子:

{
  "name": "launch_job_template",
  "arguments": {
    "template_id": 10,
    "extra_vars": {
      "target_host": "web-server-01",
      "service_name": "nginx",
      "restart_service": true
    },
    "inventory": 2
  }
}

3. get_job_status

获取正在运行或已完成作业的状态和详细信息。

参数:

  • job_id (必填):要检查的作业ID

例子:

{
  "name": "get_job_status",
  "arguments": {
    "job_id": 123
  }
}

4. get_job_output

获取作业的输出/日志。

参数:

  • job_id (必填):要从中获取输出的作业的ID

例子:

{
  "name": "get_job_output",
  "arguments": {
    "job_id": 123
  }
}

5. test_aap_connection

测试与Ansible自动化平台的连接。

参数:

例子:

{
  "name": "test_aap_connection",
  "arguments": {}
}

与LLM客户集成

此服务器可以与各种兼容MCP的LLM客户端集成。服务器为LLM提供了一个标准化的接口,用于:

  1. 发现基础设施:查询可用的Ansible模板,了解可用的自动化
  2. 执行操作:根据对话上下文启动具有自定义参数的特定模板
  3. 监控进度:检查作业状态并检索输出,以向用户提供反馈

LLM交互流程示例

  1. 发现:LLM电话 get_job_templates 查看可用的自动化
  2. 规划:根据用户请求,LLM确定适当的模板和参数
  3. 执行:LLM电话 launch_job_template 具有所需参数
  4. 监控LLM使用 get_job_statusget_job_output 跟踪进度并提供更新

错误处理

服务器包括全面的错误处理:

  • 连接错误:使用指数回退自动重试
  • 身份验证错误:清除令牌/权限问题的错误消息
  • 验证错误:参数验证,并显示有用的错误消息
  • 速率限制:尊重API使用,可配置超时

安全考虑

  • 将AAP令牌安全地存储在环境变量中
  • AAP连接使用HTTPS
  • 在生产环境中验证SSL证书(AAP_VERIFY_SSL=True)
  • 通过AAP项目配置限制模板访问
  • 监控作业启动和输出以确保安全合规性

目录标签

目录标签

PythonClaudeAPI集成自动化工具本地部署Ansible集成作业管理API服务LLM交互

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP