金融数据API服务

一个为语言学习模型提供Alpha Vantage金融数据API访问的MCP服务器,支持股票、外汇、加密货币等多种金融数据查询。

  • by MissionSquad
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 missionsquad/mcp-avantage

使用说明

Alpha Vantage API的MCP服务器(@missonsquad/avantage)

该项目提供了一个模型上下文协议(MCP)服务器,它封装了 @missionsquad/avantage 库,将Alpha Vantage API功能公开为语言学习模型(LLM)的工具。

概述

该服务器允许LLM与AlphaVantage API交互以检索财务数据,包括:

  • 核心股票数据(时间序列、报价、搜索)
  • 基本数据(公司概况、财务、日历)
  • 外汇(FX)数据
  • 加密货币数据
  • 商品数据
  • 经济指标
  • 技术指标
  • 阿尔法情报(新闻、情绪等)
  • 期权数据(高级)

它利用了 @missionsquad/avantage TypeScript库,并遵循通用MCP服务器模板的体系结构,包括多用户API密钥处理和资源管理 AVantage 客户端实例。

主要特点:

  • 全面覆盖: 为几乎所有可用功能实施MCP工具 @missionsquad/avantage 图书馆。
  • 多用户支持: 通过以下方式安全处理Alpha Vantage API密钥 extraArgs (首选)或回退到环境变量。
  • 资源管理: 高效管理 AVantage 客户端实例使用 ResourceManager.
  • 强烈类型: 使用TypeScript构建,利用以下类型 @missionsquad/avantage 以及用于工具参数的Zod模式。
  • 标准MCP接口: 用途 @missionsquad/fastmcp 用于MCP通信。

入门指南

先决条件

  • Node.js v20或更高版本
  • npm或纱线
  • Alpha Vantage API密钥(获取一个 这里)

设置

  1. 克隆或复制: 克隆此存储库或复制文件。
    git clone <repository-url> mcp-avantage-server
    cd mcp-avantage-server
    
  2. 安装依赖关系:
    npm install
    # or
    yarn install
    
  3. 配置环境:
    • 复制 .env.example 到 .env.
    • 编辑 .env 并设置 API_KEY 到您的Alpha Vantage API密钥。
    • 可选设置 AV_PREMIUM=true 如果你有高级订阅。
    • 调整 LOG_LEVEL 或 RESOURCE_CLEANUP_INTERVAL 如果需要的话。
  4. 构建项目:
    npm run build
    # or
    yarn build
    
  5. 启动服务器:
    npm start
    # or
    yarn start
    
    服务器将在stdio上监听MCP请求。

认证

服务器使用标准的多用户令牌处理模式:

  1. extraArgs.apiKey (推荐): 在中传递用户特定的Alpha Vantage API密钥 apiKey 领域 extraArgs MCP期间的对象 call_tool 请求。这把钥匙是 不 工具模式的一部分。
  2. .env 退路: 如果 extraArgs.apiKey 如果未提供,服务器将使用 API_KEY 价值来自 .env 文件。

可用工具

此服务器公开了与 @missionsquad/avantage 图书馆。工具通常被命名 module_method (例如。, coreStock_intraday, fundamentalData_companyOverview).

请参阅 Alpha Vantage文档 和那个 @missionsquad/avantage 图书馆的类型(src/types/* 在库中)以获取参数和返回结构的详细信息。

示例工具调用(概念MCP请求):

{
  "type": "call_tool",
  "requestId": "req-123",
  "tool": {
    "name": "coreStock_quote",
    "arguments": {
      "symbol": "IBM"
    }
  },
  "context": {
    "extraArgs": {
      "apiKey": "USER_SPECIFIC_AV_KEY" // Optional: User's key
    }
  }
}

工具类别(模块):

  • alphaIntelligence_*
  • commodities_*
  • coreStock_*
  • crypto_*
  • economicIndicators_*
  • forex_*
  • fundamentalData_*
  • optionsData_* (保费)
  • technicalIndicators_*

使用MCP list_tools 命令以获取可用工具、其描述和参数模式的完整列表。

配置

通过配置 .env 文件:

变量 描述 默认值
API_KEY 回退Alpha Vantage API密钥(如果不在) extraArgs null
LOG_LEVEL 日志记录级别(error, warn, info, debug) info
RESOURCE_CLEANUP_INTERVAL 清理非活动AVantage客户端实例的间隔(毫秒) 1800000 (30米)
AV_PREMIUM 设置为 true 在中启用高级端点访问 avantage false

项目结构

遵循通用MCP服务器模板结构。关键文件:

  • src/index.ts:主服务器入口点、工具定义。
  • src/config.ts:配置加载。
  • src/logger.ts:日志记录实用程序。
  • src/resource-manager.ts:管理 AVantage 实例。
  • src/schemas.ts:工具参数的Zod模式。
  • .nexus/:Nexus文档。

Nexus文档

许可证

MIT(假设模板许可证是MIT。验证。)