6.7. 配置远程 MCP 服务器
如果您需要绕过本地安装并在构建时动态选择部署模式,请将您的角色配置为通过 HTTP 引用远程 MCP 服务器。
在您的角色中添加远程服务器
要定义远程 MCP 服务器,请在 registry 元数据中将类型设置为 http:
# roles/cfn_mcp/defaults/main.yml (remote mode example)
---
cfn_mcp_registry:
- name: "awslabs.cfn-mcp-server"
type: "http"
lang: "pypi"
path: "https://my-mcp-host.example.com:8443/cfn"
args: []
description: "Remote AWS CloudFormation MCP Server"
cfn_mcp_version: "latest"
当 type 设为 http 时,框架会跳过安装,且只使用其 URL 将清单中的服务器注册。
支持这两种模式
ansible.mcp_builder 中的 GitHub MCP 角色展示了支持嵌入式和远程模式的模式。您可以通过以下方法采用此模式:
-
使用远程 registry 定义创建
vars/remote.yml文件。 在您的任务中有条件地载入它:
# roles/cfn_mcp/tasks/main.yml --- - name: Override registry for remote mode ansible.builtin.include_vars: file: remote.yml when: cfn_mcp_mode | default('local') == 'remote' - name: Include install manager tasks ansible.builtin.include_role: name: ansible.mcp_builder.common tasks_from: install_manager - name: Update MCP servers manifest ansible.builtin.include_role: name: ansible.mcp_builder.common tasks_from: generate_manifest然后您可以在构建执行环境时选择模式:
additional_build_steps: append_final: | RUN ansible-playbook myorg.mcp_cfn.install_cfn_mcp -e cfn_mcp_mode=remote