EasyReportDataMCP / README.md
JC321's picture
Upload 2 files
b1bccee verified

A newer version of the Gradio SDK is available: 6.4.0

Upgrade
metadata
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):

{
  "mcpServers": {
    "sec-financial-data": {
      "url": "https://jc321-easyreportdatamcp.hf.space/sse",
      "transport": "sse"
    }
  }
}

MCP 请求示例

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "search_company",
    "arguments": {
      "company_name": "Tesla"
    }
  },
  "id": 1
}

响应格式(纯 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

本地运行

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