mcpField
🚀
🚀 Light MCP Agents

🚀 Light MCP Agents

github.com/nicozumarraga框架与 SDK1583 周前更新

关于 🚀 Light MCP Agents

Light MCP Agents 是一个轻量级框架,用于构建和编排基于 Model Context Protocol 的 AI Agent。它支持层级化 Agent 系统,使得专门化 Agent 能够相互委派任务、共享能力并协作解决复杂问题。通过配置驱动的方法,用户可以快速构建复杂的 Agent 网络而无需大量编码。

主要功能

  1. 01配置文件定义 Agent 连接到任意 MCP 服务
  2. 02多 Agent 工作流无需额外代码
  3. 03层级化 Agent 架构支持能力委派
  4. 04工具自动聚合和传播
  5. 05递归推理和能力注册表

适用场景

  1. 01构建委派任务的多 Agent 系统
  2. 02在 Claude Desktop 中运行自定义 Agent
  3. 03创建专门化 Agent 处理特定领域任务
  4. 04共享 Agent 配置供社区运行

MCP 相关

Light MCP Agents 作为 MCP 客户端连接到 MCP 服务,并且支持以 MCP 服务器模式运行,允许其他 Agent 将其能力作为工具访问。框架将 MCP 协议用于 Agent 间通信和能力暴露。

详细介绍

🚀 Light MCP Agents

什么是它?

Light MCP Agents 是一个用于使用模型上下文协议 (MCP) 构建和编排 AI Agent 的轻量级框架。它支持创建分层 Agent 系统,其中专门化的 Agent 可以委派任务、共享功能和协作以解决复杂问题。 通过配置驱动的方法,你可以在可组合架构中快速构建复杂的 Agent 网络,无需大量编码。

为什么重要?

✅ 通过简单的配置文件创建连接到任何 MCP 服务的 Agent。

✅ 无需额外代码创建多 Agent 工作流。每个 Agent 只需一个配置文件。

✅ 轻松与他人共享你的 Agent 配置以运行。

架构概述

light-mcp-agents-diagram

目录

快速开始

安装
# Clone the repository
git clone https://github.com/nicozumarraga/light-mcp-agents.git
cd light-mcp-agents

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt
运行你的第一个 Agent
# Run the base agent example (simple client agent)
python src/agent/agent_runner.py --config examples/base_agent/base_agent_config.json

如果成功,你将能够与 Agent 聊天并使用其工具!

尝试多 Agent 示例

在一个终端中,以服务器模式启动研究 Agent:

python src/agent/agent_runner.py --config examples/orchestrator_researcher/research_agent_config.json --server-mode

在第二个终端中,启动连接到研究 Agent 的编排器:

python src/agent/agent_runner.py --config examples/orchestrator_researcher/master_orchestrator_config.json

现在你可以要求编排器为你研究主题,它将委派给专门的研究 Agent 或直接使用其工具。

在 Claude Desktop 中运行 Agent

Claude Desktop 通过其配置系统支持 MCP Agent。你可以直接在 Claude 中配置和运行你的 Agent,使其能够使用你的自定义功能。

设置步骤
  1. 找到你的 Claude Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 将你的 Agent 配置添加到 mcpServers 部分:

{
  "mcpServers": {
    "research-agent": {
      "command": "/bin/bash",
      "args": ["-c", "/path/to/your/venv/bin/python /path/to/your/agent_runner.py --config=/path/to/your/agent_config.json --server-mode"],
      "env": {
        "PYTHONPATH": "/path/to/your/project",
        "PATH": "/path/to/your/venv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
      }
    }
  }
}

示例 Agent

存储库在 examples/ 目录中包含示例 Agent:

  1. 基础 Agent (examples/base_agent/)

    • 连接到外部工具服务的简单 Agent
    • 很好的第一个示例来理解 Agent 如何工作
  2. 编排器-研究员 (examples/orchestrator_researcher/)

    • 演示分层 Agent 结构
    • 展示功能如何在 Agent 之间共享

🤝 想要为社区提交你自己的示例架构?请联系我们!

运行选项

基本命令结构
python src/agent/agent_runner.py --config <config_file_path>
其他选项
# Run in server mode (makes it available to other agents)
python src/agent/agent_runner.py --config <config_file_path> --server-mode

# Run with a custom server name
python src/agent/agent_runner.py --config <config_file_path> --server-mode --server-name "my-custom-server"

创建你自己的 Agent

基本 Agent 配置

为你的 Agent 创建一个配置文件(例如 my_agent_config.json):

{
  "agent_name": "my-agent",
  "llm_provider": "groq",
  "llm_api_key": "YOUR_API_KEY_HERE",
  "server_mode": false,
  "servers": {
    "tool-server": {
      "command": "npx",
      "args": ["@anthropic-ai/mcp-tooling", "start", "-q"],
      "env": {
        "PORT": "3001"
      }
    }
  }
}
具有功能的 Agent

要创建具有特殊功能的 Agent:

{
  "agent_name": "research-agent",
  "llm_provider": "groq",
  "llm_api_key": "YOUR_API_KEY_HERE",
  "server_mode": true,
  "server_name": "research-agent-server",
  "capabilities": [
    {
      "name": "summarize_document",
      "description": "Summarize a document in a concise way",
      "input_schema": {
        "type": "object",
        "properties": {
          "document_text": {
            "type": "string",
            "description": "The text of the document to summarize"
          },
          "max_length": {
            "type": "integer",
            "description": "Maximum length of the summary in words",
            "default": 200
          }
        },
        "required": ["document_text"]
      },
      "prompt_template": "Summarize the following document in {max_length} words or fewer:\n\n{document_text}"
    }
  ],
  "servers": {
    "brave-search": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "mcp/brave-search"],
      "env": {
        "BRAVE_API_KEY": "YOUR_BRAVE_API_KEY"
      }
    }
  }
}
编排器 Agent 配置

创建一个委派给其他 Agent 的编排器:

{
  "agent_name": "master-orchestrator",
  "llm_provider": "groq",
  "llm_api_key": "YOUR_API_KEY_HERE",
  "server_mode": false,
  "servers": {
    "research-agent": {
      "command": "python",
      "args": ["src/agent/agent_runner.py", "--config=research_agent_config.json", "--server-mode"],
      "env": {}
    },
    "kanye": {
      "command": "npx",
      "args": ["-y", "kanye-mcp"]
    }
  }
}

工作原理

Agent 能力

能力是需要大模型推理的高层函数。当调用一个能力时:

  1. 提示词模板使用提供的参数进行填充
  2. Agent 启动自己的推理过程
  3. 它可以使用任何可用的工具
  4. 它将最终结果返回给调用 Agent
示例:研究员工作流

当你要求协调器研究一个主题时:

  1. 协调器委托给研究 Agent 的能力
  2. 研究 Agent 使用其搜索工具收集信息
  3. 研究 Agent 将结果处理成连贯的响应
  4. 最终结果被发送回协调器并呈现给你

以下是展示这一过程的日志摘录:

2025-03-19 10:17:46,252 - INFO - agent:master-orchestrator - Executing tool: research_topic
2025-03-19 10:17:46,252 - INFO - agent:master-orchestrator - With arguments: {'topic': 'quantum computing', 'focus_areas': 'recent breakthroughs'}
2025-03-19 10:17:46,261 - INFO - mcp-server-wrapper:research-agent-server - Executing as capability: research_topic
2025-03-19 10:17:46,262 - INFO - agent:research-agent - Executing capability: research_topic with arguments: {'topic': 'quantum computing', 'focus_areas': 'recent breakthroughs'}
2025-03-19 10:17:46,973 - INFO - agent:research-agent - Executing tool: brave_web_search
2025-03-19 10:17:46,973 - INFO - agent:research-agent - With arguments: {'query': 'quantum computing recent breakthroughs', 'count': 10}
2025-03-19 10:17:49,839 - INFO - agent:research-agent - Capability research_topic execution completed

架构详情

递归架构建立在 MCP(Model Context Protocol)标准之上,实现了以下功能:

  1. Agent 层级:Agent 可以按层级结构排列,其中高级 Agent 委托任务给专门的低级 Agent。
  2. 能力委托:需要推理的复杂任务可以通过能力委托给专门的 Agent。
  3. 工具聚合:来自低级 Agent 的工具会自动暴露给高级 Agent。
  4. 递归推理:每个 Agent 都可以使用其可用工具执行自己的推理过程。可以设置递归限制。
关键组件
  1. AgentServer:主要类,管理 Agent 在客户端和服务器模式下的运行,处理初始化、连接到其他服务器,以及工具/能力发现。
  2. MCPServerWrapper:将 Agent 包装为 MCP 服务,通过 MCP 协议暴露其工具和能力。
  3. Agent:核心 Agent 实现,处理用户请求、执行工具、管理能力。
  4. CapabilityRegistry:Agent 能力的注册表,用于需要大模型推理的能力,负责从配置中加载能力。
  5. ToolRegistry:来自 MCP 服务的所有工具的注册表,处理发现和注册。
架构优势
  1. 层级组合:Agent 可以使用其他 Agent 的能力,创建强大的组合模型。
  2. 封装:每个 Agent 封装特定的领域或能力。
  3. 推理委托:复杂任务可以委托给专门的 Agent。
  4. 工具传播:可用于低级 Agent 的工具可以通过能力访问高级 Agent,以及直接访问。
  5. 配置驱动:通过简单的配置文件定义能力,无需改动代码。
  6. 可扩展性:添加新的能力或专门的 Agent 无需修改现有的。

致谢

本项目中的 MCP 服务资源管理实践受到 mcp-agents 的启发。

评论

支持 Markdown

第一次接触 MCP?

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

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