使用说明(简要、清晰,便于开发者快速理解与落地)

  • 项目简介

    • 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"] }

  • 基本使用方法

    1. 启动 MCP 服务器
      • 根据配置启动服务器进程,确保服务器可以通过所选传输协议对外通信
    2. MCP 客户端对接
      • 使用 MCP 客户端连接到服务器(如 stdio、SSE、WebSocket 等传输通道)
      • 客户端可通过列表工具、读取资源、执行工具、获取 Prompts 等 RPC 调用来与 MCP 服务器交互
    3. 资源/工具/Prompts 的管理
      • 服务器端提供统一的接口管理资源、工具以及 Prompt,LLM 客户端可通过 RPC 调用完成数据访问、功能触发和模板渲染
    4. 安全与可观测性
      • 结合回调、拦截器与日志系统实现对请求的审计、限流、重试与错误处理
  • 重要提醒

    • MCP 服务器与 MCP 客户端通过标准化的 JSON-RPC 进行通信,务必确保网络通道、鉴权与访问控制策略符合你的安全合规要求。
    • 如需自定义工具、资源或提示模板,请参考仓库内相应模块的文档及示例,用以实现你自己的 MCP 服务端能力声明。
  • 备注

    • 本项目在仓库中提供了完整的服务端与客户端实现,以及 OpenAPI→MCP 的转换、拦截器、提示加载等组件,适用于需要将 LLM 的上下文信息、工具能力与自定义 Prompt 以 MCP 服务方式对外暴露的场景。

信息

分类

AI与计算