项目简介
这个项目是一个基于Model Context Protocol (MCP) 的服务器实现。它的主要目的是将流行的股票交易和市场数据平台Alpaca提供的API功能转换为可供大型语言模型 (LLM) 客户端调用的“工具”。通过这个服务器,LLM可以方便地获取股票、加密货币资产信息、历史行情数据、市场日历以及相关的财经新闻,从而增强LLM在金融领域的分析和交互能力。
主要功能点
- 获取资产列表: 查询Alpaca平台上可交易的股票或加密货币资产列表,LLM可以根据资产类型筛选。
- 获取股票历史K线数据: 根据指定的股票符号(支持多个)、日期范围和时间粒度(如日、小时、分钟)获取详细的历史行情数据。
- 获取市场交易日历: 查询指定日期范围内的市场开放和关闭日期信息,有助于LLM了解交易时间。
- 获取财经新闻: 根据指定的日期范围和股票符号查询相关的财经新闻文章,提供市场实时动态或历史回顾。
- 基于MCP协议: 完全遵循Model Context Protocol标准,通过JSON-RPC协议与兼容的LLM客户端进行通信。
- 通过Stdio传输: 默认支持使用标准输入/输出 (stdin/stdout) 作为通信通道,这是一种常用的、简单易集成的MCP传输方式。
安装步骤
-
确保您的系统已经安装了 Node.js 环境(推荐使用最新LTS版本)。
-
确保您拥有 Alpaca API 的 Key ID 和 Secret Key。
-
通过 npm 安装 'alpaca-mcp' 包。您可以选择作为项目依赖安装,或者全局安装(如果需要通过命令行直接运行):
# 作为项目依赖安装 npm install alpaca-mcp # 或者全局安装 npm install -g alpaca-mcp -
配置 Alpaca API 凭据:在您运行此MCP服务器的环境中,需要设置以下环境变量:
- 'ALPACA_ENDPOINT': Alpaca 数据 API 的基础URL (例如: 'https://data.alpaca.markets')
- 'ALPACA_BROKER_ENDPOINT': Alpaca Broker API 的基础URL (例如: 'https://broker-api.alpaca.markets')
- 'ALPACA_API_KEY': 您的 Alpaca API Key ID
- 'ALPACA_SECRET_KEY': 您的 Alpaca Secret Key
您可以创建一个 '.env' 文件在服务器启动目录下,或者在运行服务器的shell环境中直接设置这些环境变量。
'.env' 文件示例:
ALPACA_ENDPOINT=https://data.alpaca.markets ALPACA_BROKER_ENDPOINT=https://broker-api.alpaca.markets ALPACA_API_KEY=YOUR_ALPACA_API_KEY ALPACA_SECRET_KEY=YOUR_ALPACA_SECRET_KEY
服务器配置 (供MCP客户端参考)
MCP服务器的启动方式通常由MCP客户端负责配置和管理。以下是一个典型的MCP客户端配置文件 (如 'mcp.config.json') 中关于此Alpaca MCP服务器的配置示例。请注意,这部分是给MCP客户端使用者参考的,您不需要手动创建或编辑这些文件,除非您是MCP客户端的开发者或高级用户。
{ "mcpServers": { "alpaca-mcp": { // 给服务器定义一个唯一的名称 "command": "npx", // 启动服务器的命令 "args": [ // 传递给命令的参数 "-y", "alpaca-mcp" // 要执行的 npm 包/命令名称 ], "env": { // 可选:在此处设置环境变量,优先级高于系统/shell环境 "ALPACA_API_KEY": "<YOUR_API_KEY>", "ALPACA_SECRET_KEY": "<YOUR_SECRET_KEY>" // 提示:为了安全,建议通过客户端的配置界面或外部方式安全地管理API密钥 // ALPACA_ENDPOINT 和 ALPACA_BROKER_ENDPOINT 也可以在此配置,或者保留在服务器运行环境的环境变量中 } // "transport": "stdio" // Stdio 通常是默认传输方式,无需明确指定 // 其他可能的配置如 session、capabilities 等... } // 可以配置其他 MCP 服务器... } }
客户端通过配置中的 'command' 和 'args' 启动服务器进程,并通过配置的 'transport' (默认为 stdio) 与服务器进行MCP协议通信。
基本使用方法
一旦您安装并配置好环境变量,兼容的MCP客户端(如支持MCP协议的LLM应用或桌面客户端)将能够自动发现并使用此Alpaca MCP服务器提供的工具。客户端会根据服务器声明的能力(即已注册的工具)向LLM暴露这些功能。
如果您想手动启动服务器进行测试或配合自定义客户端使用,可以执行以下命令:
# 如果是全局安装 alpaca-mcp # 如果是作为项目依赖安装并在项目目录中 # 确保先运行过 'npm install' npm start
服务器启动后会通过标准输入/输出与客户端进行JSON-RPC通信。
信息
分类
AI与计算