Stock Data MCP Server
使用说明
- 项目简介
- 该仓库实现了一个用于 MCP(Model Context Protocol)的服务器端,能够提供资源数据访问、工具注册与执行、以及 Prompt 模板定义与渲染等核心能力,并通过 JSON-RPC 与客户端进行通信。服务器具备会话管理、能力声明,并支持多种传输协议,旨在为 LLM 应用提供可扩展的上下文服务。
- 主要功能点
- 资源管理与数据访问:后端托管多类数据资源,提供统一的数据访问能力。
- 工具注册与执行:注册可供 LLM 调用的工具,支持外部功能执行。
- Prompt 模板定义与渲染:提供可定制的提示模板,用于引导 LLM 的交互模式。
- JSON-RPC 通信:服务器通过 JSON-RPC 接收请求并返回响应,形成标准化的对话上下文能力提供方式。
- 会话管理与能力声明:维护会话状态、能力范围声明以及对外暴露的服务能力。
- 拓展传输协议支持:设计目标包括支持如 Stdio、SSE、WebSocket 等传输通道,以适配不同客户端的通信需求。
- 安装与运行
-
- 克隆并进入项目目录,确保 Python 环境就绪(建议使用 Python 3.9+,并在虚拟环境中安装依赖)。
-
- 按照仓库中的运行命令启动 MCP 服务器,例如使用命令行启动模式:uv run python -m stock_datasource.services.mcp_server(也可直接使用 python -m stock_datasource.services.mcp_server 指定参数启动)。
-
- 如需与 Claude Code / Cursor 等 IDE 集成,确保网络可访问服务器(默认端口通常为 8001,具体以实际启动参数为准)。
-
- 客户端配置时,遵循 MCP 客户端的连接要求,将服务器地址端口等信息填入客户端配置中。
-
- 服务器配置(供 MCP 客户端使用的连接信息示例)
注意:以下信息以示例形式描述,实际部署应替换为具体部署参数。配置为 JSON 格式,供 MCP 客户端参考,包含服务器标识、启动命令及参数等信息。
- server name: stock_datasource
- command: uv run python -m stock_datasource.services.mcp_server
- args: ["--port", "8001"] 说明:
- server name 表示 MCP 服务的唯一标识,用于在客户端侧区分不同的 MCP 服务实现。
- command 表示启动 MCP 服务的命令路径(不需要嵵代码),客户端仅需了解如何启动服务。
- args 表示命令的参数,例如端口号、网络选项等,确保 MCP 服务在指定端口对外暴露。
- 连接地址示例(供客户端参考,不作为代码展示):
- URL: http://localhost:8001/messages
- 传输方式:streamable-http(如客户端要求可选配置项)
- 基本使用方法
- 启用 MCP 服务后,MCP 客户端通过上述 URL 与服务器建立通信,发送 JSON-RPC 请求以读取资源、调用工具、获取 Prompt 模板等能力。
- 客户端仅需遵循 MCP 的请求/响应结构来发起调用,服务端负责解析请求、路由到相应资源或工具、并返回标准化的 JSON-RPC 响应。
- 如遇断线、鉴权失败、或能力不足等情形,客户端将收到相应的错误信息,服务端提供必要的错误码与描述以便诊断。