小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
11
最近更新:6天前

一个多工具 MCP 服务器实现,用于代理工具管理。

Agent Construct

Logo

"我们可以加载任何东西,从服装到设备、武器、训练模拟,任何我们需要的东西。" -《黑客帝国》(1999)

Agent Construct 是一个 Model Context Protocol (MCP) 服务器实现,它标准化了 AI 应用程序如何访问工具和上下文。正如《黑客帝国》中的 Construct 为操作员提供了即时访问所需设备的能力一样,Agent Construct 通过 MCP 规范为 AI 模型提供了一个标准化的接口来访问工具和数据。

基于 Model Context Protocol 规范构建,它作为一个中心枢纽,管理 AI 应用程序的工具发现、执行和上下文管理。它通过标准化协议提供了一种健壮且可扩展的方式来向 AI 模型暴露功能。它还提供了一个简化的配置和工具结构,使添加新功能变得轻而易举!包含了一个使用 Gemini 进行网络搜索的示例工具。

核心特性

MCP 协议实现

  • 完全符合 MCP 标准:完整实现了 Model Context Protocol 规范
  • 工具发现:动态工具注册和发现机制
  • 标准化通信:实现 MCP 的工具交互通信模式

服务器架构

  • FastAPI 后端:高性能异步服务器实现
  • 事件流:通过 Server-Sent Events (SSE) 实现实时更新
  • 模块化设计:核心协议处理和工具实现之间的清晰分离
  • 处理器系统:可扩展的请求处理器架构,用于不同的 MCP 操作
  • 基于工具的速率限制:让服务器处理可配置的每个工具的速率限制

开发特性

  • 工具装饰器系统:通过 MCP 简单地暴露新工具
  • 日志记录与监控:全面的日志系统,用于调试和监控
  • 配置管理:基于环境的配置,具有安全默认值
  • 测试框架:广泛的测试套件,用于协议合规性
  • 代理框架友好:包含自定义客户端或 smolagents 等框架的实现示例

入门指南

前提条件

  • Python 3.8 或更高版本
  • pip 包管理器

安装

  1. 克隆仓库:

    bash 复制代码
    git clone https://github.com/yourusername/agent-construct.git
    cd agent-construct
  2. 安装依赖项:

    bash 复制代码
    pip install -r requirements.txt
  3. 设置环境变量:
    在根目录创建一个 .env 文件,并包含以下变量:

    复制代码
    # 服务器配置
    SERVER_HOST=localhost
    SERVER_PORT=8000
    
    # MCP 协议设置
    MCP_VERSION=1.0
    TOOL_DISCOVERY_ENABLED=true
    
    # 安全设置
    ENABLE_AUTH=false  # 生产环境中启用
  4. 运行服务器:

    bash 复制代码
    python -m mcp_server

核心架构

复制代码
mcp_server/
├── core/               # 核心 MCP 协议实现
│   ├── server.py      # 主服务器实现
│   ├── protocol.py    # MCP 协议处理器
│   └── context.py     # 上下文管理
├── handlers/          # MCP 操作处理器
│   ├── discovery.py   # 工具发现
│   ├── execution.py   # 工具执行
│   └── context.py     # 上下文操作
├── utils/            # 实用函数
│   ├── logging.py    # 日志配置
│   ├── security.py   # 安全实用工具
│   └── config.py     # 配置管理
└── __main__.py       # 服务器入口点

MCP 协议特性

工具发现

  • 动态工具注册系统
  • 工具功能广告
  • 版本管理
  • 工具元数据和文档

上下文管理

  • 高效的上下文存储和检索
  • 上下文范围和隔离
  • 实时上下文更新
  • 上下文持久化选项

通信模式

  • 同步请求/响应
  • 通过 Server-sent Events (SSE) 进行更新
  • 流式响应
  • 错误处理和恢复

未来增强

协议扩展

  • 高级上下文管理功能
  • 自定义协议扩展
  • 协议处理器插件系统

安全

  • 身份验证和授权
  • 工具访问控制
  • [-] 速率限制和配额管理
  • 审计日志
  • 端到端加密

性能

  • 工具执行优化
  • 上下文缓存
  • 负载均衡
  • 请求队列
  • 资源管理

开发

  • 交互式协议浏览器
  • 工具开发 SDK
  • 协议合规性测试工具
  • 性能监控仪表板

贡献

欢迎贡献!请随时提交 Pull Request。对于重大更改,请先打开一个问题讨论您希望进行的更改。

许可

该项目根据 MIT 许可证许可 - 详情请参阅 LICENSE 文件。

致谢

  • Model Context Protocol 提供了协议规范
  • FastAPI 提供了出色的 Web 框架
  • 开源社区提供的各种工具和库