项目简介

这是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型 (LLM) 客户端提供访问金融数据集(Financial Datasets)平台的能力。它允许 LLM 调用预定义的工具来获取股票和加密货币的财务报表、价格、新闻等信息。

主要功能点

该服务器提供以下工具,使 LLM 能够:

  • 获取公司的利润表。
  • 获取公司的资产负债表。
  • 获取公司的现金流量表。
  • 查询股票的当前最新价格。
  • 获取股票的历史价格数据(支持指定日期范围和时间间隔)。
  • 获取与公司相关的最新新闻。
  • 获取所有可用的加密货币代码列表。
  • 查询加密货币的当前最新价格。
  • 获取加密货币的历史价格数据(支持指定日期范围和时间间隔)。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/financial-datasets/mcp-server
    cd mcp-server
  2. 安装 uv 包管理器(如果未安装): 按照 uv 官方文档或 README 中的说明安装。
  3. 创建虚拟环境并安装依赖:
    uv venv
    source .venv/bin/activate # Windows 用户使用 .venv\Scripts\activate
    uv add "mcp[cli]" httpx
  4. 设置 API 密钥: 复制 '.env.example' 文件为 '.env',并在其中设置 'FINANCIAL_DATASETS_API_KEY' 为您的金融数据集 API 密钥。
    cp .env.example .env
    # 编辑 .env 文件,填入您的 API 密钥
  5. 运行服务器:
    uv run server.py
    服务器将通过标准输入/输出 (stdio) 与 MCP 客户端通信。

服务器配置 (用于 MCP 客户端)

MCP 服务器通常不直接运行,而是由 MCP 客户端(如 Claude Desktop)根据配置按需启动和管理。您需要在您的 MCP 客户端的配置中添加此服务器的信息。配置通常是一个 JSON 文件,指定服务器的名称、启动命令及其参数。

对于大多数 MCP 客户端,您需要提供以下信息:

  • 服务器名称 (server name): 一个唯一的标识符,例如 '"financial-datasets"'。
  • 启动命令 (command): 客户端用于启动服务器进程的命令路径。例如,如果您使用 'uv' 运行服务器,并且 'uv' 安装在 '/path/to/uv',则命令就是 '/path/to/uv'。
  • 启动参数 (args): 传递给启动命令的参数列表。这些参数告诉命令去哪里找到服务器脚本并如何运行。对于使用 'uv run server.py' 的情况,参数可能包括 '--directory'(指定项目根目录的绝对路径)和 'run server.py'。

例如,在 Claude Desktop 的 'claude_desktop_config.json' 文件中,配置结构类似如下:

{
  "mcpServers": {
    "您为服务器指定的名称": {
      "command": "您的 uv 或 Python 解释器路径",
      "args": [
        "--directory", "您的 mcp-server 项目的绝对路径",
        "run", "server.py" // 或者 "python", "server.py"
      ]
      // 其他可能的配置,如 transport 类型 (默认为 stdio)
    }
  }
}

请根据您实际的 'uv' 或 Python 安装路径以及 'mcp-server' 项目所在的绝对路径填写这些值,并参考您的具体 MCP 客户端的文档进行配置。配置完成后,重启客户端即可看到新增的功能工具。

基本使用方法

配置并启动服务器后,您可以通过连接到此 MCP 服务器的 LLM 客户端使用其提供的金融工具。只需在与 LLM 交互时提出需要获取金融数据的问题,LLM 会自动识别并调用相应的工具来获取信息。

例如,您可以尝试问:

  • "获取苹果公司 (AAPL) 最近的年度利润表。"
  • "告诉我特斯拉 (TSLA) 的当前股价是多少?"
  • "请获取微软 (MSFT) 在 2024 年 1 月 1 日到 2024 年 12 月 31 日之间的每日历史股价。"
  • "以日为间隔获取比特币 (BTC-USD) 从 2023 年初至今的历史价格。"
  • "获取亚马逊 (AMZN) 的最新新闻。"

LLM 将通过服务器调用工具,并将结果返回给您。

信息

分类

商业系统