Token导航 LogoToken导航

MCP Server · AI代理

MCP A2a Langgraph Pipelining

一个结合Google ADK、LangGraph、Model Context Protocol (MCP)和A2A通信的分布式AI智能体编排系统,用于构建可扩展的多智能体工作流。

stdio官方级别未说明来源级核验工具 0
Python工作流自动化AI代理

快速开始

作者 / 组织
AuthurBoyle-03
提供方
AuthurBoyle-03
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP A2a Langgraph Pipelining 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv venv

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

上手步骤

  1. 1

    准备运行环境

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

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

MCP-A2A-LangGraph-流水线

一个复杂的多代理编排系统,结合了 谷歌ADK, LangGraph, 模型上下文协议(MCP),以及 A2A(代理人对代理人) 通信以构建可扩展的分布式AI代理管道。

🎯 概述

该项目实现了一个分层多代理架构,其中:

  • 根编排器(ADK代理):管理任务委派和代理间沟通
  • LangGraph代理:通过工具集成处理代理工作流
  • MCP工具:通过模型上下文协议提供数学和天气功能
  • A2A服务器:允许通过HTTP/RPC进行代理间通信

架构图

┌─────────────────────────────────────────────────────────────┐
│              Root Orchestrator (ADK Agent)                   │
│  - Model: gemini-2.0-flash                                   │
│  - Tools: [A2A Remote Tool]                                  │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ├── Sub-Agent 1 (LangGraph Agent)
                       │   ├── Chatbot Node (LLM with tools)
                       │   ├── Tool Node (MCP integration)
                       │   └── State Management
                       │
                       └── A2A Server (Remote Agent Caller)
                           └── HTTP/RPC Communication

📁 项目结构

Pipelines/
├── main.py                          # Application entry point
├── requirements.txt                 # Python dependencies
├── README.md                        # This file
├── agents.py                        # Additional agent utilities
├── tools_server.py                  # MCP tools server setup
│
└── app/
    ├── __init__.py
    ├── adk/
    │   ├── adk_agent.py            # ADK orchestrator builder
    │   ├── adk_client_tool.py       # A2A client tool implementation
    │   └── __pycache__/
    │
    ├── graph/
    │   ├── langgraph_app.py         # LangGraph workflow definition
    │   ├── state.py                 # Agent state schema
    │   ├── tool_server.py           # MCP server configuration
    │   └── __pycache__/
    │
    └── server/
        └── a2a_server.py            # A2A HTTP server implementation

🚀 关键组件

1. ADK代理(app/ADK/ADK_Agent.py)

协调所有子代理并管理工具执行的根编排器。

orchestrator = ADKAgent(
    name="root_orchestrator",
    model="gemini-2.0-flash",
    instruction="Delegate tasks to LangGraph agent. Use A2A tool when needed.",
    tools=[remote_tool],
    sub_agents=[graph_agent]
)

责任:

  • 任务编排和委派
  • 模型调用(Gemini 2.0 Flash)
  • 工具管理和执行
  • 子代理生命周期管理

2. LangGraph代理(app/graph/LangGraph_app.py)

通过状态管理和工具集成实现代理工作流。

主要特点:

  • 状态图:使用消息历史记录管理对话状态
  • 聊天机器人节点:带工具绑定的LLM推理(AWS Bedrock Nova)
  • 工具节点:执行MCP工具(数学、天气)
  • 条件边:需要时提供工具路线

工作流程:

START → chatbot (LLM inference) → tools_condition → tool_execution → chatbot → END

3. MCP工具集成

连接到MCP服务器以执行工具。

可用工具:

  • 数学运算:基本算术计算
  • 天气信息:实时天气数据

配置:

client = MultiServerMCPClient({
    "math_weather": {
        "transport": "sse",
        "url": "http://localhost:8000/sse"
    }
})

4. A2A服务器(app/Server/A2A_Server.py)

将代理作为HTTP服务公开,用于远程代理通信。

终点:

  • POST /a2a:代理方法调用的RPC端点
  • GET /.well-known/agent.json:代理卡/元数据

特征:

  • 内存代理运行程序
  • JSON-RPC 2.0支持
  • FastAPI服务器
  • 通过知名端点发现代理

5. A2A客户端工具(app/adk/adk_Client_Tool.py)

使编排器能够通过A2A协议调用远程代理。

remote_tool = A2AClientTool(
    name="call_remote_agent",
    target_agent_url="http://remote-agent.com/a2a"
)

🔧 安装

先决条件

  • Python 3.10+
  • 谷歌云证书(适用于ADK和Gemini API)
  • AWS证书(适用于Bedrock)

设置步骤

  1. 克隆仓库
git clone 
cd Pipelines
  1. 创建虚拟环境
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项
pip install -r requirements.txt
  1. 配置环境变量
# Set up Google Cloud credentials
export GOOGLE_APPLICATION_CREDENTIALS="path/to/credentials.json"

# Set up AWS credentials
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"
export AWS_REGION="us-east-1"

📦 依赖项

包装用途
a2a-sdk[http-server]带有HTTP服务器的Google ADK代理框架
python-a2aA2A协议实现
langgraph代理工作流编排
langchain-mcp-adapters用于工具集成的MCP客户端
langchain-awsAWS Bedrock LLM集成
langchain-core核心LangChain抽象
fastapiHTTP服务器框架
uvicornASGI服务器
httpx异步HTTP客户端
rich终端输出格式

▶️ 运行应用程序

选项1:启动编排器

python main.py

这将:

  • 初始化ADK代理编排器
  • 构建LangGraph工作流
  • 连接到MCP工具服务器
  • 日志初始化状态
  • 让代理为请求做好准备

选项2:作为A2A服务器运行

# Terminal 1: Start MCP tools server
python tools_server.py

# Terminal 2: Start A2A server
uvicorn app.server.a2a_server:app --port 9000 --reload

选项3:运行自检

python app/graph/langgraph_app.py

这将使用示例查询测试LangGraph工作流:

"What is (3 + 5) * 12 and weather in Tokyo?"

🔄 工作流示例

示例1:简单计算

# The LLM detects a math query and delegates to MCP math tool
User: "Calculate (3 + 5) * 12"
→ Chatbot detects tool call
→ Tool Node executes via MCP
→ Result: 96

示例2:多工具请求

# Multiple tools are called in sequence
User: "What is (10 + 5) * 2 and weather in Tokyo?"
→ Math tool: (10 + 5) * 2 = 30
→ Weather tool: Returns Tokyo weather
→ Chatbot synthesizes response

示例3:远程代理委派

# Orchestrator delegates to remote agent
User: "Process this complex request"
→ Orchestrator evaluates task
→ If specialized handler needed: call A2A remote agent
→ Remote agent processes and returns result
→ Orchestrator synthesizes final response

📊 状态管理

代理状态模式(app/graph/State.py)

class State(TypedDict):
    messages: Annotated[list, add_messages]

特征:

  • 消息历史记录:保持对话上下文
  • add_message:用于消息附加的缩减功能
  • 类型安全:带TypedDict的完整类型提示

🛠️ 定制

添加新的MCP工具

  1. 在MCP服务器中创建一个工具
  2. 更新 langgraph_app.py MCP客户端配置:
client = MultiServerMCPClient({
    "your_tools": {
        "transport": "sse",
        "url": "http://localhost:8000/sse"
    }
})

更改LLM模型

编辑 app/graph/langgraph_app.py:

# Option 1: Use different Bedrock model
llm = ChatBedrockConverse(model="amazon.nova-pro-v1:0")

# Option 2: Use Gemini directly in orchestrator
# (Already configured in adk_agent.py)

添加子代理

在 app/adk/adk_agent.py:

sub_agents = [
    graph_agent,
    your_new_agent_1,
    your_new_agent_2,
]

orchestrator = ADKAgent(
    ...
    sub_agents=sub_agents
)

🧪 测试

单元测试

pytest tests/

手动测试

# Test LangGraph workflow
python app/graph/langgraph_app.py

# Test A2A server
curl -X POST http://localhost:9000/a2a \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "message/send",
    "params": {"prompt": "What is 5 + 3?"}
  }'

🔐 安全注意事项

  1. API密钥:使用环境变量,从不提交凭据
  2. 跨域资源共享:如果从外部源访问,请配置FastAPI CORS
  3. 认证:将身份验证中间件添加到A2A服务器端点
  4. 速率限制:对公共端点实施速率限制
  5. 输入验证:验证所有传入的提示和参数

🐛 故障排除

问题:MCP工具未加载

Solution: Ensure MCP server is running on http://localhost:8000/sse

问题:未找到基岩证书

Solution: Verify AWS credentials are properly configured
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...

问题:远程代理无法访问

Solution: Check A2A server is running and URL is correct
curl http://remote-agent.com/a2a -X OPTIONS

📚 学习资源

  • 谷歌ADK文档: https://cloud.google.com/docs/adk
  • LangGraph: https://langchain-ai.github.io/langgraph/
  • 模型上下文协议: https://modelcontextprotocol.io/
  • A2A协议: https://github.com/CloudWeaver-AI/a2a-spec
  • AWS基岩: https://aws.amazon.com/bedrock/

🤝 贡献

  1. 创建要素分支
  2. 进行更改
  3. 彻底测试
  4. 提交拉取请求

📝 许可证

该项目是Google ADK生态系统的一部分,并遵循其许可条款。

👤 作者

赫曼斯·卡尔蒂克\ 附加培训项目-多代理编排

🎓 学习目标

通过研究这个代码库,你会学到:

  • ✅ 多代理架构设计模式
  • ✅ LangGraph工作流编排
  • ✅ 模型上下文协议集成
  • ✅ 代理间通信(A2A)
  • ✅ 工具增强LLM代理
  • ✅ 异步Python模式
  • ✅ 分布式系统中的状态管理
  • ✅ FastAPI服务器开发

📞 支持

对于问题和疑问:

  • 检查故障排除部分
  • 查看应用程序中的示例代码/
  • 使用自检脚本进行测试
  • 启用调试日志记录以进行详细跟踪

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

多智能体编排Python本地部署分布式AI工作流自动化模型集成智能体通信

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

典型使用场景

多步任务编排

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

长期上下文

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

接自有流程

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

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

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

同类对比

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

MCP World · 本页

0stdio有1 个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 条

MCP A2a Langgraph Pipelining 怎么安装?

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

MCP A2a Langgraph Pipelining 怎么在 Claude Desktop、Cursor 里配置?

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

MCP A2a Langgraph Pipelining 收费吗?

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

MCP A2a Langgraph Pipelining 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP A2a Langgraph Pipelining 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP