交易协议服务器

Alpaca MCP Server是一个为Alpaca交易API实现的模型上下文协议服务器,支持通过自然语言进行股票交易、期权交易、投资组合管理和实时市场数据访问。

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

使用说明

羊驼MCP服务器

这是Alpaca的Trading API的模型上下文协议(MCP)服务器实现。它使Claude Desktop、Cursor或VScode上的大型语言模型(LLM)能够使用自然语言与Alpaca的交易基础设施进行交互。此服务器支持股票交易、期权交易、投资组合管理、观察名单处理和实时市场数据访问。

特性

  • 市场数据
    • 股票的实时报价、交易和价格条
    • 历史价格数据和交易历史
    • 期权合约报价和希腊语(通过快照)
  • 账户管理
    • 查看余额、购买力和账户状态
    • 检查所有打开和关闭位置
  • 职位管理
    • 获取个人持股的详细信息
    • 按股份数量或百分比清算全部或部分头寸
  • 订单管理
    • 下股票和期权订单(市价或限价)
    • 单独或批量取消订单
    • 检索完整的订单历史记录
  • 期权交易
    • 按到期或执行价格搜索和查看期权合约
    • 制定多腿期权策略
    • 获取合同的最新报价和希腊语
  • 市场状况和公司行为
    • 检查市场是否开放
    • 获取市场日历和交易时段
    • 查看即将发布的公司公告(收益、拆分、股息)
  • 观察名单管理
    • 创建、更新和查看个人监视列表
    • 管理多个监视列表以跟踪资产
  • 资产搜索
    • 查询股票和其他羊驼支持资产的详细信息

先决条件

  • Python 3.10+
  • Alpaca API密钥(具有纸质或实时交易访问权限)
  • Claude for Desktop或其他兼容的MCP客户端

安装

  1. 克隆存储库并移动到存储库:

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

    pip install mcp alpaca-py python-dotenv
    

使用Claude Desktop(用于纸张交易)

编辑a .env 项目目录中的凭据文件

ALPACA_API_KEY = "your_alpaca_api_key_for_paper_account"
ALPACA_SECRET_KEY = "your_alpaca_secret_key_for_paper_account"

启动MCP服务器

打开终端,从项目目录运行以下命令:

python alpaca_mcp_server.py

或者使用模块调用:

python -m alpaca_mcp_server

Claude用于桌面配置

  1. 打开克劳德桌面
  2. 导航到: Settings → Developer → Edit Config
  3. 更新您的 claude_desktop_config.json:
{
  "mcpServers": {
    "alpaca": {
      "command": "python",
      "args": [
        "/path/to/alpaca_mcp_server.py"
      ],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key_for_paper_account",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key_for_paper_account"
      }
    }
  }
}

API实时交易密钥配置

此MCP服务器连接到Alpaca的 票据交易API 默认情况下用于安全测试。 使能够 使用真实资金进行实时交易,更新以下配置文件:

🔐 在两个位置设置API凭据:

  1. Claude用于桌面配置

    在……里面 claude_desktop_config.json,将您的真实账户密钥作为环境变量提供:

    {
      "mcpServers": {
        "alpaca": {
          "command": "python",
          "args": [
            "/path/to/alpaca_mcp_server.py"
          ],
          "env": {
            "ALPACA_API_KEY": "your_alpaca_api_key_for_live_account",
            "ALPACA_SECRET_KEY": "your_alpaca_secret_key_for_live_account"
          }
        }
      }
    }
    
  2. .env 在项目目录中

    ALPACA_API_KEY = "your_alpaca_api_key_for_live_account"
    ALPACA_SECRET_KEY = "your_alpaca_secret_key_for_live_account"
    PAPER = False
    

可用工具

账户和头寸

  • get_account_info() –查看余额、保证金和账户状态
  • get_positions() –列出所有持有资产
  • get_open_position(symbol) –特定职位的详细信息
  • close_position(symbol, qty|percentage) –关闭部分或全部头寸
  • close_all_positions(cancel_orders) –清算整个投资组合

股市数据

  • get_stock_quote(symbol) –实时买卖报价
  • get_stock_bars(symbol, start_date, end_date) –OHLCV历史酒吧
  • get_stock_latest_trade(symbol) –最新市场交易价格
  • get_stock_latest_bar(symbol) –最新OHLC酒吧
  • get_stock_trades(symbol, start_time, end_time) –交易水平历史

订单

  • get_orders(status, limit) –检索所有或筛选的订单
  • place_stock_order(symbol, side, quantity, order_type="market", limit_price=None, stop_price=None, trail_price=None, trail_percent=None, time_in_force="day", extended_hours=False, client_order_id=None) –下任何类型的股票订单(市价、限价、止损、止损、跟踪止损)
  • cancel_order_by_id(order_id) –取消特定订单
  • cancel_all_orders() –取消所有未结订单

选项

  • get_option_contracts(underlying_symbol, expiration_date) –获取合同
  • get_option_latest_quote(option_symbol) –最新的合同买卖
  • get_option_snapshot(symbol_or_symbols) –获得希腊人和底层
  • place_option_market_order(legs, order_class, quantity) –执行期权策略

市场信息和公司行动

  • get_market_clock() –市场开盘/收盘时间表
  • get_market_calendar(start, end) –节假日和交易日
  • get_corporate_announcements(...) –收益、股息、拆分

收看列表

  • create_watchlist(name, symbols) –创建新列表
  • update_watchlist(id, name, symbols) –修改现有列表
  • get_watchlists() –检索所有已保存的监视列表

资产

  • get_asset_info(symbol) –搜索资产元数据
  • get_all_assets(status) –列出所有可交易工具

自然语言查询示例

请参阅下面的“示例查询”部分,了解50个真实示例,涵盖从交易到公司数据再到期权策略的所有内容。

基本交易

  1. 我的经常账户余额和购买力是多少?
  2. 给我看看我目前的职位。
  3. 以市场价格购买10股AAPL股票。
  4. 以300美元的限价出售5股TSLA股票。
  5. 取消所有未结库存订单。
  6. 取消ID为abc123的订单。
  7. 清算我在GOOGL的全部职位。
  8. 关闭我在NVDA 10%的职位。
  9. 我目前持有多少AMZN股份?
  10. 下达限价订单,以450美元的价格购买100股微软股票。
  11. 下市价单卖出25股META。

期权交易

  1. 显示下个月到期的AAPL可用期权合约。
  2. 获取AAPL250613C00200000的最新报价。
  3. 检索SPY250627P00400000的选项快照。
  4. 清算我在下周到期的两份QQQ通话合同中的头寸。
  5. 下单购买下周五到期的AAPL看涨期权。
  6. TSLA250620P00500000的希腊选项是什么?
  7. 查找所有执行价格在当前市场价格5%以内的TSLA期权合约。
  8. 获取6月份到期的所有SPY看涨期权合约。
  9. 使用AAPL 6月6日期权设置看涨看涨价差:一个是190.00次方,另一个是200.00次方。

市场信息

  1. 美国股市目前是否开放?
  2. 今天市场的开盘和收盘时间是什么时候?
  3. 给我看看下周的市场日历。
  4. 本月有大型科技股的公司公告吗?
  5. SPY的下一个股息公告是什么?
  6. 明天将公布收益公告。

历史和实时数据

  1. 显示AAPL过去5个交易日的每日价格历史。
  2. TSLA昨天的收盘价是多少?
  3. 获取GOOG的最新酒吧。
  4. NVDA的最新交易价格是多少?
  5. 给我看看微软的最新报价。
  6. 检索AMD的最近100笔交易。
  7. 显示AMZN从上周二到上周五的日内柱状图。

订单

  1. 向我展示本周所有未完成和已完成的订单。
  2. 我对AAPL有什么订单?
  3. 列出我在过去3天内下达的所有限价订单。
  4. 按状态筛选所有订单:已完成。
  5. 把昨天的订单历史记录给我。

收看列表

  1. 与AAPL、MSFT和NVDA一起创建一个名为“科技股”的新观察名单。
  2. 更新我的“科技股”观察名单,以包括TSLA和AMZN。
  3. 我的“股息选择”观察名单中有哪些股票?
  4. 从我的“成长投资组合”观察名单中删除META。
  5. 列出我现有的所有观察名单。

资产信息

  1. 搜索有关资产“AAPL”的详细信息。
  2. 列出所有可交易的美国大盘股。
  3. 按交易量显示前5大可交易加密资产。
  4. 筛选状态为“活动”的所有资产。
  5. 请向我展示股票的详细信息,股票代码为“GOOGL”。

组合场景

  1. 在以340美元的价格为TSLA下达限价买入订单之前,请获取今天的市场时钟,并向我展示我的购买力。
  2. 使用SPY 7月3日期权进行看涨期权价差:在当前SPY价格上方5%买入一个,在下方3%卖出一个。

输出示例

MCP服务器为各种交易查询提供详细、格式良好的响应。以下是一些示例:

期权希腊分析

问:“TSLA250620P00500000的希腊选项是什么?”

答复: 选项详细信息:

  • 当前买入价/卖出价:142.62美元/143.89美元
  • 最后一笔交易:138.85美元
  • 隐含波动率:92.54%

希腊人:

  • 德尔塔:-0.8968(非常熊)
  • 伽玛:0.0021(低变化率)
  • Theta:-0.2658(时间衰减:26.58美元/天)
  • Vega:0.1654(波动敏感性)
  • Rho:-0.3060(利率敏感性)

关键见解:

  • 高隐含波动率(92.54%)
  • 深入金钱(德尔塔:-0.90)
  • 显著时间衰减(27美元/天)

多腿期权订单

查询:“使用AAPL 6月6日期权设置看涨看涨价差:一个有190.00的罢工,另一个有200.00的罢工。”

答复: 订单详细信息:

  • 订单编号:fc1c04b1-8afa-4b2d-aab1-49613bbed7cb
  • 订单类别:多腿(MLEG)
  • 状态:待定新
  • 数量:1份

伸展腿:

  1. 长腿(买):

    • AAPL250606C00190000(190.00美元罢工)
    • 状态:待定新
  2. 短腿(出售):

    • 25060600澳元(200美元罢工)
    • 状态:待定新

战略总结:

  • 最大利润:每次点差10.00美元
  • 最大损失:已支付的净借记
  • 盈亏平衡:支付190美元+净借记

这些示例展示了服务器提供以下功能的能力:

  • 详细的市场数据分析
  • 全面的订单执行详情
  • 清晰的战略解释
  • 格式良好、易于阅读的回复

服务器在所有支持的查询中保持这种详细程度和格式,使其易于理解和处理提供的信息。

⚠️ 安全通知

此服务器可以进行真实交易并访问您的投资组合。将API密钥视为敏感凭据。仔细审查LLM提出的所有行动,特别是对于复杂的期权策略或多腿交易。

许可证

麻省理工学院