模型上下文协议服务器

一个连接Claude、Open WebUI或任何AI助手到实时HPE Morpheus设备的MCP服务器,能够将用户意图翻译成Morpheus API调用并返回执行结果。

  • by NixndME
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 NixndME/morpheus-mcp

使用说明

Morpheus MCP服务器

MCP(模型上下文协议)服务器,将Claude、Open WebUI或任何AI助手连接到实时HPE Morpheus设备。用简单的英语说话-人工智能将你的意图转化为Morpheus API调用并报告所做的事情。


它做什么

  • 云 --添加、列出、同步和删除云集成(AWS、Azure、VMware、Nutanix、KVM、OpenStack等)
  • 配置 --在任何云上配置虚拟机,全面发现网络、计划、数据存储、资源池和安全组
  • 实例 --启动、停止、重新启动、删除和检查实例
  • 电器健康状况 --CPU、内存、数据库、Elasticsearch、RabbitMQ状态,具有智能问题检测功能
  • 自动化 --创建任务、在实例上运行脚本、执行工作流
  • 服务目录 --订购目录项,管理蓝图
  • 租户、角色、用户 --完全RBAC管理
  • 许可证 --查看许可证限制和当前使用情况
  • 发布验证 -粘贴发布说明并获得自动化的API测试报告

需求

  • Docker和Docker Compose(或Python 3.10+)
  • 正在运行的HPE Morpheus设备(7.x或8.x版本)
  • 具有管理员或适当权限的Morpheus API令牌
  • Claude Desktop、Open WebUI或任何兼容MCP的客户端

设置

步骤1——创建配置文件

cp .env.example .env

打开 .env 并填写您的值:

MORPHEUS_URL=https://your-morpheus-instance.com
MORPHEUS_API_TOKEN=your-token-here
MORPHEUS_VERSION=8.1.0

# Transport — see "Connecting your AI client" below
MCP_TRANSPORT=sse

MCP_PORT=8000
LOG_LEVEL=INFO
MORPHEUS_VERIFY_SSL=false

如何获取您的API代币: Morpheus用户界面→ 右上角用户图标→ API访问→ 生成令牌

步骤2--启动服务器

docker compose up --build -d

检查它是否已启动:

docker compose logs -f

连接您的AI客户端

docker compose up --build -d 开始 两个集装箱自动:

  • morpheus-mcp 在港口 8000 --MCP服务器
  • morpheus-mcpo 在港口 8001 --Open WebUI的OpenAPI桥

无需手动设置mcpo。


打开WebUI(任何版本)

  1. 打开 设置→ 外部工具
  2. 点击 + → 添加连接
  3. 统一资源定位符: http://host.docker.internal:8001
  4. 认证: None ← 必须为“无”,不得为“承载者”
  5. OpenAPI规范:离开为 openapi.json
  6. 点击 保存

验证它是否正常工作:

curl http://localhost:8001/openapi.json | python3 -m json.tool | head -5

在聊天中启用工具: 点击🔧 在聊天栏中。对于Qwen/Llama,设置 函数调用 到 Native 在模型的高级参数中。

host.docker.internal 是必需的-- localhost 解析到容器,而不是主机。 在Linux上,如果 host.docker.internal 无法解析,请使用主机的LAN IP: http://192.168.x.x:8001


克劳德桌面版

打开配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

添加:

{
  "mcpServers": {
    "morpheus": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://localhost:8000/sse"]
    }
  }
}

重新启动克劳德桌面。工具会自动出现。


示例命令

"Check the Morpheus connection"
"Is the Morpheus appliance healthy?"
"Show me any health alarms"
"Get the last 50 error logs from the appliance"

"List all configured clouds"
"Show me provisioning options for the AWS cloud"
"What VMs are already running on VMware?"

"Provision an Ubuntu 24.04 VM on AWS — ask me for the details"
"Build a VM on VMware using the same settings as existing VMs"
"Stop instance 42"

"List all users"
"Show users with @company.com email"
"Show the current license and how much is used"
"Validate this release: [paste Morpheus release notes here]"

不使用Docker运行

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python server.py

安全套接层

自签名证书: MORPHEUS_VERIFY_SSL=false (默认)。 有效证书: MORPHEUS_VERIFY_SSL=true.


Proxmox

Proxmox需要先安装社区插件:

  1. 从下载JAR HPE Morpheus Proxmox VE插件
  2. 安装:管理→ 集成→ 插件→ 上传文件
  3. 跑 list_zone_types --出现Proxmox代码
  4. 使用该代码 add_cloud

可用工具(共80个)

连接与健康

工具 说明
check_connection 验证连接和当前用户
get_appliance_health CPU、内存、数据库、Elasticsearch、带问题检测的RabbitMQ
get_health_logs 带有错误模式检测的设备日志
get_health_alarms 通过云和服务集成打开警报
acknowledge_health_alarm 确认特定警报
acknowledge_all_health_alarms 清除所有打开的警报

云和基础设施

工具 说明
list_clouds 列出所有已配置的云
get_cloud_details 云类型、地区、状态
list_zone_types 可用云类型代码
get_cloud 按ID列出的云详细信息
add_vmware_cloud 添加VMware vCenter云
add_cloud 按区域类型代码添加任何云
sync_cloud 触发手动云同步
delete_cloud 删除云集成
list_groups 列出Morpheus组/站点
create_group 创建组

发现(在配置之前使用)

工具 说明
suggest_provision_options 从运行的虚拟机中智能发现——排名选项
get_provision_options 云的完整选项
list_instance_types 列出操作系统/模板类型
list_layouts 云中实例类型的布局
list_service_plans 云的VM大小/类型
list_networks 云网络
list_security_groups 云安全组
list_resource_pools 云资源池
list_storage_types 推荐的存储卷类型
list_datastores 云数据存储(VMware)
debug_storage_types 转储所有存储类型以进行调试

配置

工具 说明
provision_vm 为VM提供已确认的参数
provision_vm_with_script 配置+自动运行脚本后配置

实例

工具 说明
list_instances 列出具有可选筛选器的实例
get_instance 实例详细信息、IP、命名策略信息
stop_instance 停止正在运行的实例
start_instance 启动已停止的实例
restart_instance 重新启动实例
delete_instance 撤销实例
get_instance_history 配置步骤、任务运行、错误日志
get_process_output 特定执行的完整输出

虚像

工具 说明
list_virtual_images 列出已注册的虚拟映像
get_virtual_image 图像详细信息和状态
register_image_from_url 从URL注册图像
delete_virtual_image 删除虚拟映像

自动化

工具 说明
list_tasks 列出自动化库中的任务
list_workflows 列出工作流
get_workflow 工作流详细信息和任务
create_shell_script_task 创建bash脚本任务
create_operational_workflow 创建按需工作流
create_provisioning_workflow 创建生命周期工作流
execute_task_on_instance 在正在运行的实例上运行任务
run_task_on_server 在服务器上运行任务
run_workflow_on_instance 在实例上执行工作流
delete_task 删除任务
delete_workflow 删除工作流
list_processes 查看执行历史记录

服务目录

工具 说明
list_catalog_items 列出目录项类型
get_catalog_item 目录项详细信息
create_catalog_item 创建目录项
delete_catalog_item 删除目录项
list_catalog_types 列出可订购的目录类型
get_catalog_type 带输入字段的目录类型
order_catalog_item 订购/部署目录项
list_catalog_orders 列出目录订单
get_catalog_order 订单详情
list_blueprints 列出蓝图
get_blueprint 蓝图详细信息
create_blueprint 创建蓝图
delete_blueprint 删除蓝图

租户、角色和用户

工具 说明
list_tenants 列出所有租户(完全分页)
get_tenant 租户详细信息
create_tenant 创建子租户
delete_tenant 删除租户
list_roles 列出所有角色
get_role 角色详细信息
create_role 创建角色
delete_role 删除角色
list_users 所有用户——分页、可搜索
get_user 用户详细信息
create_user 创建具有角色分配的用户
delete_user 删除用户

许可证和报告

工具 说明
get_license 许可证级别、限制、使用、到期
validate_release 分析发布说明,运行自动化API测试