Agent Construct
一个 MCP 服务器实现,它标准化了 AI 应用程序访问工具和上下文的方式,提供一个中央枢纽,通过简化的配置系统来管理工具发现、执行和上下文管理。
README
Agent Construct
<p align="center"> <img src="artwork/logo.png" alt="Logo" width="300"/> </p>
“我们可以加载任何东西,从服装到设备,武器,训练模拟,任何我们需要的东西。” - 黑客帝国 (1999)
Agent Construct 是一个模型上下文协议 (MCP) 服务器实现,它标准化了 AI 应用程序访问工具和上下文的方式。正如《黑客帝国》中的 Construct 为操作员提供了即时访问他们需要的任何设备一样,Agent Construct 提供了一个标准化的接口,供 AI 模型通过 MCP 规范访问工具和数据。
它基于 模型上下文协议 规范构建,充当中心枢纽,管理 AI 应用程序的工具发现、执行和上下文管理。它提供了一种强大且可扩展的方式,通过标准化协议向 AI 模型公开功能。它还提供了一个简化的配置和工具结构,使添加新功能变得轻而易举!其中包含一个使用 Gemini 搜索网络的示例工具。
核心功能
MCP 协议实现
- 完全 MCP 兼容: 完整实现模型上下文协议规范
- 工具发现: 动态工具注册和发现机制
- 标准化通信: 实现 MCP 的工具交互通信模式
服务器架构
- FastAPI 后端: 高性能异步服务器实现
- 事件流: 通过服务器发送事件 (SSE) 进行实时更新
- 模块化设计: 核心协议处理和工具实现之间的清晰分离
- 处理程序系统: 用于不同 MCP 操作的可扩展请求处理程序架构
- 基于工具的速率限制: 让服务器处理您可配置的每个工具的速率限制。
开发功能
- 工具装饰器系统: 通过 MCP 公开新工具的简单方法
- 日志记录和监控: 用于调试和监控的综合日志记录系统
- 配置管理: 具有安全默认值的基于环境的配置
- 测试框架: 用于协议合规性的广泛测试套件
- Agent 框架友好: 包含用于自定义客户端或 smolagents 等框架的实现示例。
快速开始
前提条件
- Python 3.8 或更高版本
- pip 包管理器
安装
-
克隆存储库:
git clone https://github.com/yourusername/agent-construct.git cd agent-construct -
安装依赖项:
pip install -r requirements.txt -
设置环境变量: 在根目录中创建一个
.env文件,其中包含以下变量:# 服务器配置 SERVER_HOST=localhost SERVER_PORT=8000 # MCP 协议设置 MCP_VERSION=1.0 TOOL_DISCOVERY_ENABLED=true # 安全设置 ENABLE_AUTH=false # 生产环境启用 -
运行服务器:
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 协议功能
工具发现
- 动态工具注册系统
- 工具能力广告
- 版本管理
- 工具元数据和文档
上下文管理
- 高效的上下文存储和检索
- 上下文范围界定和隔离
- 实时上下文更新
- 上下文持久性选项
通信模式
- 同步请求/响应
- 用于更新的服务器发送事件
- 流式响应
- 错误处理和恢复
未来增强
协议扩展
- [ ] 高级上下文管理功能
- [ ] 自定义协议扩展
- [ ] 协议处理程序的插件系统
安全
- [ ] 身份验证和授权
- [ ] 工具访问控制
- [-] 速率限制和配额管理
- [ ] 审计日志记录
- [ ] 端到端加密
性能
- [ ] 工具执行优化
- [ ] 上下文缓存
- [ ] 负载均衡
- [ ] 请求排队
- [ ] 资源管理
开发
- [ ] 交互式协议浏览器
- [ ] 工具开发 SDK
- [ ] 协议合规性测试工具
- [ ] 性能监控仪表板
贡献
欢迎贡献!请随时提交 Pull Request。对于重大更改,请先打开一个 issue 讨论您想要更改的内容。
许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- 模型上下文协议 用于协议规范
- FastAPI 用于出色的 Web 框架
- 开源社区用于本项目中使用的各种工具和库
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。