EasyReportDataMCP / README.md
JC321's picture
Upload 2 files
b1bccee verified
---
title: SEC Financial Data MCP Server
emoji: 📊
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit
---
# SEC Financial Data MCP Server (FastMCP)
🚀 **已迁移到 Anthropic 官方 FastMCP SDK** - 代码量减少 84%,更简洁、更易维护!
## ✨ 新特性
- ✅ 使用 Anthropic 官方 FastMCP SDK (v1.2.0)
- ✅ 代码从 636 行缩减到 ~200 行 (减少 84%)
- ✅ 纯 JSON 响应(`json_response=True`
- ✅ 使用装饰器定义工具(`@mcp.tool()`
- ✅ 100% MCP 协议兼容
- ✅ SSE 传输支持
## 📊 工具列表
1. **search_company** - 按公司名称搜索
2. **get_company_info** - 获取公司详细信息
3. **get_company_filings** - 获取SEC文件列表
4. **get_financial_data** - 获取特定期间财务数据
5. **extract_financial_metrics** - 提取多年财务指标(支持按年度和季度,时间降序)
6. **get_latest_financial_data** - 获取最新财务数据
7. **advanced_search_company** - 高级搜索(支持公司名/CIK)
## 🔗 MCP 端点
- **SSE 传输**: `https://your-space.hf.space/sse`
- **方法**: POST
- **格式**: JSON-RPC 2.0
## 📝 使用示例
### 客户端配置
将以下配置添加到你的 MCP 客户端(如 Claude Desktop):
```json
{
"mcpServers": {
"sec-financial-data": {
"url": "https://jc321-easyreportdatamcp.hf.space/sse",
"transport": "sse"
}
}
}
```
### MCP 请求示例
```json
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "search_company",
"arguments": {
"company_name": "Tesla"
}
},
"id": 1
}
```
### 响应格式(纯 JSON)
```json
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\"cik\":\"0001318605\",\"name\":\"TESLA, INC.\",\"tickers\":[\"TSLA\"],\"sic\":\"3711\",\"sic_description\":\"Motor Vehicles & Passenger Car Bodies\"}"
}
]
}
}
```
## 🚀 部署
### Hugging Face Space
1. 推送代码到 HF Space
2. 服务自动启动在端口 7860
3. MCP 端点: `https://your-space.hf.space/sse`
### 本地运行
```bash
pip install -r requirements.txt
python app.py
```
服务将启动在 `http://0.0.0.0:7860/sse`
## 📦 依赖
- `mcp[cli]==1.2.0` - Anthropic 官方 MCP SDK
- `sec-edgar-api==1.1.0` - SEC EDGAR API
- `fastapi==0.109.0` - Web 框架
- `uvicorn[standard]>=0.30` - ASGI 服务器(mcp 要求 >=0.30)
- `pydantic>=2.10.1` - 数据验证(mcp 要求 >=2.10.1)
## 🔄 从旧版本迁移
旧版本使用的是手动实现的 MCP 服务器(`mcp_server_sse.py`)。新版本已完全迁移到 FastMCP:
- ✅ 所有 7 个工具功能完全相同
- ✅ 所有响应格式完全相同(纯 JSON)
- ✅ MCP 客户端配置只需将 URL 端点从 `/sse` 保持为 `/sse`(无需更改)
- ✅ 代码更简洁,维护更容易
## 📚 技术栈
- **MCP SDK**: Anthropic FastMCP 1.2.0
- **SEC API**: sec-edgar-api 1.1.0
- **Web框架**: FastAPI + Uvicorn
- **Python**: 3.10+
## 🎯 数据排序
财务数据按时间降序排列:
- FY2024 → 2024Q4 → 2024Q3 → 2024Q2 → 2024Q1
- FY2023 → 2023Q4 → 2023Q3 → 2023Q2 → 2023Q1
- ...
## 📄 License
MIT License