使用说明

项目简介

Finnhub MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供金融市场数据。它通过集成 Finnhub API,将实时的股票行情、市场新闻、公司财务数据等信息以结构化的方式提供给 LLM,帮助 LLM 更好地理解和处理金融领域的相关问题。

主要功能点

  • 获取市场新闻 (list_news): 检索来自 Finnhub 的最新市场新闻,支持按新闻类别筛选。
  • 获取股票行情 (get_market_data): 查询指定股票的实时行情数据,包括价格、涨跌幅等。
  • 获取公司基本财务数据 (get_basic_financials): 获取上市公司的基本财务指标,例如收入、利润等。
  • 获取股票评级趋势 (get_recommendation_trends): 查询股票的分析师评级趋势,了解市场对股票的普遍看法。

安装步骤

  1. 安装依赖: 首先需要安装 'uv' 包管理器。请参考 uv安装指南 完成安装。安装完成后,在项目根目录下运行 'uv sync' 命令安装项目依赖。然后执行 'source .venv/bin/activate' 激活虚拟环境。
  2. 配置 Finnhub API 密钥: 在项目根目录下创建 '.env' 文件,并填入您的 Finnhub API 密钥。您需要在 Finnhub 官网 注册并获取 API 密钥。
    FINNHUB_API_KEY=<YOUR_FINNHUB_API_KEY>
  3. 安装 MCP 服务器: 运行命令 'fastmcp install server.py' 安装服务器。

服务器配置

MCP 客户端 (如 Claude) 需要配置以下 JSON 信息才能连接到 Finnhub MCP Server。请将以下配置添加到 MCP 客户端的配置文件中(例如 Claude Desktop 的 'claude_desktop_config.json')。

{
  "server_name": "mcp-finnhub",  // 服务器名称,与 server.py 中 MCP_SERVER_NAME 保持一致
  "command": "fastmcp",        // 启动服务器的命令,这里使用 fastmcp
  "args": [                    // 启动服务器命令的参数
    "run",                     // fastmcp 的子命令,表示运行服务器
    "server.py"                // 服务器入口文件
  ]
}

注意:

  • 确保 MCP 客户端能够找到 'fastmcp' 命令。如果 'fastmcp' 没有添加到系统环境变量中,您可能需要提供 'fastmcp' 可执行文件的绝对路径。
  • 上述配置中的 'server_name' 必须与 'server.py' 文件中 'FastMCP' 实例化的名称 ('MCP_SERVER_NAME') 一致。

基本使用方法

配置完成后,在 MCP 客户端中,您可以使用以下工具来获取金融数据:

  • 'list_news(category='general', count=10)': 获取指定类别 (默认为 'general') 的最新市场新闻,最多返回指定数量 (默认为 10) 的新闻。
  • 'get_market_data(stock='AAPL')': 获取指定股票代码 (例如 'AAPL' 代表苹果公司) 的实时行情数据。
  • 'get_basic_financials(stock='AAPL', metric='all')': 获取指定股票代码的基本财务数据。
  • 'get_recommendation_trends(stock='AAPL')': 获取指定股票代码的分析师评级趋势。

您可以在 LLM 的 Prompt 中指示 LLM 调用这些工具,例如: '请使用 get_market_data 工具查询股票 AAPL 的当前价格。'

信息

分类

网页与API