金融数据服务

一个集成SEC EDGAR的金融数据服务,提供公司元数据、历史财务报表和SEC文件,支持大型语言模型进行金融分析和研究。

  • by leehack
  • Dart
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 leehack/finance-mcp

使用说明

金融MCP服务器

用Dart编写的模型上下文协议(MCP)服务器,与SEC EDGAR集成,为大型语言模型提供全面的财务数据和分析工具。

该服务器使LLM能够获取公司元数据、历史财务报表(长达10年)和SEC文件(10-K、10-Q、8-K),用于情绪分析和基础研究。

特性

  • 公司元数据:将股票代码解析为CIK和公司名称。
  • 财务报表:使用计算指标(ROE、ROIC)检索长达10年的资产负债表、损益表和现金流。
  • 行情走势:访问8-K、10-K和10-Q文件的全文内容进行情绪分析(符合SEC用户代理要求)。
  • 分析提示:内置提示 comprehensive_analysis 和 compare_stocks 指导法学硕士进行结构化财务报告。
  • 灵活运输:支持 stdio (默认)适用于本地客户 http (SSE)用于远程部署。
  • Docker支持:已准备好使用Dockerfile进行容器化部署。

安装

选项1:全局激活(推荐)

从pub.dev全局安装,以便在任何地方使用CLI:

dart pub global activate finance_mcp

选项2:来源

为了发展或贡献:

git clone https://github.com/leehack/finance-mcp.git
cd finance_mcp
dart pub get

用法

运行服务器

1.标准运输(默认) 非常适合与Claude Desktop等客户在本地使用。

# If installed globally:
finance_mcp
# OR
dart pub global run finance_mcp

# If from source:
dart run bin/server.dart

2.HTTP传输(SSE) 公开远程连接的SSE端点。

dart run bin/server.dart --transport http --port 3000

服务器将监听 http://0.0.0.0:3000/mcp.

配置

与一起使用 克劳德桌面版,将以下内容添加到您的 mcp.json:

1.使用全局安装(最简单)

{
  "mcpServers": {
    "finance-mcp": {
      "command": "dart",
      "args": ["pub", "global", "run", "finance_mcp"]
    }
  }
}

2.使用Docker

{
  "mcpServers": {
    "finance-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "finance-mcp"]
    }
  }
}

3.使用来源(开发)

{
  "mcpServers": {
    "finance-mcp": {
      "command": "dart",
      "args": ["run", "/ABSOLUTE/PATH/TO/finance-mcp/bin/server.dart"]
    }
  }
}

高级:自动更新全局安装

自动更新 finance_mcp 每次运行它(增加延迟):

Click to see configuration

macOS/Linux:

{
  "mcpServers": {
    "finance-mcp": {
      "command": "/bin/sh",
      "args": [
        "-c",
        "dart pub global activate finance_mcp 1>&2 && $HOME/.pub-cache/bin/finance_mcp"
      ]
    }
  }
}

视窗:

{
  "mcpServers": {
    "finance-mcp": {
      "command": "cmd.exe",
      "args": [
        "/c",
        "dart pub global activate finance_mcp > NUL && %LOCALAPPDATA%\\Pub\\Cache\\bin\\finance_mcp.bat"
      ]
    }
  }
}

可用工具

  • get_company_info:

    • ticker:股票代码(例如AAPL)。
    • 返回CIK、名称和交换信息。
  • get_financial_statements:

    • ticker:股票代码。
    • period: annual 或 quarterly (默认值:每年)。
    • year:具体年份(可选)。
    • years:要获取的年数(默认值:5)。
    • 返回财务报表的结构化JSON。
  • get_sec_filings:

    • ticker:股票代码。
    • forms:要获取的表单列表(例如。, ["10-K", "8-K"]).
    • limit:最大文件数。
    • includeContent:用于获取全文正文的布尔值(默认值:false)。

发展

运行测试:

dart test

许可证

看 许可证.