财报分析与智能提取服务

一个基于Node.js和Postgres的财报分析与智能提取服务,支持SEC文件解析、收益报告智能分析和语义搜索功能。

  • by harjaapdhillon16
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 harjaapdhillon16/sec_mcp

使用说明

SEC文件+盈利情报MCP

Node.js+Express MCP服务器,带Context安全中间件,由Postgres+pgvector支持。大量计算(摄取、嵌入、比较)离线运行;MCP工具调用速度快,返回结构化JSON。

快速开始

  1. 安装deps
npm install
  1. 配置环境
cp .env.example .env

至少填写:

  • DATABASE_URL
  • SEC_USER_AGENT (SEC要求)
  • OPENAI_API_KEY (可选,用于实际嵌入)
  • FMP_API_KEY (可选,用于收入记录)
  1. 应用数据库架构
psql "$DATABASE_URL" -f db/migrations/001_init.sql
  1. 摄入文件(离线)
npm run ingest -- --ticker AAPL
  1. 预计算英特尔(离线)
npm run precompute -- --ticker AAPL
  1. 启动MCP服务器
npm run start

MCP工具

  • sec_latest_filing_intel

    • 输入: ticker 或 cik,可选 formType,可选 includeSections
    • 输出:归档元数据、关键指标、要点、风险总结、信号
  • sec_compare_latest_to_previous

    • 输入: ticker 或 cik,可选 formType
    • 输出:指标增量+叙述变化+引用
  • sec_semantic_search

    • 输入: ticker 或 cik, query,可选 sectionType,可选 limit
    • 输出:带有分数和片段的顶部匹配块
  • earnings_call_intel

    • 输入: ticker 或 cik,可选 year, quarter
    • 输出:预先计算的成绩单信息(需要成绩单摄取)

离线管道

SEC摄入

npm run ingest -- --ticker AAPL --forms 10-Q,10-K

预计算比较

npm run precompute -- --ticker AAPL

成绩单摄取(可选)

提供转录文件(JSON或文本):

npm run transcripts -- --file ./transcripts/aapl_q1_2025.json

JSON形状示例:

{
  "ticker": "AAPL",
  "cik": "0000320193",
  "callDate": "2025-01-30",
  "fiscalYear": 2025,
  "fiscalQuarter": 1,
  "transcriptText": "..."
}

备注

  • 美国证券交易委员会要求 User-Agent 联系方式。
  • 嵌入:设置 OPENAI_API_KEY 对于实向量;否则使用确定性回退。
  • 这 filing_chunks.embedding 列被设置为维度1536。如果使用不同的嵌入模型,请相应地更新模式。

文件夹结构

  • src/server.js -Express MCP服务器+上下文中间件
  • src/mcp/ -工具模式和处理程序
  • src/workers/ -离线管道(摄取、预计算、转录)
  • db/migrations/ -Postgres模式+pgvector设置