使用说明(简要、清晰,便于开发者快速理解与落地)
-
项目简介
- ai-infra 提供一个面向 MCP 的后端服务器框架,能够托管并管理资源(Resources)、注册并执行工具(Tools)、定义并渲染 Prompt 模板(Prompts),并通过标准的 JSON-RPC 与 LLM 客户端进行交互,形成统一的上下文服务层。
-
主要功能点
- 资源与数据访问:服务器可托管、读取、搜索和管理各类资源(文本、二进制等)。
- Tools 注册与执行:支持工具的发现、调用与结果返回,便于 LLM 调用外部功能。
- Prompt 模板渲染:提供对 Prompt 的加载、渲染与展示,支持自定义交互模版。
- MCP 客户端/服务端通信:基于 JSON-RPC 进行请求/响应,具备会话管理和能力声明。
- 多传输协议:服务器端可通过多种传输协议与客户端对接,例如 StdIO、SSE、WebSocket,提升灵活性与集成能力。
- 安全与扩展性:提供拦截器、回调、容错、日志与追踪等基础设施,便于企业场景落地。
-
安装步骤
- 参考 PyPI 安装包:pip install ai-infra
- 根据需求选择后端实现方式(内存、磁盘存储、数据库等)及 MCP 服务启动方式
- 如需从函数自动创建 MCP 服务,请使用提供的工具函数(如 mcp_from_functions),并通过 run() 启动传输通道(如 stdio)
-
服务器配置(MCP 客户端使用的启动配置,JSON 格式) 服务器配置用于 MCP 客户端在启动时知道如何连接与交互。以下字段为常见必需信息,请据实际部署替换为你自有的数值:
- server_name: MCP 服务器实例的唯一名称,例如 "my-mcp"
- transport: 传输协议,常见值为 "stdio"(通过标准输入/输出)、"sse"、"websocket" 等
- command: 启动服务器进程的可执行命令,例如 "python"、"node" 等
- args: 启动命令的参数列表,按顺序传递给 command,比如 ["-m", "ai_infra.mcp.server"] 或者 ["server.py"] 说明:该配置仅用于 MCP 客户端连接并启动 MCP 服务器进程,MCP 客户端需要的只是 server_name、command、args 等信息以建立通信。请勿将敏感信息硬编码在公开配置中。
服务器配置示例(JSON,便于直接传递给 MCP 客户端),请按实际环境替换数值: { "server_name": "my-mcp", "transport": "stdio", "command": "python", "args": ["-m", "ai_infra.mcp.server"] }
-
基本使用方法
- 启动 MCP 服务器
- 根据配置启动服务器进程,确保服务器可以通过所选传输协议对外通信
- MCP 客户端对接
- 使用 MCP 客户端连接到服务器(如 stdio、SSE、WebSocket 等传输通道)
- 客户端可通过列表工具、读取资源、执行工具、获取 Prompts 等 RPC 调用来与 MCP 服务器交互
- 资源/工具/Prompts 的管理
- 服务器端提供统一的接口管理资源、工具以及 Prompt,LLM 客户端可通过 RPC 调用完成数据访问、功能触发和模板渲染
- 安全与可观测性
- 结合回调、拦截器与日志系统实现对请求的审计、限流、重试与错误处理
- 启动 MCP 服务器
-
重要提醒
- MCP 服务器与 MCP 客户端通过标准化的 JSON-RPC 进行通信,务必确保网络通道、鉴权与访问控制策略符合你的安全合规要求。
- 如需自定义工具、资源或提示模板,请参考仓库内相应模块的文档及示例,用以实现你自己的 MCP 服务端能力声明。
-
备注
- 本项目在仓库中提供了完整的服务端与客户端实现,以及 OpenAPI→MCP 的转换、拦截器、提示加载等组件,适用于需要将 LLM 的上下文信息、工具能力与自定义 Prompt 以 MCP 服务方式对外暴露的场景。
信息
分类
AI与计算