EODHD MCP服务器
特性
- 20工具 -16个原始API直通,覆盖37+EODHD端点(包括Unicornbay美国选项) 加上4个功能工具 (
snapshot,financials,compare,health_check)通过衍生分析组合多个端点 - 分析层 --23个标准财务比率、TTM汇总、Z-score异常检测、5维健康记分卡
- 时间切片打开
fundamentals—last_n,from,to在服务器端剪辑每个日期键周期表,这样一次调用可以返回“最后4个季度”,而不是30多个季度的历史记录 - SQLite缓存 --捆绑(不需要系统SQLite),每个端点TTL类(60秒实时、24小时EOD、7天基础、1小时衍生快照);文件位于二进制文件旁边,严格来说是每个用户的本地缓存
- LLM优化输出 --能力工具将响应包装在
//带有散文摘要、结构化表格、新鲜度和警告的信封 - 编译的Rust二进制文件 --快速启动,低内存,无运行时依赖性
- Windows本机 --构建为单个
.exe,不需要OpenSSL(使用rustls)。也可以在Linux和macOS上干净地构建。 - stdio传输 --Claude Desktop在stdin/stdout上的标准MCP协议
- 已测试 --79个单元测试+4个基于夹具的集成测试,以及一个实时stdio验证工具
需求
- 防锈工具链 (1.70+)
- 一 EODHD API密钥 (免费演示密钥可用于测试)
- Claude Desktop(或任何兼容MCP的客户端)
快速开始
构建
git clone https://github.com/mklmto/eodhd-mcp.git
cd eodhd-mcp
cargo build --release二进制文件位于 target/release/eodhd-mcp.exe (Windows)或 target/release/eodhd-mcp (Linux/macOS)。
配置Claude桌面
将以下内容添加到您的Claude Desktop配置文件中:
- 视窗:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"eodhd": {
"command": "C:\\path\\to\\eodhd-mcp.exe",
"env": {
"EODHD_API_KEY": "your-api-key-here"
}
}
}
}重新启动克劳德桌面。您应该在工具菜单中看到EODHD工具。
验证构建(可选)
针对二进制文件的stdio烟雾测试可在以下网址获得 scripts/:
./scripts/validate.sh # demo key (AAPL.US only)
EODHD_API_KEY=your-key ./scripts/validate.sh # full reference set.\scripts\validate.ps1 -ApiKey your-key需要Python 3.9+。练习 snapshot + health_check 端到端并断言响应包络。看 验证线束 详见下文。
演示键
如果 EODHD_API_KEY 如果未设置,服务器将回退到EODHD演示密钥,该密钥仅限于: AAPL.US, TSLA.US, VTI.US, AMZN.US, BTC-USD.CC, EURUSD.FOREXThe search 演示密钥上没有端点。
工具
能力工具(组合分析)
| 工具 | 说明 |
|---|---|
snapshot | 一次通话财务概况——将“概述”+“亮点”+“估值”+“股票状态”+“财务状况”:\*组成一份结构化报告,其中包含TTM利润率、杠杆率、FCF收益率、同比增长、新鲜度和警告。替换5-7个顺序 fundamentals 电话。 |
financials | DataFrame形状的财务报表(收入/余额/现金流/全部)。行=本机EODHD行项目+派生行(利润率、季度环比增长、FCF、净债务)。季度视图包括 TTM_4Q 列。 |
compare | 最多5个股票代码的并排指标比较。26个标准化度量键;发出值表和方向感知排名表(1=最佳)。并行获取。 |
health_check | 5维记分卡(盈利能力、流动性、偿付能力、效率、增长)综合得分为0-100+。严重性危险信号清单(根据规范附录C):高杠杆率、低覆盖率、收入连续下降、CFO与NI连续下降、回购保留为负、现金流非经常性项目的Z分数异常值、毛利率>2σ偏差。 |
所有四个包装输出都在一个 // 信封(散文、结构化表格、新鲜度+警告+来源)。
市场数据
| 工具 | 说明 |
|---|---|
price | 日终历史、日内(1m/5m/1h)和实时延迟报价 |
fundamentals | 公司财务、亮点、估值、收益、ESG filter, last_n, from, to 周期表的切片 |
dividends_splits | 股息支付和股票分割历史 |
market_cap | 历史市值(每周,2020年以后的美国股票) |
bulk_data | 在一次通话中为整个交易所提供大量EOD数据 |
分析与筛选
| 工具 | 说明 |
|---|---|
technicals | 20+指标:SMA、EMA、RSI、MACD、布林带、ATR、ADX、SAR、CCI等 |
screener | 按市值、行业、股息收益率、信号和其他标准筛选股票 |
news | 带有可选情绪评分(-1至+1)的财经新闻文章 |
insider_trading | 美国证券交易委员会表格4内幕买卖交易 |
options | 美国股票期权(Unicornbay):EOD希腊/IV时间序列、合约发现、底层列表——带过滤器、稀疏字段集、紧凑模式和自动分页 |
经济日历
| 工具 | 说明 |
|---|---|
macro_economic | 国家一级的指标(国内生产总值、通货膨胀、失业)和经济事件 |
calendar | 收益、首次公开募股、拆分、股息和收益趋势日历 |
treasury | 美国国债利率:国库券、长期、票面收益率曲线、实际收益率 |
参考
| 工具 | 说明 |
|---|---|
search | 按公司名称、股票代码或ISIN查找符号 |
exchange_info | 交易所列表、交易品种列表、交易时间和节假日 |
account | API使用情况、订阅类型和剩余配额 |
符号格式
EODHD使用 TICKER.EXCHANGE 符号:
| 类型 | 示例 |
|---|---|
| 美国股票 | AAPL.US, TSLA.US |
| 英国股票 | VOD.LSE |
| 加密货币 | BTC-USD.CC, ETH-USD.CC |
| 外汇 | EURUSD.FOREX |
| 指数 | GSPC.INDX |
| 债券 | 通过 GBOND 交换 |
示例提示
配置后,您可以向Claude询问以下问题:
能力工具(一次调用分析):
- *“给我一张ALYA.TO的快照。”*
- *“用衍生FCF显示苹果过去8个季度的现金流”*
- *“比较ALYA.TO、GIB.TO和ACN.US的EV/EBITDA、毛利率和收入同比”*
- *“在SHOP.TO上进行健康检查,并告诉我任何危险信号”*
原始市场数据:
- *“显示苹果过去30天的股价”*
- *“特斯拉的基本面亮点是什么?”*
- *“计算比特币的14天RSI”*
- *“筛选市值超过100亿美元、股息收益率超过2%的科技股”*
- *“显示本周即将公布的收益”*
- *“过去10年美国GDP的趋势是什么?”*
- *“获取有关NVIDIA的最新财务新闻”*
- *“取消AAPL 150最后10天的全部希腊罢工看涨期权”*
- *列出未来30天到期的AAPL期权合约,罢工150至200次*
- *“Unicornbay期权数据集涵盖了多少美国底层?”*
选项工具注释
这 options 该工具封装了EODHD Unicornbay美国股票期权数据集 需要活跃的市场订阅 在您的EODHD帐户上(使用相同的API密钥-没有单独的令牌)。覆盖范围约为6000个美国地下设施,2年EOD历史,纳斯达克上市。这三种模式是:
eod--每个合约的EOD时间序列,包括完整的希腊集合(delta、gamma、theta、vega、rho)、买入/卖出/最后一次、交易量、未平仓合约、隐含波动率。contracts--底层的轻量级合约发现(执行、到期、类型)。underlyings--所涵盖股票代码列表;不需要过滤器。
集 auto_paginate=true 跟随 links.next 自动(上限为 max_pages,默认值5)。使用 fields 对于稀疏字段集,以及 compact=true 以使JSON:API信封变平。API令牌将从任何出现的分页URL中删除。
项目结构
src/
main.rs Entry point — env var loading, stdio server startup
server.rs MCP server with all 20 tools (#[tool_router] macro)
client.rs HTTP client wrapping all EODHD API endpoints
types.rs Parameter structs with JSON Schema generation
format.rs Hybrid markdown/JSON formatting + envelope helper
cache/mod.rs Persistent SQLite cache (TTL per endpoint class)
analytics/
mod.rs Re-exports
normalization.rs Date detection, periodic slicing, null tolerance
ratios.rs 23 standard financial ratios + RatioSet aggregator
ttm.rs 4-quarter TTM rollups, YoY growth
anomaly.rs Z-score outlier detection, streak detectors
tools/
mod.rs Re-exports
fetch.rs Shared cached fetchers + freshness helpers
snapshot.rs snapshot tool (one-call profile)
financials.rs financials tool (DataFrame view)
compare.rs compare tool (multi-ticker, parallel)
health_check.rs health_check tool (scorecard + red flags)
tests/
fixtures/ Canned JSON responses
fixture_smoke.rs Baseline integration tests
scripts/
validate.ps1 Live smoke harness (Windows / PowerShell)
validate.sh Live smoke harness (Linux / macOS)缓存配置
EODHD_CACHE_PATH=C:\path\to\cache.db--覆盖位置(默认:二进制旁边为eodhd-cache.db)EODHD_CACHE_DISABLED=1-完全禁用缓存(每个调用都会命中实时API)
缓存故障不是致命的:如果SQLite文件无法打开或写入,服务器会记录警告并降级为直接调用API。
验证线束
scripts/validate.py (与 validate.ps1 / validate.sh 包装器)通过stdio MCP驱动二进制文件,运行 snapshot + health_check 根据规范附录B参考代码,并验证每个响应都包含 // 信封。
# Demo key — limited to AAPL.US
./scripts/validate.sh
# Real key — full Appendix B (AAPL.US, ALYA.TO, SHOP.TO, GIB.TO, BRK-A.US)
EODHD_API_KEY=your-key ./scripts/validate.sh
# Custom ticker set
./scripts/validate.sh --tickers AAPL.US,TSLA.US# Windows
.\scripts\validate.ps1
.\scripts\validate.ps1 -ApiKey your-key -Tickers AAPL.US,TSLA.US需要Python 3.9+。每次工具调用都是定时的;一 cache_hit=yes/no 每行详细信息列中的指示器表面。完全通过时退出代码0,任何失败时退出代码1。
免责声明
该项目是一个独立的、非官方的整合项目 与EODHD无关、不受EODHD认可或赞助(EOD历史数据)。它不会重新分发任何财务数据。响应在本地缓存在每个用户的SQLite文件中(请参见 缓存配置)纯粹是为了代表发出API调用的人减少重复调用;集 EODHD_CACHE_DISABLED=1 选择退出。
您必须拥有自己的EODHD API订阅 使用此服务器。通过此工具检索的所有数据均受 EODHD的条款和条件。您使用、显示或重新分发数据的权利取决于您的订阅级别(个人、商业、企业)。您有责任遵守EODHD的计划条款。
EODHD提供的财务数据不一定是实时的,也不保证是准确的。它不适合用于交易目的。本软件的作者对任何交易或投资损失不承担任何责任。
许可证
麻省理工学院——见 许可证 了解详情。
