EODHD MCP Server
Markdown 使用说明
- 项目简介
- 该仓库实现了一个完整的 MCP 服务器,基于 FastMCP 框架提供对 EOD Historical Data API 的对接能力。通过 MCP 客户端(如 Claude Desktop/Code、ChatGPT MCP、MCP Inspector 等)可以以标准化的方式读取资源、注册并执行工具(Tool),以及获取和渲染 Prompt 模板。
- 服务器支持三种传输模式:HTTP(streamable-http)、SSE、以及 STDIO,方便在本地开发、测试或嵌入到代理客户端中使用。
- 主要功能点
- 资源管理:将本地 markdown 参考文档注册为 MCP 资源,客户端可通过标准接口读取。
- 工具注册与执行:大量封装的接口工具,覆盖历史、实时、新闻、市场数据、宏观经济、投资者数据等多类 API 调用,统一通过 JSON 形式返回。
- Prompt 模板/渲染(Prompts):提供用于渲染与执行的模板定义与渲染过程(仓库内有资源和工具,Prompts 说明在文档中描述)。
- JSON-RPC 通信:服务器端通过 MCP 协议处理 JSON-RPC 风格的请求与响应,确保与 MCP 客户端的兼容性。
- 多传输协议支持:HTTP(streamable-http)、SSE、STDIO,方便不同客户端的接入场景。
- 安装步骤
- 克隆仓库并进入目录
- 安装依赖:Python 3.10+,并执行 pip install -r requirements.txt
- 申请 EODHD API Key,将其设置为环境变量 EODHD_API_KEY,或通过启动参数传入
- 服务器配置(MCP 客户端配置示例,非必须,供客户端理解如何接入服务器)
- 说明:下面是一份 JSON 格式的配置示例,用于说明客户端如何启动并连接到服务器。请将 path、path 对应的实际路径、以及 API Key 替换成你本地的实际值。
- 配置示例(JSON,单行展示以便阅读): { "server_name": "eodhd-mcp", "command": "python3", "args": [ "/path/to/your/project/EODHD_MCP_server/server.py", "--stdio" ], "env": { "EODHD_API_KEY": "YOUR_EODHD_API_KEY" }, "host": "127.0.0.1", "port": 8000, "transport": "stdio" }
- 说明:
- server_name:服务器实例名称,便于在多实例环境中区分。
- command/args:启动服务器所需的命令和参数。示例中使用标准的 STDIO 入口(server.py 结合 --stdio),也可按需要替换为 HTTP/SSE 入口(如 entrypoints/server_http.py、entrypoints/server_sse.py)。
- env:需要的环境变量,如 EODHD_API_KEY。
- host/port:服务器监听地址与端口。
- transport:默认使用 STDIO,若改用 HTTP/SSE,请相应调整为 http/sse。
- 基本使用方法
- 本地启动
- 通过 STDIO 连接:将配置中的 command/args 设置为运行 server.py 并带上 --stdio,然后在 MCP 客户端中添加该 HTTP/STDIO 源。
- 通过 HTTP/SSE 连接:将入口改为 HTTP/HTTPS 服务,使用 host/port/path 访问 mcp 路径,参考 README 中的配置示例。
- 客户端接入要点
- MCP 客户端需要对接的 URL 为 http(s)://<host>:<port>/mcp(若使用 streamable-http 需提供 path,如 /mcp)。
- 客户端需要提供 EODHD_API_KEY(或通过服务器的环境变量注入),以便工具对接 EODHD 的 API。
- 客户端可使用提供的工具集合进行数据查询、市场数据获取等操作,并通过 MCP 的统一接口获得 JSON 风格的结果。
- 本地启动
- 服务器使用示例
- 启动本地 HTTP 服务(示例,需改为实际路径): python -m entrypoints.server_http
- 启动本地 SSE 服务: python -m entrypoints.server_sse
- 启动本地 STDIO 服务: python -m entrypoints.server_stdio --apikey YOUR_EODHD_API_KEY
- 通过 Claude/ChatGPT 等客户端接入时,将服务器 URL 配置为上述启动的服务地址,并在需要时提供 EODHD 的 API Key。