库存数据MCP服务器
一个通过雅虎财经提供实时股市数据的模型上下文协议(MCP)服务器 无需API密钥获取报价、历史数据、公司信息、财务报表等更多信息。
特点/特性
- 🔍 翻译为中文是:“🔍”(这个符号本身在中文里没有直接对应的翻译,它通常代表“放大镜”或“搜索”的意思,但在文本中直接保留原样)。不过,如果要解释其含义,可以说:“🔍 这个符号通常表示‘放大镜’或‘搜索’的意思。” 实时股票报价 - 当前价格、变化、成交量和市场数据
- 📊 表格 历史数据 - OHLCV数据,支持自定义周期和间隔
- 🏢(办公楼/公司) 公司信息 - 详细的公司简介、行业领域及指标
- 💰(钱/货币) 财务报表 - 损益表、资产负债表和现金流量表
- 🔎(放大镜符号,常用于表示搜索或观察) 股票代码搜索 - 通过公司名称查找股票代码
- 免费的 无需API密钥 - 使用yfinance获取公共Yahoo Finance数据
- 🚀 表情符号“🚀”通常被用来表示火箭、快速上升或加速等意象,在中文中可以翻译为“🚀(火箭/快速上升)”或者根据具体语境进行意译。不过,由于表情符号的直观性和普遍性,直接使用“🚀”在中文交流中也是完全可以的。 铁路就绪 - 一键部署到Railway.app
可用工具
1. get_stock_quote
获取当前股票价格和交易数据。
参数:
symbol(字符串,必填):股票代码(例如,“AAPL”,“MSFT”)response_format(字符串,可选):“markdown” 或 “json”(默认: “markdown”)
示例:
{
"symbol": "AAPL",
"response_format": "markdown"
}2. get_stock_info
获取全面的公司信息和指标。
参数:
symbol(字符串,必填):股票代码response_format(字符串,可选):“markdown”或“json”
示例:
{
"symbol": "TSLA",
"response_format": "json"
}3. get_stock_history
获取历史价格和成交量数据。
参数:
symbol(字符串,必填项):股票代码period(字符串,可选):"1d"(1天), "5d"(5天), "1mo"(1个月), "3mo"(3个月), "6mo"(6个月), "1y"(1年), "2y"(2年), "5y"(5年), "10y"(10年), "ytd"(年初至今), "max"(最大)(默认: "1mo")interval(字符串,可选):“1m”(1分钟)、“5m”(5分钟)、“1h”(1小时)、“1d”(1天)、“1wk”(1周)、“1mo”(1个月)等(默认:“1d”)response_format(字符串,可选):“markdown”或“json”
示例:
{
"symbol": "NVDA",
"period": "6mo",
"interval": "1d",
"response_format": "json"
}4. get_stock_financials
获取公司财务报表。
参数:
symbol(字符串,必填):股票代码statement_type(字符串,可选):“收入”、“余额”、“现金流”(默认:“收入”)quarterly(布尔值,可选):季度数据设为true,年度数据设为false(默认:false)response_format(字符串,可选):"markdown" 或 "json"
示例:
{
"symbol": "GOOGL",
"statement_type": "income",
"quarterly": false,
"response_format": "markdown"
}5. search_ticker
按公司名称搜索股票代码。
参数:
query(字符串,必填):公司名称或部分名称response_format(字符串,可选):"markdown" 或 "json"
示例:
{
"query": "Apple",
"response_format": "json"
}本地开发
先决条件
- Python 3.11或更高版本
- pip(在Python中,pip是包管理工具,用于安装和管理Python软件包)
安装
- 克隆此存储库:
git clone
cd stock-mcp-server- 安装依赖项:
pip install -r requirements.txt- 在本地运行服务器(标准输入输出模式):
python stock_mcp.py --transport stdio使用MCP Inspector进行测试
npx @modelcontextprotocol/inspector python stock_mcp.py这会打开一个网页界面,您可以在其中交互式地测试所有工具。
铁路部署
快速部署
- 推送到GitHub:
git init
git add .
git commit -m "Initial commit"
git remote add origin
git push -u origin main- 部署到铁路系统:
- 首选 railway.app(可译为“铁路应用”或保持原样,若作为专有名词) - 点击“新建项目”→“从GitHub仓库部署” - 选择您的存储库 - 铁路(或平台)将自动检测Dockerfile并进行部署
- 获取您的服务器URL:
- 一旦部署,Railway 将提供一个类似如下的公共 URL: https://your-app.railway.app - 复制此URL以进行Claude桌面配置
环境变量
无需设置环境变量! 此服务器不需要API密钥,因为它使用的是公开的雅虎财经数据。
铁路自动设置 PORT 变量 - 不要覆盖它。
Claude 桌面集成
部署到铁路(或铁路系统)后,请在您的Claude Desktop配置中添加以下内容:
配置位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
配置:
{
"mcpServers": {
"stock-data": {
"url": "https://your-app.railway.app",
"transport": "streamable-http"
}
}
}替换 your-app.railway.app 使用您实际的铁路网址。
重启Claude桌面版 保存配置后。
Docker 使用方法
构建镜像
docker build -t stock-mcp-server .本地运行
docker run -p 8080:8080 -e PORT=8080 stock-mcp-server测试服务器
# Health check
curl http://localhost:8080
# List available tools
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}'使用示例
获取苹果股票报价
向克劳德提出请求:
“苹果股票的当前价格是多少?”
幕后故事: 克劳德打电话来了 get_stock_quote 和,带有,与……一起 {"symbol": "AAPL"}
分析特斯拉的财务状况
向克劳德请求:
“给我看看特斯拉最新的损益表”
幕后故事: 克劳德打电话来了 get_stock_financials 与……一起;带有 {"symbol": "TSLA", "statement_type": "income"}
比较历史业绩
向克劳德提出请求:
“比较NVIDIA和AMD过去六个月的表现”
幕后故事: 克劳德来电 get_stock_history 多次进行并分析数据
故障排除
“无法获取该符号的数据”
- 验证股票代码是否正确
- 使用
search_ticker找到合适的符号 - 某些国际股票可能无法获取
铁路部署问题
- 在仪表板中检查铁路日志
- 验证Dockerfile在本地能否成功构建
- 确保你没有手动设置 PORT 环境变量
Claude 桌面连接问题
- 验证URL末尾没有斜杠
- 确认
transport设定为"streamable-http" - 检查Claude Desktop日志(帮助 → 查看日志)
- 配置更改后重启Claude桌面版
数据源
这台服务器使用 yfinance(注:这是一个用于从Yahoo Finance获取金融数据的Python库名称,直接翻译为“金融数据抓取库”或保持原名“yfinance”以体现其专业性和特定用途)这是一个开源库,用于从雅虎财经(Yahoo Finance)获取数据。这些数据仅供信息参考之用,在未经核实的情况下,不应将其用于交易决策。
数据限制:
- 实时数据可能会有15-20分钟的延迟
- 一些国际股票可能数据有限
- 不同股票代码的历史数据可用性各不相同
- 并非所有公司都提供财务报表
建筑
交通: 铁路领域的SSE(服务器发送事件),stdio用于本地开发 框架: FastMCP(MCP Python SDK) 数据验证: Pydantic v2(第二版) 股票数据: yfinance(雅虎财经API封装)
许可证
MIT 许可证 - 详见 LICENSE 文件
做出贡献
欢迎投稿!请:
- 为仓库创建分支
- 创建一个特性分支
- 进行你的更改
- 提交一个拉取请求
支持
对于问题或疑问:
