Alpaca交易MCP服务器

一个为Alpaca交易API实现的模型上下文协议(MCP)服务器,支持通过自然语言进行股票、期权、加密货币交易和投资组合管理。

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

使用说明

羊驼交易MCP服务器

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

特点/功能

  • 市场数据
    • 股票的实时报价、交易和价格柱状图
    • 具有灵活时间范围(1分钟至1个月)的历史数据
    • 全面的股票快照和交易级历史记录
    • 期权合约报价及希腊值
  • 账户管理
    • 查看余额、购买力和账户状态
    • 检查所有开仓和闭仓仓位
  • 位置管理
    • 获取单个持仓的详细信息
    • 按股数或百分比全部或部分平仓
  • 订单管理
    • 下达股票、加密货币和期权订单
    • 支持市价单、限价单、止损单、止损限价单和追踪止损单
    • 单独或批量取消订单
    • 获取完整的订单历史记录
  • 期权交易
    • 按到期日、执行价格和类型搜索期权合约
    • 实施单腿或多腿期权策略(价差策略、跨式策略等)
    • 获取最新的报价、希腊值(期权敏感性指标)和隐含波动率
  • 加密货币交易
    • 下达市价、限价和止损限价加密货币订单
    • 支持GTC(全球交易时间)和IOC(立即或取消)的执行时间
    • 处理数量或名义金额订单
  • 市场状况与公司行动
    • 检查市场是否开放
    • 获取市场日历和交易时段
    • 查看即将发布/历史上的公司公告(收益、拆股、股息)
  • 监控名单管理
    • 创建、更新和查看个人关注列表
    • 管理多个监控名单以追踪资产
  • 资产搜索
    • 查询股票、加密货币及其他Alpaca支持资产的详细信息
    • 按状态、类别、交易所和属性过滤资产

演示

入门指南

0. 先决条件

  • Python(版本要求请参见:https://modelcontextprotocol.io/quickstart/server)
  • GitHub账户
  • 根据上述信息,以下是原文内容的翻译:Alpaca API密钥(具有模拟交易或实时交易访问权限)
  • 适用于桌面的Claude或其他兼容的MCP客户端

1. 安装

两种服务器实现

此存储库提供了两种不同的MCP服务器实现:

  1. server.py - 使用官方的MCP Python SDK(推荐)
  2. server_fastmcp.py - 使用FastMCP框架(备选方案)

两台服务器提供相同的功能,请根据您的偏好选择。

2. 设置

  1. 克隆仓库并导航到该目录:

    git clone https://github.com/alpacahq/alpaca-mcp-server.git
    cd alpaca-mcp-server
    
  2. 创建并激活虚拟环境,然后安装所需的包:

    选项A:使用pip(传统方式)

    python3 -m venv myvenv
    source myvenv/bin/activate  # On Windows: myvenv\Scripts\activate
    pip install -r requirements.txt
    

    选项B:使用紫外线(现代、更快)

    要使用uv,您首先需要安装它。请参阅 官方UV安装指南 为您的平台提供详细的安装说明。

    uv venv myvenv
    source myvenv/bin/activate # On Windows: myvenv\Scripts\activate
    uv pip install -r requirements.txt
    

    注: 虚拟环境将使用创建它时所用的Python版本。如果您使用Python 3.10或更高版本运行该命令,您的虚拟环境也将使用Python 3.10+。如果您想确认版本,可以运行 python3 --version 在激活虚拟环境后。

项目结构

克隆并激活虚拟环境后,您的目录结构应如下所示:

alpaca-trading-mcp/         ← This is the workspace folder (= project root)
├── server.py               ← MCP SDK implementation (recommended)
├── server_fastmcp.py       ← FastMCP implementation (alternative)
├── .github/                ← GitHub configuration
│ ├── core/                 ← Core utility modules
│ └── workflows/            ← GitHub Actions workflows
├── .vscode/                ← VS Code settings (for VS Code users)
│   └── mcp.json
├── venv/                   ← Virtual environment folder
│   └── bin/python
├── .env                    ← Environment file with placeholder values (edit this)
├── .gitignore              
├── Dockerfile              ← Docker configuration (for Docker use)
├── .dockerignore           ← Docker ignore (for Docker use)
├── requirements.txt           
└── README.md

2. 在项目目录中编辑 .env 文件以输入您的凭据

  1. 该仓库包含一个 .env 包含占位符值的文件

  2. 将原文内容中的占位符凭据替换为您的实际API密钥 .env 文件:

    ALPACA_API_KEY = "your_alpaca_api_key_for_paper_account"
    ALPACA_SECRET_KEY = "your_alpaca_secret_key_for_paper_account"
    ALPACA_PAPER_TRADE = True
    TRADE_API_URL = None
    TRDE_API_WSS = None
    DATA_API_URL = None
    STREAM_DATA_WSS = None
    

3. 启动MCP服务器

在项目根目录下打开终端并运行以下命令之一:

选项1:使用MCP SDK服务器(推荐)

python server.py

选项2:使用FastMCP服务器

用于本地使用(默认 - 标准I/O传输):

python server_fastmcp.py

对于远程使用(HTTP传输):

python server_fastmcp.py --transport http

可用的交通方式:

  • --transport stdio (默认):本地客户端连接的标准输入/输出
  • --transport http用于远程客户端连接的HTTP传输(默认:127.0.0.1:8000)
  • --transport sse服务器发送事件传输用于远程连接(已弃用)
  • --host HOST用于将服务器绑定到HTTP/SSE传输的主机(默认:127.0.0.1)
  • --port PORT用于HTTP/SSE传输的服务器绑定端口(默认:8000)

注: 有关MCP传输方法的更多信息,请参阅 官方MCP运输文件。

4. 实时交易的API密钥配置

这个MCP服务器连接到Alpaca的 模拟交易API 默认情况下用于安全测试。 启用 使用真实资金进行实时交易更新以下配置文件:

在两个地方设置您的API凭据:

  1. 更新项目目录中的环境文件

    在环境中将您的实时账户密钥作为环境变量提供 .env 文件:

    ALPACA_API_KEY = "your_alpaca_api_key_for_live_account"
    ALPACA_SECRET_KEY = "your_alpaca_secret_key_for_live_account"
    ALPACA_PAPER_TRADE = False
    TRADE_API_URL = None
    TRADE_API_WSS = None
    DATA_API_URL = None
    STREAM_DATA_WSS = None
    
  2. 更新配置文件

    例如,当使用Claude Desktop时,请将您的实时账户密钥作为环境变量提供 claude_desktop_config.json:

    {
      "mcpServers": {
        "alpaca": {
          "command": "<project_root>/venv/bin/python",
          "args": [
            "/path/to/server.py"
          ],
          "env": {
            "ALPACA_API_KEY": "your_alpaca_api_key_for_live_account",
            "ALPACA_SECRET_KEY": "your_alpaca_secret_key_for_live_account"
          }
        }
      }
    }
    

MCP客户端配置

以下是将Alpaca MCP服务器连接到各种MCP客户端的分步指南。请选择与您偏好的开发环境或AI助手相匹配的部分。

Claude桌面版使用

要使用Alpaca MCP服务器与Claude Desktop,请按照以下步骤操作。官方的Claude Desktop设置文档可在此处获取:https://modelcontextprotocol.io/quickstart/user

配置Claude桌面版

  1. 打开Claude桌面版
  2. 导航至: Settings → Developer → Edit Config
  3. 更新你的 claude_desktop_config.json:

注:
将 `<project_root>` 替换为你克隆的 `alpaca-mcp-server` 目录的路径。这应该指向你使用(之前步骤创建的)虚拟环境中内置的 Python 可执行文件 python3 -m venv venv 在终端中。

选项1:使用MCP SDK服务器(推荐):

{
  "mcpServers": {
    "alpaca": {
      "command": "<project_root>/venv/bin/python",
      "args": [
        "/path/to/alpaca-trading-mcp/server.py"
      ],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key_for_paper_account",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key_for_paper_account"
      }
    }
  }
}

选项2:使用FastMCP服务器:

{
  "mcpServers": {
    "alpaca": {
      "command": "<project_root>/venv/bin/python",
      "args": [
        "/path/to/alpaca-trading-mcp/server_fastmcp.py"
      ],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key_for_paper_account",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key_for_paper_account"
      }
    }
  }
}

对于远程使用(仅限HTTP传输 - FastMCP):

{
  "mcpServers": {
    "alpaca": {
      "transport": "http",
      "url": "http://your-server-ip:8000/mcp",
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key_for_paper_account",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key_for_paper_account"
      }
    }
  }
}

克劳德编码使用

要使用Alpaca MCP服务器与Claude代码,请按照以下步骤操作。

这个(或“该”) claude mcp add command 是……的一部分 克劳德·科德如果你已经安装了Claude MCP CLI工具(例如通过 npm install -g @anthropic-ai/claude-code), 你可以使用这个命令将服务器添加到Claude Code中:

claude mcp add alpaca \
  /path/to/your/alpaca-mcp-server/venv/bin/python \
  /path/to/your/alpaca-mcp-server/alpaca_mcp_server.py \
  -e ALPACA_API_KEY=your_api_key \
  -e ALPACA_SECRET_KEY=your_secret_key

注: 将路径替换为您的实际项目目录路径。此命令会自动将MCP服务器配置添加到Claude Code中,无需手动编辑JSON文件。

Claude MCP CLI 工具需要单独安装。请访问官方页面查看可用性及安装说明

光标使用

要使用Cursor与Alpaca MCP服务器,请按照以下步骤操作。官方Cursor MCP设置文档可在此处查看:https://docs.cursor.com/context/mcp

先决条件

  • 安装了启用Claude AI的Cursor集成开发环境(IDE)
  • Python和虚拟环境的设置(按照上述安装步骤操作)

配置MCP服务器

方法1:使用JSON配置

创建或编辑 ~/.cursor/mcp.json (macOS/Linux) 或 %USERPROFILE%\.cursor\mcp.json (Windows):

{
  "mcpServers": {
    "alpaca": {
      "command": "/path/to/your/alpaca-mcp-server/venv/bin/python",
      "args": [
        "/path/to/your/alpaca-mcp-server/alpaca_mcp_server.py"
      ],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}

方法2:使用光标设置用户界面

  1. 打开光标设置 → 工具与集成 → MCP 工具
  2. 点击 “+ 新MCP服务器”
  3. 使用与上述JSON方法相同的详细信息进行配置

注: 将路径替换为您实际的项目目录路径和API凭据。

VS Code 使用指南

要在VS Code中使用Alpaca MCP服务器,请按照以下步骤操作。

VS Code 通过 GitHub Copilot 的代理模式支持 MCP 服务器。 官方的VS Code设置文档可在此处获取:https://code.visualstudio.com/docs/copilot/chat/mcp-servers

先决条件

  • 安装了GitHub Copilot扩展并拥有有效订阅的VS Code
  • Python和虚拟环境的设置(按照上述安装步骤进行)
  • 在 VS Code 中启用了 MCP 支持(见下文)

1. 在VS Code中启用MCP支持

  1. 打开 VS Code 设置(Ctrl/Cmd + ,)
  2. 搜索“chat.mcp.enabled”并勾选复选框以启用MCP支持
  3. 搜索“github.copilot.chat.experimental.mcp”并勾选框以使用指令文件

2. 配置MCP服务器

建议: 使用 特定于工作区的 配置(.vscode/mcp.json)而不是用户范围的配置。这样,不同的项目可以使用不同的API密钥(多个模拟账户或实时交易),并且使交易工具与其他开发工作相互隔离。

对于工作区特定的设置:

  1. 创建 .vscode/mcp.json 在你的项目根目录中。

  2. 手动将Alpaca MCP服务器配置添加到mcp.json文件中:

    对于Linux/macOS:

    {
      "mcp": {
        "servers": {
          "alpaca": {
            "type": "stdio",
            "command": "bash",
            "args": ["-c", "cd ${workspaceFolder} && source ./venv/bin/activate && python alpaca_mcp_server.py"],
            "env": {
              "ALPACA_API_KEY": "your_alpaca_api_key",
              "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
            }
          }
        }
      }
    }
    

    对于Windows:

    {
      "mcp": {
        "servers": {
          "alpaca": {
            "type": "stdio", 
            "command": "cmd",
            "args": ["/c", "cd /d ${workspaceFolder} && .\\venv\\Scripts\\activate && python alpaca_mcp_server.py"],
            "env": {
              "ALPACA_API_KEY": "your_alpaca_api_key",
              "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
            }
          }
        }
      }
    }
    

    注: 替换 ${workspaceFolder} 使用您实际的项目路径。例如:

    • Linux/macOS: /Users/username/Documents/alpaca-mcp-server
    • Windows: C:\\Users\\username\\Documents\\alpaca-mcp-server

对于用户全局设置:

要为所有工作区配置一个MCP服务器,您可以将服务器配置添加到您的用户设置settings.json文件中。这样,您就可以在多个项目中重复使用相同的服务器配置。 在(相应位置)指定服务器 mcp VS Code 用户设置(settings.json) 以在所有工作区中启用MCP服务器。

{
  "mcp": {
    "servers": {
      "alpaca": {
        "type": "stdio",
        "command": "bash",
        "args": ["-c", "cd ${workspaceFolder} && source ./venv/bin/activate && python alpaca_mcp_server.py"],
        "env": {
          "ALPACA_API_KEY": "your_alpaca_api_key",
          "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
        }
      }
    }
  }
}

PyCharm 使用指南

要在PyCharm中使用Alpaca MCP服务器,请按照以下步骤操作。PyCharm中配置MCP服务器的官方设置指南可在此处查看:https://www.jetbrains.com/help/ai-assistant/configure-an-mcp-server.html

PyCharm 通过其集成的 MCP 客户端功能支持 MCP 服务器。此配置确保了正确的日志记录行为,并防止了常见的启动问题。

  1. 打开 PyCharm 设置

    • 首选 File → Settings
    • 导航至 Tools → Model Context Protocol (MCP) (或根据 PyCharm 版本选择类似的位置)
  2. 添加新的MCP服务器

    • 点击 Add 或者 + 创建一个新的服务器配置。您也可以点击相应按钮从Claude导入设置。
    • 名字为这个服务器配置输入您喜欢的任意名称(例如,Alpaca MCP)。
    • 命令“/path/to/your/alpaca-mcp-server/venv/bin/python”翻译成中文是:“/你的路径/to/你的/alpaca-mcp-server/虚拟环境/bin/python”。不过,这里的“/你的路径/to/你的/”是示意性的表达,实际翻译时不会直接写出这部分,而是保持原路径的格式,因为路径本身是特定的,不是需要翻译成中文的普通词汇。所以,更简洁的翻译可以是直接保留原路径不变,或者在需要解释说明时,用中文描述其含义,如“指向你的Alpaca MCP服务器虚拟环境的Python可执行文件路径”
    • 论点;争论点“alpaca_mcp_server.py”翻译为中文是:“羊驼MCP服务器.py”(注:这里的“alpaca”通常指“羊驼”,“MCP”可能是一个特定项目或系统的缩写,具体含义需根据上下文确定;“.py”表示这是一个Python脚本文件)
    • 工作目录“/path/to/your/alpaca-mcp-server” 翻译成中文是:“/你存放Alpaca MCP服务器的路径”。不过,这里的“/path/to/your/”是一个占位符,实际翻译时需要替换为具体的路径描述,但在这里为了保持原句的格式,我们直接翻译为类似的表述。在实际应用中,可能会说“请将Alpaca MCP服务器安装到你指定的路径下,例如:/opt/alpaca-mcp-server”
  3. 设置环境变量 在“环境变量”参数中添加以下环境变量:

    ALPACA_API_KEY="your_alpaca_api_key"
    ALPACA_SECRET_KEY="your_alpaca_secret_key"
    MCP_CLIENT=pycharm
    

Docker 使用方法

要使用Docker运行Alpaca MCP服务器,请按照以下步骤操作。

前提条件:
你一定得 已安装Docker 在你的系统上。

运行最新发布的镜像(推荐给大多数用户)

docker run -it --rm \
  -e ALPACA_API_KEY=your_alpaca_api_key \
  -e ALPACA_SECRET_KEY=your_alpaca_secret_key \
  ghcr.io/chand1012/alpaca-mcp-server:latest

这会拉取并运行服务器的最新发布版本。替换(注:此处“Replace”可能是一个指令或提示,但根据上下文,它可能是一个不完整或需要结合具体情境理解的词,所以在这里直接翻译为“替换”,但实际使用时可能需要根据具体情况调整或补充完整的意思。) your_alpaca_api_key 并且 your_alpaca_secret_key 使用您实际的密钥。如果服务器开放了某个端口(例如,8080),请添加 -p 8080:8080 执行命令。

在本地构建并运行(用于开发或自定义更改)

docker build -t alpaca-mcp-server .
docker run -it --rm \
  -e ALPACA_API_KEY=your_alpaca_api_key \
  -e ALPACA_SECRET_KEY=your_alpaca_secret_key \
  alpaca-mcp-server

如果您想运行服务器的修改版或开发版,请使用此选项。

与Claude Desktop一起使用

{
  "mcpServers": {
    "alpaca": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "ALPACA_API_KEY",
        "-e", "ALPACA_SECRET_KEY",
        "ghcr.io/chand1012/alpaca-mcp-server:latest"
      ],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}

环境变量可以通过以下方式设置: -e 旗帜或在……里 "env" 对象,但不能同时使用两者。对于Claude Desktop,请使用 "env" 对象。

安全提示: 永远不要分享你的API密钥或将其提交到公共代码库中。在传递环境变量作为秘密信息时要小心,尤其是在共享环境或生产环境中。

对于更高级的Docker使用: 查看 官方Docker文档。

可用工具

账户与持仓

  • 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, days=5, timeframe="1Day", limit=None, start=None, end=None) – OHLCV历史K线,支持灵活的时间框架(1分钟、5分钟、1小时、1天等)
  • get_stock_latest_trade(symbol, feed=None, currency=None) – 最新的市场交易价格
  • get_stock_latest_bar(symbol, feed=None, currency=None) – 最新的开盘-最高-最低-收盘(OHLC)K线
  • get_stock_snapshot(symbol_or_symbols, feed=None, currency=None) – 包含最新报价、交易数据、分钟线、日线及前一日日线的全面快照
  • get_stock_trades(symbol, days=5, limit=None, sort=Sort.ASC, feed=None, currency=None, asof=None) – 贸易层面的历史

订单

  • 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() – 取消所有未完成的订单

加密货币(Crypto)

  • place_crypto_order(symbol, side, order_type="market", time_in_force="gtc", qty=None, notional=None, limit_price=None, stop_price=None, client_order_id=None) – 下一个支持市价单、限价单和止损限价单类型的加密订单,并设置GTC/IOC(立即或撤销/全天有效)的有效期

选项

  • get_option_contracts(underlying_symbol, expiration_date=None, expiration_date_gte=None, expiration_date_lte=None, expiration_expression=None, strike_price_gte=None, strike_price_lte=None, type=None, status=None, root_symbol=None, limit=None) – – 获取具有灵活筛选功能的期权合约。
  • get_option_latest_quote(option_symbol) – 合约上的最新买入/卖出报价
  • get_option_snapshot(symbol_or_symbols) – 获取希腊值和基础资产
  • place_option_market_order(legs, order_class=None, quantity=1, time_in_force=TimeInForce.DAY, extended_hours=False) – 执行期权策略
  • exercise_options_position(symbol_or_contract_id) – 行使所持期权合约,将其转换为标的资产

市场信息与公司行动

  • get_market_clock() – 市场开盘/收盘时间表
  • get_market_calendar(start, end) – 节假日和交易日
  • get_corporate_announcements(ca_types, start, end, symbols) – 历史及未来公司行为(如收益、股息、拆股)

监控名单

  • create_watchlist(name, symbols) – 创建一个新列表
  • update_watchlist(watchlist_id, name=None, symbols=None) – 修改现有列表
  • get_watchlists() – 检索所有已保存的观察列表

资产

  • get_asset_info(symbol) – 搜索资产元数据
  • get_all_assets(status=None, asset_class=None, exchange=None, attributes=None) – 列出所有可交易工具,并提供筛选选项

自然语言查询示例

请参阅下文的“示例查询”部分,其中包含了从交易到企业数据再到期权策略等各方面的实际示例。

基本交易

  1. 我在Alpaca的当前账户余额和购买力是多少?
  2. 显示我Alpaca账户中的当前持仓。
  3. 以市价购买5股AAPL股票。
  4. 以300美元的限价卖出5股特斯拉(TSLA)股票。
  5. 取消所有未完成的股票订单。
  6. 取消ID为abc123的订单。
  7. 平仓我持有的全部GOOGL仓位。
  8. 平仓我持有NVDA股票的10%仓位。
  9. 以450美元的价格限价买入100股微软(MSFT)股票。
  10. 下达市价单卖出25股META股票。

加密货币交易

  1. 以市价买入0.01个以太坊(ETH)/美元。
  2. 以110,000美元的价格挂单卖出0.01个比特币(BTC/USD)。

期权交易

  1. 给我看看下个月到期的AAPL期权合约有哪些可选的。
  2. 获取AAPL250613C00200000期权的最新报价。
  3. 获取SPY250627P00400000期权的快照。
  4. 平仓我下周到期的2份QQQ看涨期权合约。
  5. 以市价单购买1份到期日为下周五的AAPL看涨期权。
  6. TSLA250620P00500000期权的希腊值(或期权希腊字母)是什么?
  7. 查找特斯拉(TSLA)期权合约,其执行价格在当前市场价格的5%以内。
  8. 获取2025年6月16日当周到期的SPY看涨期权,价格需在市场价格的10%以内。
  9. 使用苹果公司(AAPL)6月6日的期权建立看涨牛市价差策略:一个行权价为190.00,另一个行权价为200.00。
  10. 行使我的NVDA看涨期权合约NVDA250919C001680。

市场信息

  1. 今天的市场开盘和收盘时间是什么时候?
  2. 给我看看下周的市场日历。
  3. 请给我显示过去3个月内AAPL、MSFT和GOOGL的最近现金股息和股票拆分情况。
  4. 获取过去一年内SPY的所有公司行为,包括分红、拆股以及任何合并事件。
  5. 在未来6个月内,SPY(标准普尔500指数ETF)有哪些即将发生的公司行动?

历史数据与实时数据

  1. 给我展示苹果公司(AAPL)过去5个交易日的每日价格历史。
  2. 特斯拉(TSLA)昨天的收盘价是多少?
  3. 获取GOOGL的最新股价(或最新交易栏)。
  4. NVDA的最新交易价格是多少?
  5. 给我看看微软(MSFT)最新的报价。
  6. 获取AMD的最近100笔交易。
  7. 给我显示过去2小时内亚马逊(AMZN)的1分钟K线图。
  8. 获取特斯拉(TSLA)从上周二到上周五的5分钟日内交易数据。
  9. 获取苹果公司(AAPL)的全面股票快照,一次性查看最新报价、交易情况、一分钟K线图、日K线图以及前一日K线图。
  10. 比较特斯拉(TSLA)、英伟达(NVDA)和微软(MSFT)的市场快照,以分析它们当前的买卖价差、最新交易价格以及每日表现。

订单

  1. 给我显示本周所有未完成和已完成的订单。
  2. 我对于AAPL(苹果公司)有哪些订单?
  3. 列出我过去3天内放置的所有限价订单。
  4. 按状态过滤所有订单:已成交。
  5. 给我查一下昨天的订单记录。

监控名单

此时,您只能通过Alpaca的交易API本身来查看和更新通过该API创建的交易监控名单

  1. 创建一个新的观察列表,命名为“科技股”,并加入AAPL、MSFT和NVDA。
  2. 更新我的“科技股”观察列表,加入TSLA和AMZN。
  3. 我的“股息精选”观察列表中有哪些股票?
  4. 从我的“成长组合”观察列表中移除META。
  5. 列出我现有的所有关注列表。

资产信息

  1. 搜索关于资产“AAPL”的详细信息。
  2. 请展示按交易量排名的前5大可交易加密资产。
  3. 获取所有纳斯达克上市的美国股票资产,并筛选结果以仅显示可交易证券

组合场景

  1. 获取今天的市场时钟,并在下达340美元的限价买入特斯拉(TSLA)订单前,向我展示我的购买力。
  2. 利用SPY 7月3日期权构建看涨价差策略:买入当前SPY价格上方5%的期权,同时卖出当前SPY价格下方3%的期权。

示例输出

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

期权希腊值分析

查询:“TSLA250620P00500000期权的希腊值是多少?”

回复: 选项详情:

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

希腊人:

  • 德尔塔值:-0.8968(极度看跌)
  • Gamma:0.0021(变化率较低)
  • Theta:-0.2658(时间衰减:每天26.58美元)
  • Vega:0.1654(波动率敏感度)
  • Rho:-0.3060(利率敏感性)

关键见解:

  • 高隐含波动率(92.54%)
  • 深度实值(Delta:-0.90)
  • 显著的时间衰减(每天27美元)

多腿期权订单

查询:“使用AAPL 6月6日的期权构建一个看涨价差组合:一个行权价为190.00,另一个行权价为200.00。”

回答: 订单详情:

  • 订单ID:fc1c04b1-8afa-4b2d-aab1-49613bbed7cb
  • 订单类别:多程(MLEG)
  • 状态:待处理新项
  • 数量:1份涂抹物

双腿分开

  1. 买入看涨(BUY):

    • AAPL25年6月6日到期的看涨期权,行权价190.00美元($190.00 strike)
    • 状态:待新建
  2. 做空(SELL):

    • AAPL250606C00200000(行权价200.00美元)
    • 状态:待新建

策略概要:

  • 最大利润:每点差10.00美元
  • 最大损失:已支付的净买入金额
  • 盈亏平衡点:190美元 + 已支付的净借方金额

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

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

服务器在所有支持的查询中都保持这种细节水平和格式,使得提供的信息易于理解和处理。

用于远程使用的HTTP传输

对于需要在远程机器(例如,Ubuntu服务器)上运行MCP服务器,并从另一台机器(例如,Windows Claude桌面)进行连接的用户,请使用HTTP传输:

服务器设置(远程机器)

# Start server with HTTP transport (default: 127.0.0.1:8000)
python alpaca_mcp_server.py --transport http

# Start server with custom host/port for remote access
python alpaca_mcp_server.py --transport http --host 0.0.0.0 --port 9000

# For systemd service (example from GitHub issue #6)
# Update your start script to use HTTP transport
#!/bin/bash
cd /root/alpaca-mcp-server
source venv/bin/activate
exec python3 -u alpaca_mcp_server.py --transport http --host 0.0.0.0 --port 8000

远程访问选项:

  1. 直接结合使用 --host 0.0.0.0 绑定到所有接口以实现直接远程访问
  2. SSH隧道技术: ssh -L 8000:localhost:8000 user@your-server 用于安全访问(建议用于本地主机绑定)
  3. 反向代理使用nginx/Apache安全地暴露服务,并进行身份验证

客户端设置

更新您的Claude桌面配置以使用HTTP:

{
  "mcpServers": {
    "alpaca": {
      "transport": "http",
      "url": "http://your-server-ip:8000/mcp",
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}

解决HTTP传输问题

  • 端口未监听确保服务器成功启动并检查防火墙设置
  • 连接被拒绝验证服务器是否在预期的主机:端口上运行
  • ENOENT 错误确保你使用的是更新后的服务器命令,与……一起 --transport http
  • 远程访问使用 --host 0.0.0.0 用于直接访问,或用于本地主机绑定的SSH隧道
  • 端口冲突使用 --port <PORT> 如果默认端口被占用,请指定一个不同的端口

安全通知

这个服务器可以进行真实交易并访问您的投资组合。请将您的API密钥视为敏感凭证。仔细审查大型语言模型(LLM)提出的每一项操作,尤其是复杂的期权策略或多腿交易。

HTTP传输安全当使用HTTP传输时,服务器默认绑定到本地主机(127.0.0.1:8000)以确保安全。如需远程访问,您可以将绑定设置为所有接口 --host 0.0.0.0,使用SSH隧道(ssh -L 8000:localhost:8000 user@server),或者设置一个带认证的反向代理以实现安全访问。

使用分析通知

API调用的用户代理默认设置为'ALPACA-MCP-SERVER',以帮助Alpaca识别MCP服务器的使用情况并提升用户体验。您可以通过修改'.github/core/user_agent_mixin.py'中的'USER_AGENT'常量,或在'alpaca_mcp_server.py'的客户端类定义中移除'UserAgentMixin'来选择退出——不过我们恳请您保持其启用状态,以支持持续改进。

定制MCP服务器开发

我们为客户开发MCP服务器。如果您需要为自己的系统开发类似于Alpaca Trading MCP服务器的MCP服务器,请联系我们(https://www.flowhunt.io/contact/)。以下是关于我们如何为客户开发MCP服务器的描述:https://www.flowhunt.io/services/mcp-server-development/

许可证

麻省理工学院(MIT)

披露

请注意,本页内容仅供参考。Alpaca不推荐任何特定的证券或投资策略。

期权交易因其固有的高风险性,并不适合所有投资者,这种风险可能导致重大损失。请阅读《标准化期权的特征与风险》(期权披露文件在投资期权之前。

羊驼(Alpaca,此处可能为公司或平台名,直译为“羊驼”,实际翻译时可能需根据上下文调整)不准备、编辑、支持或批准第三方内容。羊驼不保证第三方内容的准确性、及时性、完整性或实用性,也不对第三方网站上的任何内容、广告、产品或其他材料负责或承担任何责任。

所有投资均涉及风险,且任何证券或金融产品的过往表现并不能保证未来的结果或回报。没有任何投资策略能保证一定实现其目标。请注意,分散投资并不能确保盈利,也不能防止损失。投资证券或其他金融产品时,总是存在亏损的潜在可能。投资者在投资前应仔细考虑其投资目标和风险。

该算法的计算基于历史和实时市场数据,但可能无法涵盖所有市场因素,包括价格的突然波动、流动性限制或执行延迟。模型假设,如波动率估算和股息处理方式,可能会影响其性能和准确性。算法生成的交易需遵循经纪商的执行流程、市场流动性、订单优先级和时间延迟。这些因素可能导致实际交易执行价格或时间与预期存在偏差。用户有责任监控算法活动并了解其中涉及的风险。Alpaca对使用本系统所造成的任何损失不承担责任。

过去的假设回测结果并不能保证未来的收益,实际结果可能与分析结果存在差异。

模拟交易API由AlpacaDB股份有限公司提供,它不需要真实资金,也不允许用户在市场上进行真实证券的交易。提供模拟交易API的使用,并不构成AlpacaDB股份有限公司或其任何关联公司购买或出售任何类型证券、证券衍生品或期货产品的要约或邀请,也不构成任何形式的交易或投资建议、推荐或策略,无论是由AlpacaDB股份有限公司或其任何关联公司提供还是以任何方式认可的。通过模拟交易API提供的信息,在任何AlpacaDB股份有限公司或其任何关联公司(统称“Alpaca”)未获准开展业务的司法管辖区,均不构成任何形式的要约或邀请。

证券交易服务由Alpaca Securities LLC(“Alpaca Securities”)提供,该公司为(某证券交易所或协会的)会员 FINRA(Financial Industry Regulatory Authority,金融行业监管局)/SIPC(证券投资者保护公司),是AlpacaDB,Inc.的全资子公司。AlpacaDB,Inc.提供技术和相关服务。

本文件不构成要约、要约邀请,也不构成在任何Alpaca Securities未注册或未获许可的司法管辖区(视情况而定)购买或出售证券或开设经纪账户的建议。