Alpaca交易API服务器

一个为Alpaca交易API提供的模型上下文协议(MCP)服务器,支持AI助手和开发工具的无缝集成。

  • by jwaresolutions
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 jwaresolutions/alpaca-mcp-server

使用说明

羊驼MCP服务器

Alpaca Trading API的模型上下文协议(MCP)服务器,提供与人工智能助手和开发工具的无缝集成。

✅ 兼容性

经过测试和验证,可在Apple Silicon M1 Pro笔记本电脑上运行 运行macOS。

特性

  • 账户信息:获取实时账户详细信息、购买力、股权和状态
  • 投资组合管理:通过损益跟踪查看当前头寸
  • 市场数据:使用买卖价差检索实时股票报价
  • 订单管理:列出并监控最近的订单
  • 纸张交易支持:纸张交易API的安全测试环境
  • 实时交易准备就绪:与实时交易兼容(谨慎使用)

安装

先决条件

pip install alpaca-trade-api

快速开始

  1. 克隆存储库:
git clone https://github.com/jwaresolutions/alpaca-mcp-server.git
cd alpaca-mcp-server
  1. 设置您的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
  1. 测试服务器:
python alpaca_mcp_server.py

MCP集成

Cline/Claude开发工具

添加到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_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 (可选):“打开”、“关闭”或“全部”(默认:“全部”)
  • limit (可选):最大订单数(默认值:10)

API证书

获取Alpaca API密钥

  1. 注册地址: 羊驼市场
  2. 转到仪表板并导航到“API密钥”
  3. 为纸面交易或实时交易生成新的API密钥
  4. 复制您的API密钥ID和密钥

环境设置

选项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

只有当您对自己的设置充满信心并准备好用真钱进行交易时,才能使用实时交易。

故障排除

常见问题

  1. “缺少API凭据”错误:

    • 确保环境变量设置正确
    • 检查变量名是否完全匹配: APCA_API_KEY_ID, APCA_API_SECRET_KEY
  2. “连接失败”错误:

    • 验证您的API密钥是否有效
    • 检查您的互联网连接
    • 确保您使用正确的基本URL进行纸质/实时交易
  3. “找不到模块”错误:

    • 安装所需的依赖项: 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

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 通过纸上交易进行彻底测试
  5. 提交拉取请求

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

支持

免责声明

此软件用于教育和开发目的。使用实时交易功能时,您是在用真钱进行交易。始终先用纸笔交易进行彻底测试。作者不对任何经济损失负责。