Skip to main content

Trading API MCP

机器翻译译自英文(docs.alpaca.markets)本页 73 段已全部译完

你可以做什么

  • 账户与投资组合:查看余额、购买力、头寸、投资组合历史和账户活动
  • 交易:下单和管理股票、期权和加密货币订单(市价单、限价单、止损单、追踪止损单、括号订单、多腿价差)
  • 市场数据:查询历史和实时数据:K 线、报价、成交、快照、带希腊值的期权链
  • 发现:筛选最活跃股票、市场异动、新闻、公司行动
  • 组织:创建和管理自选列表

前提条件

  • Python 3.10+(官方安装指南)
  • uv 及 uvx(安装指南)
  • Alpaca API key:免费的模拟交易账户即可入门
  • MCP 客户端:Claude Desktop、Cursor、VS Code、Claude Code、Gemini CLI、PyCharm 或任何兼容 MCP 的工具

设置

使用你的 API key 将服务器添加到 MCP 客户端配置中。无需 init 命令或额外设置。

Cursor

添加到 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": ["alpaca-mcp-server"],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}

Claude 桌面版

添加到你的 Claude Desktop 配置(claude_desktop_config.json)中:

{
  "mcpServers": {
    "alpaca": {
      "command": "uvx",
      "args": ["alpaca-mcp-server"],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}

VS Code

添加到你的 VS Code 设置(.vscode/mcp.json)中:

{
  "servers": {
    "alpaca": {
      "command": "uvx",
      "args": ["alpaca-mcp-server"],
      "env": {
        "ALPACA_API_KEY": "your_alpaca_api_key",
        "ALPACA_SECRET_KEY": "your_alpaca_secret_key"
      }
    }
  }
}

Claude Code(CLI)

claude mcp add alpaca --scope user --transport stdio uvx alpaca-mcp-server \
  --env ALPACA_API_KEY=your_alpaca_api_key \
  --env ALPACA_SECRET_KEY=your_alpaca_secret_key

Docker

git clone https://github.com/alpacahq/alpaca-mcp-server.git
cd alpaca-mcp-server
docker build -t mcp/alpaca:latest .
docker run -e ALPACA_API_KEY=your_key -e ALPACA_SECRET_KEY=your_secret mcp/alpaca:latest

对于其他客户端(Gemini CLI、PyCharm、ChatGPT),请参阅 README 设置部分。

验证

重启你的 MCP 客户端,然后询问:

"我的 Alpaca 账户余额和购买力是多少?"

如果你收到了账户详情,则说明服务器已连接。

配置

所有配置均通过 MCP 客户端配置中的环境变量进行。

变量必需默认值描述
ALPACA_API_KEY是—你的 Alpaca API key ID
ALPACA_SECRET_KEY是—你的 Alpaca secret key
ALPACA_PAPER_TRADE否true设为 false 以使用实盘交易
ALPACA_TOOLSETS否全部要启用的工具集逗号分隔列表

工具集筛选

使用 ALPACA_TOOLSETS 控制你的 AI 助手可用的工具。这对于限制范围(例如只读市场数据)或保持在 MCP 客户端工具限制内很有用。

工具集范围
account账户信息、配置、投资组合历史、活动
trading订单、头寸、行权 / 不行权
watchlists自选列表增删改查
assets资产、期权合约、日历、时钟、公司行动
stock-data股票 K 线、报价、成交、快照、筛选器
crypto-data加密货币 K 线、报价、成交、快照、订单簿
options-data期权 K 线、成交、报价、期权链、快照
corporate-actions公司行动(市场数据)
news新闻文章
fixed-income-data固定收益最新报价

示例 — 只读市场数据:

{
  "env": {
    "ALPACA_TOOLSETS": "account,stock-data,crypto-data,options-data,news"
  }
}

支持的 MCP 客户端

客户端连接类型
Claude Desktop本地或远程
VS Code本地或远程
Cursor本地或远程
PyCharm本地或远程
Claude Code (CLI)本地或远程
Gemini CLI本地或远程

可用工具

Alpaca 的 MCP Server 在 Trading API 和 Market Data API 中提供 65 个工具。

账户与投资组合

工具描述
get_account_info账户余额、保证金和状态
get_account_config交易限制和保证金设置
update_account_config更新账户配置
get_portfolio_history权益和盈亏随时间的变化
get_account_activities成交、股息、转账
get_account_activities_by_type按类型筛选的活动

订单

工具描述
place_stock_order股票/ETF;市价单、限价单、止损单、止损限价单、追踪止损单、括号订单
place_crypto_order加密货币;市价单、限价单、止损限价单
place_option_order期权;单腿或多腿策略
get_orders按筛选条件检索订单
get_order_by_id按 ID 获取单个订单
get_order_by_client_id按客户端订单 ID 获取单个订单
replace_order_by_id替换现有的未成交订单
cancel_order_by_id取消特定订单
cancel_all_orders取消所有未成交订单

头寸

工具描述
get_all_positions所有当前头寸
get_open_position特定头寸的详情
close_position平仓特定头寸(全部或部分)
close_all_positions清仓整个投资组合
exercise_options_position行使持有的期权合约
do_not_exercise_options_position不行权指令

自选列表

工具描述
create_watchlist创建新自选列表
get_watchlists列出所有自选列表
get_watchlist_by_id获取特定自选列表
update_watchlist_by_id更新自选列表
delete_watchlist_by_id删除自选列表
add_asset_to_watchlist_by_id向自选列表添加资产
remove_asset_from_watchlist_by_id从自选列表移除资产

资产与市场信息

工具描述
get_all_assets列出资产,可选筛选
get_asset特定资产的详细信息
get_option_contracts标的代码对应的期权合约
get_option_contract按代码或 ID 获取单个期权合约
get_calendar某一日期范围的市场日历
get_clock当前市场状态及下次开盘/收盘时间
get_corporate_action_announcements公司行动公告
get_corporate_action_announcement按 ID 获取单条公告

股票数据

工具描述
get_stock_bars历史 OHLCV K 线
get_stock_quotes历史买卖报价
get_stock_trades历史成交
get_stock_latest_bar最新分钟 K 线
get_stock_latest_quote最新报价
get_stock_latest_trade最新成交
get_stock_snapshot综合快照(报价、成交、K 线)
get_most_active_stocks按成交量/成交笔数最活跃
get_market_movers涨幅榜和跌幅榜

加密货币数据

工具描述
get_crypto_bars历史 OHLCV K 线
get_crypto_quotes历史报价
get_crypto_trades历史成交
get_crypto_latest_bar最新分钟 K 线
get_crypto_latest_quote最新报价
get_crypto_latest_trade最新成交
get_crypto_snapshot综合快照
get_crypto_latest_orderbook带买卖盘深度的最新订单簿

期权数据

工具描述
get_option_bars历史 OHLCV K 线
get_option_trades历史成交
get_option_latest_trade最新成交
get_option_latest_quote带买卖盘的最新报价
get_option_snapshot含希腊值和 IV 的快照
get_option_chain标的资产的完整期权链
get_option_exchange_codes交易所代码到名称的映射

固定收益数据

工具描述
get_fixed_income_latest_quotes按 ISIN 获取固定收益证券的最新报价

公司行动与新闻

工具描述
get_corporate_actions来自市场数据 API 的公司行动
get_news股票和加密货币的新闻文章

示例提示词

以下是一些连接后可以询问的内容:

账户与投资组合

  • "我当前的账户余额和购买力是多少?"
  • "显示我所有的未平仓头寸。"
  • "我过去一个月的投资组合表现如何?"

交易

  • "以市价买入 10 股 AAPL。"
  • "下一笔限价单以 $350 卖出 50 股 TSLA。"
  • "为我的 NVDA 头寸设置 5% 的追踪止损。"
  • "取消我所有未成交订单。"

市场数据

  • "显示 AAPL 上周的每日价格 K 线。"
  • "BTC/USD 的最新报价是多少?"
  • "获取 MSFT 的快照,包括最新成交和报价。"
  • "当前最活跃的股票有哪些?"

期权

  • "显示下个月到期的 AAPL 可用期权。"
  • "这个 TSLA 300 看跌期权的希腊值是多少?"
  • "在 SPY 上建立一个牛市看涨价差。"

自选列表

  • "创建一个名为 Tech Earnings 的自选列表,包含 AAPL、MSFT、NVDA 和 GOOGL。"

提示: 使用模拟交易 API key 安全地测试策略。仅当你使用实盘 API key 设置 ALPACA_PAPER_TRADE=false 时才切换到实盘交易。

重要注意事项

  • API key 安全:切勿将 API key 粘贴到聊天中。仅在你的 MCP 客户端的 env 块或操作系统密钥存储中配置它们。
  • 订单执行:订单直接针对 Alpaca 的 Trading API 执行。在确认之前请审查 AI 建议的订单。
  • 模拟与实盘:服务器默认使用模拟交易。使用实盘密钥设置 ALPACA_PAPER_TRADE=false 以用真实资金交易。
  • 速率限制:Alpaca 的 API 对每个账户有限流。高频查询可能触发限流。
  • 市场数据订阅:某些实时数据可能需要 Algo Trader Plus 订阅。

从 V1 升级

V2 并非 V1 的直接替代品。工具名称和参数已更改。如果你需要 V1,请固定使用较旧的 PyPI 版本:

{
  "args": ["alpaca-mcp-server==1.x.x", "serve"]
}

详情请参阅 README 中的从 V1 升级部分。

资源

免责声明

我们的 MCP server 及连接的 AI 代理生成的洞察仅供教育和信息目的,不应视为投资建议。模型的过往表现不保证未来结果。在做出任何决策之前,请自行进行尽职调查。