返回市场
羊驼-MCP-服务器

羊驼-MCP-服务器

作者:tedlikeskix25 星标更新:2025-03-05

项目介绍

Alpaca MCP Server

这是一个针对Alpaca的模型上下文协议(MCP)服务器,允许像Claude这样的大型语言模型通过自然语言与Alpaca交易API进行交互。它支持股票交易、查看仓位、获取市场数据以及账户管理等功能。

功能

  • 📊 市场数据 - 获取实时股票报价和历史价格数据
  • 💵 账户信息 - 查看余额、购买力和账户状态
  • 📈 仓位管理 - 查看当前仓位及其表现
  • 🛒 下单 - 通过自然语言下达市价单和限价单
  • 📋 订单管理 - 列出、跟踪和取消订单

预备条件

  • Python 3.10+
  • Alpaca API密钥
  • Claude for Desktop或其他MCP客户端

安装

  1. 克隆此仓库:

    git clone https://github.com/YOUR_USERNAME/alpaca-mcp.git
    cd alpaca-mcp
    
  2. 安装所需包:

    pip install mcp alpaca-py python-dotenv
    
  3. 创建一个包含您的Alpaca API凭证的.env文件:

    API_KEY_ID=your_alpaca_api_key
    API_SECRET_KEY=your_alpaca_secret_key
    

使用方法

运行服务器

通过运行以下命令启动服务器:

python alpaca_mcp_server.py

配置Claude for Desktop

  1. 打开Claude for Desktop
  2. 前往设置
  3. 点击“开发者”然后点击“编辑配置”
  4. claude_desktop_config.json中添加服务器配置:
{
  "mcpServers": {
    "alpaca": {
      "command": "python",
      "args": [
        "/path/to/alpaca_mcp_server.py"
      ],
      "env": {
        "API_KEY_ID": "your_alpaca_api_key",
        "API_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}
  1. 保存并重启Claude for Desktop

可用工具

服务器暴露了以下工具:

  • get_account_info() - 获取账户余额和状态
  • get_positions() - 列出投资组合中的所有当前仓位
  • get_stock_quote(symbol) - 获取股票的最新报价
  • get_stock_bars(symbol, days) - 获取股票的历史价格条形图
  • get_orders(status, limit) - 列出具有指定状态的订单
  • place_market_order(symbol, side, quantity) - 下达市价单
  • place_limit_order(symbol, side, quantity, limit_price) - 下达限价单
  • cancel_all_orders() - 取消所有未完成订单
  • close_all_positions(cancel_orders) - 平仓所有未平仓仓位

示例查询

一旦服务器连接到Claude,您可以提出如下问题:

  • "我的当前账户余额和购买力是多少?"
  • "显示我当前的仓位"
  • "获取AAPL的最新报价"
  • "显示TSLA过去10天的价格历史"
  • "以市场价格购买5股MSFT"
  • "以限价$130卖出10股AMZN"
  • "取消我所有的未完成订单"

注意事项

此服务器默认使用Alpaca的模拟交易。如需使用真实资金交易,请在TradingClient初始化时将paper=True改为paper=False

安全提示

此MCP服务器将访问您的Alpaca账户,并可执行实际交易。在批准任何交易之前,请务必审查Claude的建议。

许可证

MIT