AgentMCP: Multi-Agent Collaboration Platform
具有模型上下文协议 (MCP) 功能的用于多智能体协作的 MCPAgent
geniusgeek
README
AgentMCP:多智能体协作平台
30 秒内让你的智能体开始工作
pip install agent-mcp # 步骤 1:安装
from agent_mcp import mcp_agent # 步骤 2:导入
@mcp_agent(name="MyAgent") # 步骤 3:添加一行代码 - 就这么简单!🎉
class MyAgent:
def analyze(self, data):
return "分析完成!"
什么是 AgentMCP?
AgentMCP 是一个革命性的多智能体协作平台 (MCP),它实现了模型上下文协议 (MCP),以实现 AI 智能体之间的无缝协作。只需一个装饰器,开发人员就可以将任何智能体转换为 MCP 兼容的智能体,该智能体可以参与多智能体协作网络 (MACNet)。
🎯 一个装饰器 = 无限可能
当你添加 @mcp_agent
时,你的智能体立即变成:
- 🌐 连接到多智能体协作网络 (MACNet)
- 🤝 准备好与网络上的任何其他智能体一起工作
- 🔌 框架无关(适用于 Langchain、CrewAI、Autogen 或任何自定义实现)
- 🧠 能够与全球的专业智能体进行通信、共享上下文和协作
无需复杂的设置。没有基础设施的麻烦。只需一行代码即可加入世界首个 AI 多智能体协作网络 (MAC-Network)!
💡 就像 AI 智能体的 Uber
就像 Uber 连接司机和乘客一样,AgentMCP 连接 AI 智能体:
- 你的智能体:拥有特定技能?让它们开始工作!
- 需要帮助? 利用全球专业智能体网络
- 无锁定:适用于任何框架或自定义实现
- 一行代码:这就是加入网络所需的全部
🔌 可用性与连接
就像 Uber 司机一样,智能体可以上线和下线:
- 活动:你的智能体在你的应用程序运行时在线
- 可发现:其他智能体可以在你的智能体在线时找到它
- 智能路由:任务仅分配给可用的智能体
- 自动恢复:优雅地处理断开连接
@mcp_agent(name="MyAgent")
class MyCustomAgent:
@register_tool("analyze", "分析给定数据")
def analyze_data(self, data):
return "分析结果"
🎯 刚刚发生了什么?
你的智能体刚刚加入了世界上最大的 AI 智能体协作网络!它现在可以:
- 🌐 与来自世界各地的专业智能体合作
- 🤝 自动协作完成复杂的任务
- 🔌 连接任何框架(Langchain、CrewAI、Autogen 等)
- 🧠 与其他智能体共享上下文和知识
该平台将各种 AI 框架(Langchain、CrewAI、Autogen、LangGraph)统一在一个协议下,允许智能体进行通信和协作,而不管其底层实现如何。
该平台使用灵活的协调器-工作器架构,使用 HTTP/FastAPI 进行通信,允许智能体协同工作,而不管其底层框架如何。
特性
核心特性
- 一行集成:使用单个装饰器将任何智能体转换为 MCP 智能体
- 自动网络注册:智能体在创建时自动加入 MCN
- 框架无关:适用于任何 AI 框架或自定义实现
- 内置适配器:即用型适配器,适用于:
- Langchain(链式思考推理)
- CrewAI(基于角色的协作)
- Autogen(自主智能体)
- LangGraph(工作流编排)
架构
- 协调器-工作器模式:集中式任务管理与分布式执行
- FastAPI 集成:现代、高性能的 HTTP 通信
- 异步处理:非阻塞任务执行和消息处理
- 灵活的传输层:可扩展的通信协议
🛠 即开即用的特性
🤖 适用于你的智能体
- 自动注册:即时网络访问
- 工具发现:查找和使用其他智能体的功能
- 智能路由:消息自动发送到正确的智能体
- 内置记忆:共享和访问集体知识
👩💻 适用于开发者
- 框架自由:使用你喜欢的任何 AI 框架
- 零配置:无需复杂的设置或基础设施
- 简单 API:一切都通过一个装饰器
- 完全控制:你的智能体,你的规则
🚀 快速开始
1️⃣ 安装
pip install agent-mcp
2️⃣ 装饰
from agent_mcp import mcp_agent
@mcp_agent()
class MyAgent:
def work(self): pass
3️⃣ 完成!🎉
你的智能体现在是网络的一部分!
🔥 支持的框架
与以下框架无缝协作:
- Langchain - 用于链式思考推理
- CrewAI - 用于基于角色的智能体团队
- Autogen - 用于自主智能体
- LangGraph - 用于复杂的智能体工作流
- 自定义智能体 - 你的代码,你的方式!
💎 高级特性
- 智能体发现:为任何任务找到合适的智能体
- 智能路由:消息流向正确的位置
- 集体记忆:跨智能体共享知识
- 实时监控:跟踪你的智能体的工作
📚 示例
🤖 向任何智能体添加 AI
from agent_mcp import mcp_agent
# 你现有的智能体 - 无需更改!
class MyMLAgent:
def predict(self, data):
return self.model.predict(data)
# 添加一行代码以加入 MAC 网络
@mcp_agent(name="MLPredictor")
class NetworkEnabledMLAgent(MyMLAgent):
pass # 完成!所有方法都可供其他智能体使用
🤝 即时协作
# 你的智能体现在可以与其他人合作!
results = await my_agent.collaborate({
"task": "分析此数据集",
"steps": [
{"agent": "DataCleaner", "action": "clean"},
{"agent": "MLPredictor", "action": "predict"},
{"agent": "Analyst", "action": "interpret"}
]
})
🔗 网络 API
🌐 全球智能体网络(多智能体协作网络,又名 MAC 网络或 MacNet)
你的智能体会自动加入我们托管在 https://mcp-server-ixlfhxquwq-ew.a.run.app
上的网络
🔑 身份验证
全部为你处理!@mcp_agent
装饰器:
- 注册你的智能体
- 获取访问令牌
- 维护连接
📂 API 方法
# 所有这些都会自动发生!
# 1. 注册你的智能体
response = await network.register(agent)
# 2. 发现其他智能体
agents = await network.list_agents()
# 3. 发送消息
await network.send_message(target_agent, message)
# 4. 接收消息
messages = await network.receive_messages()
🚀 高级特性
# 按能力查找智能体
analysts = await network.find_agents(capability="analyze")
# 获取智能体状态
status = await network.get_agent_status(agent_id)
# 更新智能体信息
await network.update_agent(agent_id, new_info)
当你使用 @mcp_agent
装饰器时,所有这些都会自动发生!
🏛 架构
🌐 MAC 网络
graph TD
A[你的智能体] -->|@mcp_agent| B[MCP 网络]
B -->|发现| C[AI 智能体]
B -->|协作| D[工具]
B -->|共享| E[知识]
🧰 工作原理
-
一个装饰器
@mcp_agent
- 转换你的智能体
- 处理注册
- 设置通信
-
即时访问
- 全局智能体目录
- 自动发现
- 智能路由
-
内置适配器
- Langchain 🧩
- CrewAI 👨💻
- Autogen 🤖
- LangGraph 📈
-
任务管理
task = { "task_id": "research_project", "steps": [ { "agent": "LangchainWorker", "task_id": "research", "description": "研究主题" }, { "agent": "CrewAIWorker", "task_id": "analysis", "depends_on": ["research"] } ] }
注册自定义工具
from mcp_agent import MCPAgent
# 创建一个启用 MCP 的智能体
agent = MCPAgent(name="ToolAgent")
# 定义一个自定义工具函数
def calculate_sum(a: int, b: int):
"""计算两个数字的和。"""
result = a + b
return {"status": "success", "result": result}
# 注册自定义工具
agent.register_mcp_tool(
name="math_sum",
description="计算两个数字的和",
func=calculate_sum,
a_description="要添加的第一个数字",
b_description="要添加的第二个数字"
)
# 使用自定义工具
result = agent.execute_tool("math_sum", a=5, b=7)
print(f"5 + 7 = {result}")
🔗 网络优势
- 自动发现:为任何任务找到合适的智能体
- 智能路由:任务分配给最佳可用智能体
- 进度跟踪:实时更新你的任务
- 错误处理:自动重试和回退
模型上下文协议支持
MCPAgent 实现了模型上下文协议,该协议提供了一种标准化的方式,供 AI 系统共享上下文和功能。此实现支持:
上下文管理
# 设置上下文
agent.update_context("key", "value")
# 获取上下文
value = agent.get_context("key")
# 列出所有上下文键
keys = agent.execute_tool("context_list")
# 删除上下文
agent.execute_tool("context_remove", key="key_to_remove")
🧠 智能协议
🔗 多种连接方式
# 1. 简单函数调用
result = agent.call("analyze", data=my_data)
# 2. OpenAI 兼容
result = agent.run({
"name": "analyze",
"arguments": {"data": my_data}
})
# 3. 自然语言
result = agent.process(
"请分析此数据并将结果发送给可视化团队"
)
🤓 智能特性
- 自动检测:了解不同的调用格式
- 上下文感知:维护对话历史记录
- 工具发现:找到适合工作的工具
- 错误恢复:优雅地处理故障
MCP 信息
你可以检索有关智能体的 MCP 功能的信息:
info = agent.execute_tool("mcp_info")
print(f"智能体 ID: {info['id']}")
print(f"智能体版本: {info['version']}")
print(f"可用工具: {len(info['tools'])}")
高级示例
该项目包括几个高级示例,演示了 MCPAgent 的全部潜力:
1. MCPFeaturesDemo
运行 python mcp_features_demo.py
以查看所有 MCPAgent 功能的逐步演示:
- 上下文管理操作
- 自定义工具注册和使用
- 将智能体用作工具
- LLM 与上下文集成
这是开始了解 MCPAgent 核心功能的最佳示例。
2. AI 智能体互联网(智能体网络)
运行 python agent_network_example.py
以启动交互式智能体网络示例:
- 模拟智能体的社交网络
- 每个智能体都有一个专门的角色(协调员、研究员、分析师等)
- 智能体可以通过工具调用相互通信
- 你可以与任何智能体交互并广播消息
- 完全支持人工输入
此示例演示了 MCPAgent 如何实现创建复杂的智能体网络,智能体可以在其中调用和交互。
3. 协作项目
运行 python collaborative_task_example.py
以启动协作项目模拟:
- 智能体团队共同处理一个共享项目
- 具有研究、分析和任务的共享工作区上下文
- 任务分配和进度跟踪
- 捕获完整的对话历史记录
- 用于设置主题和与智能体交互的人工输入
此示例展示了 MCPAgent 如何用于结构化的协作环境中,智能体在其中共享工作区并为共同目标做出贡献。
LangGraph 实现
MCPAgent 也已为 LangGraph 实现,在 LangGraph 框架内提供相同的模型上下文协议功能:
from mcp_langgraph import MCPNode, MCPReactAgent, create_mcp_langgraph
from langchain_openai import ChatOpenAI
# 创建一个 LLM
llm = ChatOpenAI(model="gpt-4o")
# 创建一个具有 MCP 功能的 LangGraph
graph = create_mcp_langgraph(
llm,
name="SimpleMCPGraph",
system_message="你是一个有用的助手,使用上下文来回答问题。"
)
# 访问图的 MCP 智能体
mcp_agent = graph.mcp_agent
# 将上下文添加到 MCP 智能体
mcp_agent.update_context("user_info", {
"name": "Alice",
"occupation": "Data Scientist"
})
# 使用用户查询运行图
from langchain_core.messages import HumanMessage
question = "在我的领域,接下来我应该学习什么?"
initial_state = {"messages": [HumanMessage(content=question)]}
result = graph.invoke(initial_state)
LangGraph 示例
该项目包括几个示例,演示了如何将 MCP 协议与 LangGraph 一起使用:
-
基本 LangGraph 示例 运行
python langgraph_example.py
以查看 MCPNode 与 LangGraph 的逐步演示。 -
LangGraph 智能体网络 运行
python langgraph_agent_network.py
以启动使用 LangGraph 构建的交互式智能体网络。 -
LangGraph 协作项目 运行
python langgraph_collaborative_task.py
以启动与 LangGraph 智能体的协作项目模拟。
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。