optopsy-mcp
-
使用场景概览
- 这是一个完整的 MCP 服务器实现,提供选项数据资源的管理、回测分析工具的注册与执行,以及基于提示模板的交互支持。通过 MCP 客户端(如 Claude Desktop 或其他兼容客户端)可以读取数据、执行回测、比较策略、获取参数建议等。服务器支持通过标准传输(如 stdio、HTTP/WebSocket 等)与客户端通信,具备会话管理与能力声明。
-
主要功能点
- 资源与数据管理
- 支持多符号数据(SPY、QQQ 等),可从本地 Parquet 缓存读取或通过 inflow/Yahoo 数据源获取 OHLCV。
- 提供缓存状态查询、数据加载、Parquet 缓存写入与多数据源整合。
- 工具与工具目录
- 提供 13+ 个 MCP 工具入口(如 list_strategies、list_signals、get_loaded_symbol、construct_signal、suggest_parameters、run_backtest、compare_strategies、parameter_sweep、permutation_test、check_cache_status、fetch_to_parquet、get_raw_prices、build_signal 等),可通过 JSON-RPC 调用执行。
- Prompts 与模板
- 内建提示模板与信号/策略信息,支持将结果渲染成适合 LLM 处理的结构化响应,便于后续对话式问答与分析。
- MCP 协议与传输
- 实现基于 rmcp 的 MCP 服务器框架,支持 JSON-RPC 请求/响应的序列化与反序列化,具备错误处理、参数校验和结果序列化能力。
- 会话与安全
- 服务器具备会话上下文管理、符号解析和跨符号数据路径解析,确保数据在多符号场景下的一致性与隔离性。
- 部署与运行模式
- 支持本地开发的 stdio 模式,以及在云端部署的 HTTP 服务模式(通过 PORT 环境变量触发 HTTP 服务)。
- 资源与数据管理
-
安装与运行步骤
- 获取源码并编译
- 将仓库克隆到本地,进入项目根目录,执行 cargo build --release。
- 运行模式
- 本地开发/Claude Desktop 调试:以 stdio 模式启动,服务器将通过标准输入/输出与 MCP 客户端通信。
- 云端/HTTP 模式:设置环境变量 PORT,例如 PORT=8080,则服务器以 HTTP 服务方式启动,通过 /mcp 路径对外提供 MCP 服务。
- 数据准备
- 将选项数据放在本地 Parquet 缓存(默认 ~/.optopsy/cache),也可通过 inflow 下载并缓存数据。
- 启动参数与环境
- 数据缓存路径可通过 DATA_ROOT 环境变量进行覆盖,示例:DATA_ROOT=/path/to/cache。
- 常用客户端配置
- Claude Desktop 等 MCP 客户端通过配置项连接到服务器的启动命令与参数即可与 MCP 服务器建立通信(见下方的服务器配置示例)。
- 获取源码并编译
-
服务器配置(用于 MCP 客户端的启动信息,JSON 形式)
- server name: optopsy
- command: /path/to/optopsy-mcp/target/release/optopsy-mcp
- args: []
- 注解:若需要在容器或云环境中运行,请将 command 指向编译产物所在路径,必要时通过 env 设置 DATA_ROOT 指向数据缓存目录。
- 说明:MCP 客户端只需提供服务器名称与启动命令即可与服务器建立连接,具体参数按客户端需要传递的请求来进行通信。
-
基本使用方法
- 启动后:
- 使用 MCP 客户端连接,按需要选择是否使用数据缓存或在线数据源。
- 通过工具列表(list_strategies、list_signals 等)了解可用工具与参数。
- 发送 run_backtest、compare_strategies、parameter_sweep 等请求,服务器将返回结构化的 JSON 响应和/或 AI 辅助的结果摘要。
- 数据与符号管理:
- 如未加载符号数据,某些请求会自动从缓存中加载(需要提供 symbol)。
- 支持多符号场景,服务器会自动解析跨符号的 OHLCV 路径并返回结果。
- 开发与扩展:
- 服务器使用 rmcp 的工具路由机制,新增工具时只需在服务器实现中注册新工具即可暴露给 MCP 客户端。
- 启动后:
-
备注
- 当前实现处于积极开发阶段,API 和行为在后续版本中可能存在 Breaking Changes,请在测试环境中使用并关注变更日志。