对于AI代理: 市场数据以Bloomberg终端格式呈现。不是原始JSON,而是可以直接阅读的格式化表格。导航方式类似于BBG:markets() → sector('technology') → ticker('AAPL') → ticker_options('AAPL')。智能默认设置(自动检测市场时间),逐步披露(概要→详细)。
对于人类: 密集、可扫描的屏幕。因子暴露、动量、期权定位——所有内容都格式化得像一个专业终端。
技术细节: 本地标准输入输出服务器,由yfinance驱动。所有查询均由用户发起(无自动化——这是一个研究工具,而不是生产基础设施)。
我们的差异化特点:BBG Lite格式,适合AI代理的屏幕
市场 | 2025年10月26日 星期日 12:42 EDT
美国股票 价格 变动 1个月 1年
S&P 500 6791.69 +0.79% +2.2% +16.9%
纳斯达克 23204.87 +1.15% +3.2% +25.3%
道琼斯指数 47207.12 +1.01% +2.1% +12.1%
罗素2000指数 2513.47 +1.24% +3.3% +13.8%
行业板块 股票代码 价格 变动 1个月 1年
科技 XLK 293.58 +1.23% +5.3% +28.3%
金融 XLF 53.11 +0.84% -1.4% +15.6%
医疗保健 XLV 146.03 -0.05% +7.8% +0.0%
能源 XLE 88.07 -1.01% -4.3% +1.4%
[... 所有11个GICS行业板块]
商品 价格 变动 1个月 1年
黄金 4137.80 +0.05% +9.6% +51.0%
WTI原油 61.50 +0.10% -6.4% -14.3%
截至2025年10月26日 12:42 EDT的数据 | 数据来源:yfinance
密集、可扫描、专业的输出。不是原始JSON——而是为人类设计的格式,AI可以自动受益。
Bloomberg终端风格的市场数据导航屏幕:
mcp-yfinance-ux 包含一个可重用库,用于可靠的yfinance数据获取。
yfinance数据获取逻辑的唯一真实来源:
yf.Ticker().history()调用(可靠)yf.download()批量API(不可靠——超时,整个批次失败)使用场景:
mcp_yfinance_ux/historical.py从lib/导入关键函数:
fetch_price_history(symbol, months=12) - 单个符号的历史数据fetch_multiple_histories(symbols, months=12) - 并行多符号获取fetch_ticker_and_market(symbol, months=12) - 获取单个股票及其市场数据(用于因子分析)fetch_price_at_date(symbol, date) - 在特定日期的价格(窄窗口)为什么这种模式有效:
文档: 请参阅lib/README.md中的使用示例和部署流程。
此工具仅适用于临时、用户发起的请求。不适合自动化。
yfinance是一个非官方的网页抓取器,不是授权的Yahoo Finance API。它模拟浏览器请求来获取财务数据。
影响:
✅ 合适的使用场景:
所有查询都是用户发起且交互式的。
❌ 永远不要用于:
如果您需要自动化或生产级数据,请使用官方API(如Alpha Vantage、Polygon.io、IEX Cloud等)
这个MCP服务器是一个用于偶尔查询的研究工具,而不是生产基础设施。非常适合PMF测试和随机分析。不适合自动化或持续监控。
git clone https://github.com/bxxd/idio-mcp-yfinance-ux.git
cd idio-mcp-yfinance-ux
poetry install
注意: 这是一个本地标准输入输出MCP服务器。它运行在您的机器上,并通过标准I/O连接到MCP客户端(不通过HTTP/网络)。所有数据都保留在本地。
方法1:使用make -C(推荐)
从项目目录:
claude mcp add idio-yf make -C /绝对路径/to/mcp-yfinance-ux serve
或者手动添加到~/.claude.json下的项目mcpServers:
{
"projects": {
"/path/to/your/project": {
"mcpServers": {
"idio-yf": {
"type": "stdio",
"command": "make",
"args": ["-C", "/绝对路径/to/mcp-yfinance-ux", "serve"],
"env": {}
}
}
}
}
}
为什么采用这种方法?
方法2:直接命令(替代方案)
如果您不想使用make:
claude mcp add idio-yf poetry run python -m mcp_yfinance_ux.server --cwd /path/to/mcp-yfinance-ux
或者手动:
{
"projects": {
"/path/to/your/project": {
"mcpServers": {
"idio-yf": {
"type": "stdio",
"command": "poetry",
"args": ["run", "python", "-m", "mcp_yfinance_ux.server"],
"cwd": "/绝对路径/to/mcp-yfinance-ux",
"env": {}
}
}
}
}
}
注意: 对于claude CLI用户,MCP服务器配置在每个项目的~/.claude.json中。其他MCP客户端可能有不同的配置方法。
方法3:SSE/HTTP服务器(用于基于web的部署)
对于基于web的界面或需要持久HTTP服务器的情况:
# 启动HTTP服务器(在后台运行,端口5001)
make server
# 或指定自定义端口
PORT=8080 make server
# 查看日志
make logs
配置Claude Code以使用SSE传输:
{
"projects": {
"/path/to/your/project": {
"mcpServers": {
"yfinance-ux": {
"type": "sse",
"url": "http://127.0.0.1:5001/sse"
}
}
}
}
}
何时使用SSE:
何时使用stdio:
配置后,重新启动您的MCP客户端以加载服务器。
工作原理:
导航层次结构类似于Bloomberg终端:
markets() → sector('technology') → ticker('AAPL')
完整的因子景观,无需参数:
mcp__idio_yf__markets()
显示:
自动检测市场时间(盘后显示期货,盘中显示指数)。
详细的行业分析,包括顶级持仓:
mcp__idio_yf__sector(name='technology')
显示:
可用行业:
technology, financials, healthcare, energy, consumer_disc, consumer_stpl, industrials, utilities, materials, real_estate, communication
完整的因子分解,针对股票:
mcp__idio_yf__ticker(symbol='AAPL')
显示:
并排股票比较:
mcp__idio_yf__ticker(symbol=['TSLA', 'F', 'GM'])
表格格式显示: 符号、名称、价格、变动%、Beta、特异性波动率、1年动量、P/E、股息收益率、RSI
BBG Lite风格 - 密集、可扫描、专业的格式,类似于Bloomberg终端。
示例ticker()输出:
AAPL 美国股票 最新价格 262.24 +9.95 +3.94%
苹果公司 市值 3891.7B 成交量 90.1M
因子暴露
对SPX的Beta 1.09
特异性波动率 21.7%
总波动率 32.8%
估值
P/E比率 39.85
前瞻P/E 31.56
股息收益率 0.40%
日历
盈利 2025年10月30日 (预计EPS $1.77)
除息 2025年8月11日
支付日 2025年8月14日
动量和技术指标
1个月 +6.8%
1年 +11.4%
50日均线 241.73
200日均线 222.14
14天RSI 59.5
52周范围
最高 264.38
最低 169.21
当前 262.24 [===================░] 98% 的范围
示例批量比较:
股票比较 2025年10月21日 08:42 EDT
符号 名称 价格 变动% Beta 特异性波动率 1年动量 P/E 股息收益率 RSI
---------------------------------------------------------------------------------------------------------
AAPL 苹果公司 262.24 +3.94% 1.09 21.7% +11.4% 39.85 0.40% 59.5
MSFT 微软公司 516.79 +0.63% 1.02 17.0% +24.3% 37.89 0.70% 48.8
GOOGL Alphabet公司 256.55 +1.28% 1.00 25.5% +57.1% 27.32 0.33% 66.1
干净、易读、立即有用。
使用Makefile(推荐):
make all # 运行lint + 测试(提交前始终执行)
make test # 运行测试
make lint # 运行类型检查 + linting
make lint-fix # 自动修复linting问题
make serve # 运行MCP服务器(stdio模式)
make help # 显示所有命令
手动测试(无需MCP):
# 通过CLI测试屏幕(无需重启MCP)
./cli markets
./cli sector technology
./cli ticker AAPL
./cli ticker TSLA F GM # 批量比较
MIT