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_keyDocker
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 代理生成的洞察仅供教育和信息目的,不应视为投资建议。模型的过往表现不保证未来结果。在做出任何决策之前,请自行进行尽职调查。