使用说明
金融MCP服务器
股票市场数据API服务器由yfnance和FastMCP构建,具有身份验证、缓存和监控功能。
特性
- 📊 实时股票报价和历史数据
- 📈 财务报表和基本面
- 📰 新闻和分析师建议
- 🔐 基于标头的身份验证
- 💾 智能缓存(20s TTL)
- 📝 结构化日志记录
- ❤️ 健康检查端点
- 🌐 CORS支持
- 📊 内置指标
快速开始
本地开发
# Install dependencies
uv sync
# Run in local stdio mode (for MCP client development)
python main.py --local
# Run in HTTP mode for testing
export PORT=8080
python main.py
生产部署
# Using uvicorn (recommended for production)
uvicorn main:app --host 0.0.0.0 --port 8080
# With multiple workers for better performance
uvicorn main:app --host 0.0.0.0 --port 8080 --workers 4
部署以渲染
看 部署.md 了解详细的部署说明。
API终点
所有工具均可作为MCP工具使用:
health-服务器状态和指标quote-获取当前股价history-历史OHLCV数据fundamentals-公司基本面financials-财务报表holders-机构持有人news-最新动态analyst_recommendations-分析师评级calendar-即将举行的活动options_expirations-可用选项日期option_chain-期权链数据
配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_CLIENT_ID |
stock-mcp-client |
验证客户端ID |
MCP_CLIENT_SECRET |
super-secret-key |
身份验证密钥 |
PORT |
8080 |
服务器端口(HTTP模式) |
LOG_LEVEL |
INFO |
日志记录级别 |
REQUEST_TIMEOUT |
30 |
y融资超时(秒) |
RATE_LIMIT_REQUESTS |
100 |
每分钟请求数 |
CORS_ORIGINS |
* |
允许的CORS源(逗号分隔) |
认证
在所有请求中包含标头:
X-Client-Id: your-client-id
X-Client-Secret: your-secret
示例
使用curl
# Health check
curl -H "X-Client-Id: stock-mcp-client" \
-H "X-Client-Secret: super-secret-key" \
http://localhost:8080/health
# Get quote
curl -H "X-Client-Id: stock-mcp-client" \
-H "X-Client-Secret: super-secret-key" \
http://localhost:8080/quote?symbol=AAPL
生产特点
✅ 具有可配置级别的结构化日志记录 ✅ 全面的错误处理 ✅ 用于监控的健康检查端点 ✅ 请求/错误/缓存指标 ✅ web客户端的CORS支持 ✅ 启动时的环境验证 ✅ 智能缓存可减少API调用
发展
# Run tests
uv run pytest
# Format code
uv run black main.py
# Type check
uv run mypy main.py
许可证
麻省理工学院