Token导航 LogoToken导航TokenDH.com
Langgraph A2a MCP logo
浏览器工具stdio官方级别未说明来源级核验

Langgraph A2a MCP

MCP Server

一个基于LangGraph和A2A技术的多智能体协作客服系统,适用于自动化客户服务场景。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonLangGraph浏览器自动化

安装说明

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

作者 / 组织

johnmelel

提供方

johnmelel

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv .venv

详细介绍

多代理客户服务系统(LangGraph+A2A+MCP)

此存储库包含一个多代理客户服务演示,其中代理使用协作循环(LangGraph)和代理到代理(A2A)消息传递进行协调。数据访问是通过一个小型MCP(模型上下文协议)服务器提供的,该服务器公开了一组由SQLite数据库支持的工具。

关键部件:

  • 运行路由器、客户数据和支持代理的LangGraph工作流(协作循环)
  • 用于代理到代理消息传递的进程中A2A协议(具有可选的HTTP代理端点)
  • MCP服务器为客户和票务操作提供了一小套工具
  • Gradio UI与多代理系统交互

此README提供了简洁、可重复的说明,以使演示在本地运行。

______________________________________________________________________

快速开始

先决条件:Python 3.11+、Conda或virtualenv,以及一个OpenAI API密钥(如果您想要LLM响应)。

  1. 创建并激活您的Python环境:
conda activate genai2   # or create/activate your environment of choice
# or using venv:
python -m venv .venv
.\.venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建或重置演示数据库(创建 data/customers.db 使用样本数据):
python data/database_setup.py
  1. 启动MCP服务器(代理调用工具所需)。使用HTTP传输进行本地测试:
python run_servers.py mcp --transport http --port 8080
  1. 在单独的终端中启动Gradio UI(可选):
python -m src.ui.gradio_app

打开http://127.0.0.1:7860在浏览器中与系统交互。

或者,将两者一起运行:

python run_servers.py all --gradio

______________________________________________________________________

每个命令的作用

  • run_servers.py mcp --启动MCP服务器。使用 --transport http 对于上的HTTP JSON-RPC端点 /mcp.
  • run_servers.py gradio --启动Gradio应用程序(与 python -m src.ui.gradio_app).
  • run_servers.py all --gradio --启动MCP HTTP服务器,并在后台线程中启动Gradio UI。

MCP工具(由服务器公开)

MCP服务器有意公开一组集中的工具(这些是测试和代理所期望的唯一工具):

  • get_customer(customer_id) --按以下方式返回客户记录 customers.id
  • list_customers(status, limit) --按以下方式列出客户 customers.status
  • update_customer(customer_id, name?, email?, phone?, status?) --更新客户字段
  • create_ticket(customer_id, issue, priority) --插入 tickets
  • get_customer_history(customer_id) --返回客户信息及其门票(tickets.customer_id)

注意:服务器不会公开额外的辅助工具,如 search_customersget_open_tickets --代理使用上述五个工具实现搜索/过滤。

______________________________________________________________________

演示笔记本

打开 demo.ipynb 使用Jupyter Lab/Notebook运行交互式场景。笔记本通过多代理流运行多个场景,并打印A2A日志和摘要。

运行:

jupyter lab demo.ipynb

笔记:

  • 笔记本电脑已调整为在交互式环境中工作(它使用 Path().resolve() 用于项目根,并读取全局A2A注册表以列出代理)。
  • 为了获得逼真的LLM输出,请设置 OPENAI_API_KEY.env 或环境。

______________________________________________________________________

测试

使用以下命令运行测试套件:

pytest -v

MCP客户端的集成测试标记为 @pytest.mark.integration 并且仅当MCP服务器不可访问时才会跳过。单元测试直接练习服务器助手。

______________________________________________________________________

故障排除

  • 如果在运行Gradio应用程序或笔记本时导入失败,请确保从项目根目录运行命令,以便 src 正在打开 sys.path.
  • 如果Gradio UI引发有关A2A或MCP的错误,请确认MCP服务器正在 http://localhost:8080 (或设置 MCP_SERVER_URL 有人)。
  • 如果您看到与以下内容相关的循环导入错误 src.a2a,我们避免在包导入时导入服务器位--import src.a2a.a2a_server 当您需要运行HTTP A2A端点时,可以直接执行。

______________________________________________________________________

开发说明

  • LangGraph StateGraph 在中实现协作循环 src/agents/graph.py 节点功能 src/agents/nodes.py.
  • A2A协议和注册表位于 src/a2a/.
  • MCP服务器和客户端在 src/mcp/.

如果你愿意,我可以添加一个小的便利Makefile/PPowerShell脚本来运行MCP服务器+Gradio UI并自动打开浏览器。

______________________________________________________________________

许可和贡献

此存储库用于教育/演示目的。请随时打开问题或PR进行改进。

目录标签

目录标签

PythonLangGraph浏览器自动化多智能体本地部署客户服务自动化A2A

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP