关于 Alpaca MCP Server
Alpaca MCP Server 将 Alpaca Trading API 接入 AI 助手和开发工具,提供账户、持仓、报价与订单数据。默认使用模拟交易,也支持实盘交易。
主要功能
- 01账户状态与购买力
- 02持仓及盈亏信息
- 03实时股票报价
- 04近期订单查询
- 05模拟与实盘交易模式
适用场景
- 01查看账户权益与可用现金
- 02检查持仓及未实现盈亏
- 03查询股票买卖报价
- 04跟踪未结或已完成订单
MCP 相关
它向 MCP 客户端提供 Alpaca 账户、持仓、市场报价和订单相关工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Alpaca MCP 服务
一个用于 Alpaca Trading API 的 Model Context Protocol (MCP) 服务,可与 AI 助手和开发工具无缝集成。
✅ 兼容性
已在运行 macOS 的 Apple Silicon M1 Pro 笔记本电脑上测试并验证可用。
功能
- 账户信息:获取实时账户详情、购买力、权益和状态
- 投资组合管理:查看当前持仓并跟踪盈亏
- 市场数据:获取包含买卖价差的实时股票报价
- 订单管理:列出并监控近期订单
- 模拟交易支持:通过模拟交易 API 提供安全的测试环境
- 支持实盘交易:兼容实盘交易(请谨慎使用)
安装
先决条件
pip install alpaca-trade-api
快速开始
- 克隆代码库:
git clone https://github.com/jwaresolutions/alpaca-mcp-server.git
cd alpaca-mcp-server
- 设置 Alpaca API 凭据:
创建环境变量,或将其添加到 shell 配置文件中:
export APCA_API_KEY_ID="your_api_key_here"
export APCA_API_SECRET_KEY="your_secret_key_here"
export APCA_API_BASE_URL="https://paper-api.alpaca.markets" # Paper trading
# export APCA_API_BASE_URL="https://api.alpaca.markets" # Live trading
- 测试服务:
python alpaca_mcp_server.py
MCP 集成
适用于 Cline/Claude Dev Tools
添加到 MCP 设置 JSON 中:
{
"mcpServers": {
"alpaca": {
"command": "python",
"args": ["/path/to/alpaca-mcp-server/alpaca_mcp_server.py"],
"env": {
"APCA_API_KEY_ID": "your_api_key_here",
"APCA_API_SECRET_KEY": "your_secret_key_here",
"APCA_API_BASE_URL": "https://paper-api.alpaca.markets"
}
}
}
}
适用于 Claude Desktop
添加到 claude_desktop_config.json:
{
"mcpServers": {
"alpaca": {
"command": "python",
"args": ["/path/to/alpaca-mcp-server/alpaca_mcp_server.py"],
"env": {
"APCA_API_KEY_ID": "your_api_key_here",
"APCA_API_SECRET_KEY": "your_secret_key_here",
"APCA_API_BASE_URL": "https://paper-api.alpaca.markets"
}
}
}
}
可用工具
1. get_account
获取全面的账户信息,包括:
- 账户状态和账号
- 购买力和可用现金
- 投资组合权益和价值
- 模式日交易者状态
- 当日交易次数
- SMA(特殊备忘账户)
2. get_positions
查看当前股票持仓,包括:
- 股票代码和数量
- 当前市值
- 成本基础和盈亏
- 未实现收益/亏损
- 当前股价
- 持仓方向(多头/空头)
3. get_quote
获取任意股票代码的实时市场报价:
- 买入价和卖出价
- 买入量和卖出量
- 价格价差计算
- 报价时间戳
参数:
symbol(必填):股票代码(例如:"AAPL"、"TSLA"、"NVDA")
4. get_orders
列出近期订单并支持筛选:
- 订单 ID 和状态
- 股票代码和数量
- 订单类型和方向
- 成交信息
- 提交时间戳
参数:
status(可选):"open"、"closed" 或 "all"(默认:"all")limit(可选):订单数量上限(默认:10)
API 凭据
获取 Alpaca API 密钥
- 在 Alpaca Markets 注册
- 前往控制面板并打开 "API Keys"
- 为模拟交易或实盘交易生成新的 API 密钥
- 复制 API Key ID 和 Secret Key
环境设置
选项 1:环境变量
export APCA_API_KEY_ID="PK..."
export APCA_API_SECRET_KEY="..."
export APCA_API_BASE_URL="https://paper-api.alpaca.markets"
选项 2:.env 文件
APCA_API_KEY_ID=PK...
APCA_API_SECRET_KEY=...
APCA_API_BASE_URL=https://paper-api.alpaca.markets
安全与模拟交易
**⚠️ 重要提示:**为确保安全,本服务默认使用模拟交易模式。模拟交易使用虚拟资金,非常适合测试和开发。
要切换到实盘交易,请将基础 URL 更改为:
APCA_API_BASE_URL=https://api.alpaca.markets
只有在确信配置正确并准备好使用真实资金交易时,才使用实盘交易。
故障排除
常见问题
-
“Missing API credentials”错误:
- 确保已正确设置环境变量
- 检查变量名称是否完全匹配:
APCA_API_KEY_ID、APCA_API_SECRET_KEY
-
“Connection failed”错误:
- 确认 API 密钥有效
- 检查网络连接
- 确保使用了适用于模拟/实盘交易的正确基础 URL
-
“Module not found”错误:
- 安装所需依赖:
pip install alpaca-trade-api
- 安装所需依赖:
测试服务
你可以使用 JSON-RPC 手动测试服务:
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | python alpaca_mcp_server.py
预期响应应包含可用工具。
开发
项目结构
alpaca-mcp-server/
├── alpaca_mcp_server.py # Main MCP server
├── README.md # This documentation
├── requirements.txt # Python dependencies
└── examples/ # Usage examples
贡献
- Fork 此代码库
- 创建功能分支
- 进行修改
- 使用模拟交易进行全面测试
- 提交拉取请求
许可证
MIT License - 详情请参阅 LICENSE 文件。
支持
- 问题反馈:GitHub Issues
- Alpaca API 文档:Alpaca Markets API
- MCP 协议:Model Context Protocol
免责声明
本软件仅用于教育和开发目的。使用实盘交易功能时,您交易的是真实资金。请务必先通过模拟交易进行充分测试。作者不对任何财务损失负责。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。