mcpField
M
MCP vs Manual vs A2A Nginx Installation

MCP vs Manual vs A2A Nginx Installation

本地服务
github.com/roy3drucker云与基础设施080 周前更新

关于 MCP vs Manual vs A2A Nginx Installation

这是一个 Python 项目,对比模拟的手动 Nginx 安装、基于 MCP 的安装和模拟的 A2A Agent 工作流,面向学习基础设施自动化的 DevOps 工程师。

主要功能

  1. 01对比三种 Nginx 安装方式
  2. 02运行基于 MCP 的安装工作流
  3. 03模拟 A2A Agent 协作
  4. 04提供 Python 脚本和 MCP 配置

适用场景

  1. 01了解基于 MCP 的基础设施自动化
  2. 02比较手动与 Agent 驱动的安装流程

MCP 相关

项目通过 MCP 实现自动化 Nginx 安装工作流,也展示模拟的 A2A 协作流程。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP、手动和 A2A Nginx 安装

简介

本项目模拟了设置服务器(例如 Nginx)的三种不同方式:

  1. 传统的手动安装(模拟操作,不会实际配置系统)。
  2. 使用 Anthropic 的 MCP(Model Context Protocol)自动安装,本项目中已实际连接并正常运行(连接步骤将在本文后面说明)。
  3. 使用 Google 的 A2A(Agent2Agent Protocol)模拟协作式 Agent 设置。

本项目旨在展示,在不久的将来,DevOps 工程师如何利用 MCP,尤其是 A2A,来简化工作流、减少时间和精力、提高效率,并跨工具和环境自动执行复杂的基础设施任务。


什么是 MCP?

Anthropic 推出的 Model Context Protocol(MCP)是一种开放协议,用于标准化 AI 应用连接工具和数据源的方式。它让大模型能够理解可用工具、安全地访问这些工具,并决定如何使用它们,而无需针对每种情况进行硬编码。MCP 将复杂操作简化为高层意图。

什么是 A2A?

A2A(Agent2Agent Protocol)是 Google 几天前推出的一种新型开放协议。它使 AI Agent 能够相互发现、通信并跨不同系统协作,即使这些 Agent 由不同供应商构建也是如此。A2A 使开发者能够构建 Agent 生态系统,让 Agent 协同完成任务,从而创建智能、动态的工作流。


MCP 的实际示例:

可以把它想象成一种能连接所有厨房设备的工具。你不必每次做饭时都取出不同设备并逐一连接,而是使用一个系统连接所有设备,让工作更简单。MCP Agent 的工作方式也类似——它连接数据源,让设置服务器等任务更快、更轻松,而无需手动逐一集成。

A2A 的实际示例:

个人示例:通过 Agent 自动处理日常事务

想象一下,你有几个个人 AI Agent:

  • 邮件 Agent
  • 购物 Agent
  • 日历 Agent
没有 A2A:

每个 Agent 都独立工作。你必须手动发送邮件、预约和购物。

使用 A2A:

你说:“我需要在明天之前买一副新耳机,而且我只有下午 5–6 点有空。”

  • 邮件 Agent 检查你的收件箱。
  • 日历 Agent 确认你的空闲时间。
  • 购物 Agent 查找符合条件的优惠。
  • 它们相互协调并完成任务。你会收到一条更新,其中包含配送信息和日历日程。

前提条件

开始之前,请确保你已准备好以下内容:

  1. 已安装 Python 3.x
  2. 已安装 Docker(用于运行 MCP Agent)
  3. 已安装 Visual Studio Code(VSCode)
  4. 已在 VSCode 中安装 Copilot 插件(用于与 MCP Agent 交互)

分步说明

步骤 2:使用 MCP Agent 自动安装
  1. 在 VSCode 中安装 Copilot 插件。
  2. 在 VSCode 中打开 JSON 文件。点击“Start”以打开 Copilot 聊天窗口。
  3. 在 Copilot 窗口中将 Mode 设置为“Agent”。

**注意:**要使用 MCP 配置,你需要 GitHub Personal Access Token。前往你的 GitHub 账户 → Settings → Developer settings → Personal access tokens,并生成具有适当权限的令牌。生成后,在 Copilot 输入框提示输入 github_token 时粘贴该令牌。

使用以下 JSON 代码

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Personal Access Token",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

A2A 协议概述

A2A 是 Google 推出的开放协议,可让 Agent 进行通信、交换信息并协作处理复杂任务,甚至支持跨供应商协作。

✅ 优势
  • Agent 之间可以相互协作
  • 支持复杂的多 Agent 工作流
  • 可以同时使用不同工具
  • 支持实时扩展、监控和自定义
⚠️ 劣势
  • 初始设置较为复杂
  • 仍是一种非常新的(不断发展的)接口

🧪 真实 DevOps A2A 示例:部署与云维护

设想你是一名 DevOps 工程师,负责管理 AWS、GCP 和内部系统中的应用。

  • 一个 Agent 管理 Terraform 基础设施。
  • 另一个通过 Jenkins 触发 CI/CD。
  • 第三个通过 Prometheus 监控性能。
  • 第四个通过 Slack 发送更新。
不使用 A2A 时:

你需要手动整合每个步骤、处理不匹配问题,并手动管理每个连接。

使用 A2A 时:
  • Jenkins Agent 运行构建。
  • 向 Terraform Agent 发送一个“任务”以进行部署。
  • 如果发生错误,Monitoring Agent 会提醒 Slack Agent。

现在,所有 Agent 都能相互通信并保持同步,即使它们使用不同的工具构建也是如此。

🎯 优势:

对你而言: 智能自动化处理数字化任务。
对 DevOps 而言: 模块化的 Agent 系统无需额外集成即可彼此通信。
提升效率,减少时间浪费,让基础设施具备可扩展性且透明。


📁 项目结构

MCP-MANUAL-A2A-nginx-install/
├── install_nginx.sh
├── mcp_config.json
├── mcp_nginx_install.py
├── nginx_install.py
├── a2a_simulation.py
├── requirements.txt
└── README.md

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。