pyplots MCP 服务端
使用说明(Markdown格式)
-
项目简介
- 该仓库实现了基于 MCP(Model Context Protocol)的后端服务,目标是为 AI 助手/LLM 客户端提供可检索的绘图规格、实现代码、相关库信息以及可执行的工具集合。服务通过标准的 JSON-RPC 请求/响应与客户端交互,支持资源(Resources)、工具(Tools)以及提示模板(Prompts)的托管、注册与渲染。
-
主要功能点
- 资源与实现:管理绘图规格(Specs)及其对应该库的实现(Impls),提供读取、创建、更新、查询等能力,便于 LLM 客户端获取特定绘图实现的代码。
- 工具与查询:提供 list_specs、search_specs_by_tags、get_spec_detail、get_implementation、list_libraries、get_tag_values 等工具,帮助客户端按标签、库、规格等进行检索与组合调用。
- Prompt 与模板:定义并渲染与绘图任务相关的提示模板,支持可定制的对话/任务模式,以引导 LLM 正确使用资源与工具。
- 会话与状态:实现会话管理、能力声明与状态追踪,确保多会话场景下的上下文隔离和稳定性。
- 多传输支持:设计初衷支持多种传输协议(如 SSE、Streamable HTTP、WebSocket 等),以覆盖本地开发、云端部署及对不同 LLM 客户端的接入需求。
- 数据库适配:结合 core/database 提供的多数据库适配能力;可在 PostgreSQL、SQLite 等环境下工作,支持本地开发与云端部署。
-
安装与运行
- 运行环境要求:Python 3.13 及以上,依赖库在仓库的依赖配置中集中管理。
- 启动方式:服务器入口通常通过运行服务器脚本或将 MCP 服务作为应用组件加载运行,具体实现可通过仓库中的 api/mcp/server.py 提供的接口进行初始化与启动。请使用您的部署环境中适合的方式引导服务启动(如直接执行入口脚本、通过应用服务器(如 uvicorn/ASGI)托管等),确保数据库连接配置就绪后再启动服务。
- 数据库配置与初始化:通过 core/database/connection 提供的连接配置进行数据库初始化,支持通过环境变量 DATABASE_URL、INSTANCE_CONNECTION_NAME 以及相关凭据进行连接配置。确保在正式环境中正确设置数据库连接,以便 MCP 服务能够读取 Specs/Libraries/Impls 等元数据。
-
配置(MCP 客户端必需的最小信息,供客户端在本地配置连接时参考) 说明:MCP 客户端需要通过一个 JSON 配置来知道如何启动并连接到 MCP 服务器。以下字段说明适用于客户端配置参考,实际服务器启动方式以该仓库实现为准。
- server_name: 服务器名称,在客户端配置中用于标识该 MCP 服务端。
- command: 启动服务器的命令(如运行 Python 入口的命令)。
- args: 启动命令的参数列表,描述服务器启动时的行为与网络/传输参数。 备注:服务器端具体实现可能提供不同的启动入口,请以仓库中 api/mcp/server.py 的实现为准;下列示例仅用于理解配置结构,不作为具体执行代码。
具体字段示例(JSON 结构描述,提供给 MCP 客户端的配置信息示意,含注释说明): { "server_name": "pyplots", "transport": "SSE", // 传输模式,示例支持 SSE(推荐)或 Streamable HTTP "command": "python", "args": ["-m", "api.mcp.server"] // 启动入口及参数,需与实际实现匹配 }
-
基本使用方法
- 第一步:准备环境
- 确保数据库连接可用,按照仓库的数据库配置要求设置 DATABASE_URL/INSTANCE_CONNECTION_NAME 等环境变量。
- 安装并配置所需依赖,确保 Python 版本、依赖库与数据库驱动可用。
- 第二步:启动 MCP 服务端
- 根据仓库实现的入口,在合适的应用环境中启动 MCP 服务端,以提供 JSON-RPC 的请求/响应能力。
- 第三步:在 MCP 客户端配置中添加服务器信息
- 参考上述配置字段,将服务器名称、启动命令及其参数等信息写入客户端的 MCP 配置中,确保客户端能够通过 JSON-RPC 向该服务器发起请求。
- 第四步:发起请求
- 使用 MCP 客户端发送标准的 MCP 请求(如获取规格列表、检索规格、获取实现代码、列出库、获取标签值等),服务器返回符合 MCP 协议格式的 JSON-RPC 响应。
- 第五步:查看与调试
- 通过日志与监控对接,确保会话管理、能力声明及多传输支持按预期工作,必要时调整传输通道配置以获得更好的稳定性与吞吐。
- 第一步:准备环境
-
运行成功的判断要点
- MCP 服务端能够接受并正确返回 MCP JSON-RPC 请求的响应,包含 list_specs、get_spec_detail、get_implementation、list_libraries、get_tag_values 等工具的结果。
- 能在不同传输模式下工作(SSE、HTTP 流传输等),并能正确处理会话与资源的上下文。
- 与数据库的集成稳定,能查询并返回 Specs/Libraries/Impls 的相关数据,以及实现代码、预览等字段。
-
关键词 数据服务, AI 集成, API 资源化, 绘图实现, 模型上下文
-
分类ID 5