article
README
🚀 企业级MCP SSE服务器(mcp - ectors)介绍
本项目是一个专为企业设计的高性价比、可扩展且易于使用的平台。它旨在通过行为体(actors)、Rust语言和简洁的多路由器管理架构,简化大型语言模型(LLMs)与工具及资源的集成,助力实现先进的代理式AI工作流程。
🚀 快速开始
本项目暂未提供快速开始的相关内容,你可以参考后续的架构概述、未来开发计划等内容了解项目详情。
✨ 主要特性
- 高性价比:专为企业设计,以合理的成本提供强大的功能。
- 可扩展性:通过多路由器管理架构,能够灵活支持各种功能扩展。
- 易于使用:简化了大型语言模型与工具及资源的集成过程。
📚 详细文档
架构概述
- 服务器构建者
server_builder负责确定传输层。目前支持SSE(服务器发送事件),未来版本将加入stdio和wasi传输。- 当前版本仅支持SSE作为客户端与服务器间通信的媒介。
- 路由器服务管理器
RouterServiceManager负责注册多个路由器,并确保每个路由器能够独立处理请求,无需新建连接。- 该架构允许在同一连接下部署多个路由器,显著提升了系统的高效性和扩展性。
- 日志配置
- 服务器可配置为将日志存储在指定目录,支持自定义日志级别(如INFO、DEBUG等)以便监控和调试。
- 示例配置:
let log_config = LogConfig {
log_dir: "logs".to_string(),
log_file: "server.log".to_string(),
level: Level::INFO,
};
- 传输角色
- 任何用于MCP服务器的传输都需要实现
TransportActorTrait。该特性确保了不同传输方式(如SSE、stdio、wasi)能够正确处理请求和消息。 - 关键消息类型:
TransportRequest:允许将新的JsonRPCMessages发送给客户端,负责服务器与客户端间的通信。StartTransport:用于启动特定传输层,初始化相关后台任务(如建立连接或等待入站消息)。StopTransport:用于停止传输层,优雅地关闭任何活动连接或关联的任务。
- 任何用于MCP服务器的传输都需要实现
- 路由器
Router是一个需要由所有路由器实现的特征接口,紧密围绕MCP标准设计。通过RouterRegistry注册新路由后,每条路由都会被封装在特定的RouterActor中,负责处理对应的功能请求。- 例如,当收到
tools/call请求时,持有相应路由器的RouterActor将根据预设逻辑进行响应。这种动态响应机制使服务器能够灵活支持各种功能扩展。
- 标准行为体
- MCP定义了一系列标准行为体,负责实现诸如初始化和工具、提示、资源管理等基础功能。
- 这些标准行为体承担着处理初始请求和响应列表请求(如工具、提示、资源的列举)的任务。这使得与这些核心组件交互变得统一且规范。
未来开发计划
- MCP协议扩展:当前已实现基本功能,但通知机制仍在规划中。此外,未来的版本还将支持认证/授权、错误处理和日志记录等功能。
- 传输扩展:计划增加对stdio和wasi的支持,丰富服务器的通信方式。
- 寻求帮助:欢迎社区贡献代码或提供反馈。若发现任何问题,请通过以下链接提交:[GitHub](https://github.com/your - repository) ,联系人:张三
如何贡献
我们热烈欢迎开源社区的积极参与!您可以通过以下方式贡献力量:
- 报告问题:在GitHub仓库中提交Issue。
- 功能开发:fork仓库,在新的分支中实现新功能。
- 代码审查:参与现有Pull Request的评审工作。
联系我们
- 邮箱:Enterprise Support Team
- 电话:+86 - 010 - 12345678
加入我们,一起推动AI技术的发展!
Scan to contact