使用说明内容(Markdown格式)

  • 项目简介

    • Flask-MCP-Plus 是一个在 Flask 框架上实现的 Model Context Protocol (MCP) 服务器端库,能够注册工具(Tools)、资源(Resources)与提示(Prompts),并通过 JSON-RPC 风格的接口向 MCP 客户端提供服务。它还支持流式传输(如 SSE)来高效地向客户端传输大规模上下文数据。
  • 主要功能点

    • 资源管理:注册静态或模板化资源,支持 URI 模板与查询参数解析,提供资源读取能力。
    • 工具注册与执行:将 Python 函数暴露为可被 MCP 客户端调用的工具,支持输入输出的 JSON Schema 生成与自定义输出结构。
    • 提示定义与获取:定义可由 MCP 客户端请求的提示,以及多种返回形式(文本、消息流等)。
    • JSON-RPC 风格通信:服务器通过统一的 JSON-RPC 2.0 风格请求/响应处理客户端请求。
    • 会话与能力声明:服务器初始化时可声明协议版本、服务器信息和能力清单,支持会话管理。
    • 多传输协议支持:内置对流式 HTTP 的支持,便于实时上下文数据传输。
    • 自动化的 JSON Schema 生成:对 Python 函数参数与类型进行推断,生成前后端对齐的输入输出结构。
  • 安装步骤

    • 直接在目标环境中通过 pip 安装依赖后即可使用,或克隆源码后按需集成到你的 Flask 应用中。
    • 常见环境要求:Python 3.9+、Flask 3+、Pydantic 2+,以及相关依赖库。
  • 服务器配置

    • MCP 服务器的启动需要一个 Flask 应用容器,将 MCP 实例挂载到应用中,提供以下端点与配置要素:
      • 服务器名称、版本信息等元数据
      • 已注册的 Tools、Resources、Prompts 的清单及定义
      • 接收 MCP 客户端发送的 JSON-RPC 请求并返回 JSON-RPC 风格的响应
    • 客户端连接配置(示例信息,客户端不需要直接修改服务器代码,仅用于理解如何连接):
      • serverName: 你在代码中设定的 MCP 服务器名称
      • type: streamableHttp
      • url: 服务器对外暴露的 MCP 入口地址,通常形如 http://<host>:<port>/mcp
      • command: 启动该 MCP 服务器所需的启动命令(示例,只作说明,实际需按你的部署方式执行)
      • args: 启动命令的参数(示例,实际以你的入口脚本为准)
    • 下面给出一个解释性配置(用于理解对接关系,非实际代码块)
      • serverName: "flask-mcp-plus"
      • command: "python"
      • args: ["path/to/your_flask_app.py"] // 启动入口,需替换为实际脚本
      • type: "streamableHttp"
      • url: "http://127.0.0.1:5000/mcp" 注:MCP 客户端通常只需要知道服务器的 URL、类型和超时时间等连接信息,实际的启动命令与参数由运维环境管理。
  • 基本使用方法

    • 在你的 Flask 应用中创建 MCP 实例,初始化并注册工具、资源与提示。
    • 通过装饰器或 API 将函数暴露为 MCP Tool/Resource/Prompt,库会自动生成相应的 JSON 架构和描述信息。
    • 使用 MCP 客户端连接该服务器并通过标准的 MCP JSON-RPC 方法(如 initialize、tools/list、tools/call、resources/read、prompts/get 等)进行交互。
    • 如需实时上下文传输,可使用库内置的流式 HTTP 方案实现,提升与大模型的交互体验。

信息

分类

AI与计算