使用说明

项目简介

本项目是一个实现了 Model Context Protocol (MCP) 协议的服务器,专注于金融数据分析领域。它通过集成 Alpha Vantage 和 Financial Modeling Prep 这两个流行的金融数据 API,为 LLM 客户端提供实时的股票价格和全面的公司基本面数据。该服务器旨在简化 LLM 应用访问金融信息的流程,使其能够更便捷地获取和利用结构化的金融市场数据。

主要功能点

  • 实时和历史股票价格数据: 支持获取股票的实时报价以及历史价格数据,方便进行时间序列分析和趋势预测。
  • 公司基本面数据: 提供包括公司概况、利润表、资产负债表、现金流量表和财务比率在内的全面的公司基本面数据,帮助深入了解公司运营状况和财务健康状况。
  • MCP 协议标准: 完全遵循 MCP 协议规范,确保与任何兼容 MCP 协议的 LLM 客户端无缝对接。
  • 工具化数据访问: 将数据获取功能封装为可调用的 "工具 (Tools)",LLM 客户端可以通过标准化的方式请求和使用这些工具。
  • Stdio 传输协议: 使用 Stdio 作为默认的传输协议,简化部署和集成过程。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm (Node.js 包管理器)。
  2. 克隆仓库: 使用 Git 克隆该仓库到本地:
    git clone https://github.com/kablewy/financial-analysis-mcp-server.git
  3. 进入项目目录: 导航到克隆下来的项目目录:
    cd financial-analysis-mcp-server
  4. 安装依赖: 使用 npm 安装项目所需的依赖包:
    npm install
  5. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入你的 Alpha Vantage 和 Financial Modeling Prep API 密钥:
    ALPHA_VANTAGE_API_KEY=YOUR_ALPHA_VANTAGE_API_KEY
    FMP_API_KEY=YOUR_FMP_API_KEY
    请替换 'YOUR_ALPHA_VANTAGE_API_KEY' 和 'YOUR_FMP_API_KEY' 为你从 Alpha Vantage 和 Financial Modeling Prep 官网申请的真实 API 密钥。
  6. 构建项目: 使用 npm 构建项目,将 TypeScript 代码编译为 JavaScript:
    npm run build
  7. 启动服务器: 使用 npm 启动 MCP 服务器:
    npm start
    服务器成功启动后,将在控制台输出 "Financial Analysis MCP server running on stdio" 信息。

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

为了让 MCP 客户端能够连接到此金融分析 MCP 服务器,你需要在客户端配置中指定服务器的启动命令和参数。以下是一个典型的 JSON 格式配置示例,你需要将其添加到你的 MCP 客户端配置中:

{
  "serverName": "financial-analysis-mcp-server",
  "command": "node",
  "args": [
    "dist/src/index.js"
  ]
}

配置参数说明:

  • 'serverName': 服务器名称,必须与 'src/index.ts' 中 'Server' 构造函数中定义的 'name' 属性值一致,本例中为 '"financial-analysis-mcp-server"'。
  • 'command': 启动服务器的命令,这里使用 'node' 命令来运行 JavaScript 文件。 确保你的系统环境变量 'PATH' 中包含 Node.js 可执行文件的路径。
  • 'args': 传递给启动命令的参数数组。 '"dist/src/index.js"' 指向编译后的服务器入口文件路径。 请确保此路径与实际编译输出路径一致。

基本使用方法

启动服务器后,MCP 客户端可以通过 Stdio 协议与之建立连接。客户端可以发送符合 MCP 协议的 JSON-RPC 请求来与服务器交互,主要包括:

  • ListToolsRequest: 请求服务器列出所有可用的工具。服务器将返回包含 'stock_price' 和 'company_fundamentals' 工具信息的响应。
  • CallToolRequest: 请求调用特定的工具,例如 'stock_price' 或 'company_fundamentals',并传递相应的参数。

例如,要使用 'stock_price' 工具获取 AAPL 股票的实时价格,客户端需要构造一个 'CallToolRequest',指定工具名为 'stock_price',并提供 'symbol: "AAPL"' 等参数。服务器将调用 Alpha Vantage API 获取数据,并将结果封装在 JSON-RPC 响应中返回给客户端。

具体工具的参数和使用方法,请参考仓库 'README.md' 文件中 "Available Tools" 部分的详细描述,以及 'src/tools.ts' 文件中工具的 'inputSchema' 定义。

信息

分类

网页与API