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。

服务器信息