Trade Agent MCP Server
官方通过Trade Agent执行股票和加密货币交易
文档
Trade It MCP 服务器
👉 完整文档请点击此处 👈
现已通过 官方 MCP 注册表 提供
目录
概述
Trade It MCP 服务器为智能体带来了股票、加密货币和期权交易支持。它支持通过自然语言与股票和加密货币券商进行交互——通过 MCP 协议发送纯英文请求,即可执行交易、查询投资组合表现并获取市场洞察。
端点:
- 流式 HTTP:
https://mcp.tradeit.app/mcp - SSE:
https://mcp.tradeit.app/sse
券商支持:
加密货币交易所支持:
更多即将推出!
此服务器是远程的,因此您无需在本地运行任何内容即可连接。只需将您的 MCP 兼容智能体平台指向上述 URL 即可。
快速入门
- 首先,在 https://tradeit.app. 创建一个账户
- 注册 Pro 计划的免费试用。
- 连接您选择的券商。
连接
- 将您的 MCP 客户端连接到
https://mcp.tradeit.app/mcp或https://mcp.tradeit.app/sse。 - 通过基于浏览器的 OAuth 流程进行身份验证。
- 您现在可以开始交易了!
工具
MCP 工具将您的智能体连接到已关联的券商:搜索代码、列出账户、创建草稿订单,然后仅在确认后执行。
| MCP 工具 | 功能 |
|---|---|
search_assets | 通过代码或名称查找股票或加密货币;返回价格和元数据。 |
get_accounts | 列出已关联的账户和余额;在关联新券商时也使用此工具。 |
create_trade | 创建草稿股票/加密货币买入或卖出订单以供审核。 |
create_options_trade | 创建草稿单腿或多腿期权订单以供审核。 |
execute_trade | 在用户明确确认后,将先前创建的草稿提交给券商。 |
安全模型(先草稿)
交易以 draft 订单开始,在用户明确确认之前,不会发送给券商。
预期流程:
- 调用
create_trade或create_options_trade→ 您将获得一个带有trade_id的草稿。 - 向用户显示完整的订单详情以及如何继续。
- 仅当用户明确要求执行、确认或下达交易时,才调用
execute_trade。 - 不要在创建草稿后自动或立即调用
execute_trade。
创建草稿后,确保用户知道他们可以在准备好时下达订单(例如,通过客户端的“执行”控件,如果可用)。
创建草稿前的可选步骤:
search_assets— 确认代码和上下文。get_accounts— 当用户关心使用哪个账户时,选择正确的account_id。
执行流程:
User requests trade
↓
[Optional] search_assets — confirm ticker, get current price
↓
[Optional] get_accounts — identify correct account_id
↓
create_trade / create_options_trade → draft with trade_id, status: "draft"
↓
Show draft details; user confirms
↓
execute_trade(trade_id)
↓
Status: "placed" or "failed" (with details)
账户/订单默认值: 如果用户省略了金额、账户或订单类型,Trade It 将应用其默认金额、默认账户,并在适用时使用市价订单。如果在 Trade It 设置中启用了自动执行,在某些设置中行为可能会跳过手动执行步骤;如有疑问,仍应将执行视为用户已确认。
search_assets
通过代码或名称查找股票或加密货币。
- 参数:
query(字符串)— 例如"TSLA"、"Tesla"、"bitcoin"。 - 返回: 价格、代码、交易所、资产类型和相关元数据。
示例:
{ "query": "TSLA" }
自然语言示例: “苹果公司表现如何?” · “TSLA 的价格是多少?”
get_accounts
列出所有已关联的券商账户(并在用户想要连接新券商时使用此流程)。
- 参数: 无。
- 返回: 包含
id、name、brokerage、balance、available_cash的账户。当需要特定账户时,在交易调用中使用account.id作为account_id。
自然语言示例: “显示我的账户。”
create_trade
创建草稿股票或加密货币订单。
参数:
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
symbol | 字符串 | 是 | 代码,例如 "TSLA"。 |
amount | 数字 | 是 | 交易规模。 |
unit | "dollars" 或 "shares" | 是 | amount 的单位。 |
buy_or_sell | "buy" 或 "sell" | 是 | 方向。 |
order_type | "market"、"limit"、"stop"、"stop_limit" | 否 | 默认为 "market"。 |
limit_price | 数字 | 如果是限价/止损限价 | 适用的每股最高或最低价格。 |
stop_price | 数字 | 如果是止损/止损限价 | 止损触发价格。 |
time_in_force | "day"、"gtc"、"ioc"、"fok" | 否 | 省略则使用券商默认值。 |
account_id | 数字 | 否 | 省略则使用默认账户。 |
订单类型:
| 类型 | 使用场景 | 价格字段 |
|---|---|---|
market | 以当前市场价格成交 | 无 |
limit | 仅在 limit_price 或更优价格时 | limit_price |
stop | 市价单在 stop_price 触发 | stop_price |
stop_limit | 限价单在 stop_price 触发 | stop_price 和 limit_price |
JSON 示例:
以市价买入 500 美元的苹果股票:
{ "symbol": "AAPL", "amount": 500, "unit": "dollars", "buy_or_sell": "buy" }
仅在 NVDA 跌至 800 美元或以下时买入 10 股:
{ "symbol": "NVDA", "amount": 10, "unit": "shares", "buy_or_sell": "buy", "order_type": "limit", "limit_price": 800 }
如果 Meta 价格跌至 450 美元(止损),卖出 5 股:
{ "symbol": "META", "amount": 5, "unit": "shares", "buy_or_sell": "sell", "order_type": "stop", "stop_price": 450 }
如果 AAPL 突破 200 美元,买入 10 股,每股最多支付 202 美元:
{ "symbol": "AAPL", "amount": 10, "unit": "shares", "buy_or_sell": "buy", "order_type": "stop_limit", "stop_price": 200, "limit_price": 202 }
买入 1,000 美元的比特币:
{ "symbol": "BTC", "amount": 1000, "unit": "dollars", "buy_or_sell": "buy" }
卖出 100 股特斯拉,取消前有效:
{ "symbol": "TSLA", "amount": 100, "unit": "shares", "buy_or_sell": "sell", "time_in_force": "gtc" }
自然语言示例: “买入 1000 美元的特斯拉” · “仅在特斯拉价格跌至 150 美元或更低时买入 1000 美元” · “如果苹果价格跌至 140 美元,卖出 10 股” · “如果苹果达到 200 美元,买入一股” · “如果苹果涨至 140 美元,买入 10 股,但每股支付不超过 142 美元”
create_options_trade
创建草稿单腿或多腿期权订单(价差、跨式等)。
参数:
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
symbol | 字符串 | 是 | 标的代码,例如 "SPY"。 |
legs | 数组 | 是 | 一个或多个腿(见下文)。 |
direction | "debit" 或 "credit" | 多腿 | "debit" = 您支付;"credit" = 您收取。 |
order_type | "market"、"limit" 等 | 否 | 默认为 "market"。 |
limit_price | 数字 | 限价单 | 组合的净借方/贷方限额。 |
time_in_force | "day" 或 "gtc" | 否 | 省略则使用默认值。 |
account_id | 数字 | 否 | 省略则使用默认账户。 |
每条腿:
| 字段 | 类型 | 必需 | 描述 |
|---|---|---|---|
type | "option" 或 "equity" | 是 | 腿类型。 |
action | "buy" 或 "sell" | 是 | 腿的方向。 |
position_effect | "open" 或 "close" | 期权 | 开新仓或平现有仓位。 |
occ | 字符串或 null | 期权 | OCC 字符串(见下文);股票腿使用 null。 |
quantity | 数字 | 是 | 合约数(期权)或股数(股票)。 |
OCC 期权代码格式
OCC 字符串遵循:YYMMDD + C 或 P + 8 位行权价(行权价 × 1000,零填充)。
| 描述 | OCC |
|---|---|
| 2025年6月20日 250美元看涨期权 | 250620C00250000 |
| 2025年6月20日 260美元看涨期权 | 250620C00260000 |
| 2025年3月21日 500美元看跌期权 | 250321P00500000 |
| 2025年12月19日 1,500美元看涨期权 | 251219C01500000 |
| 2026年1月16日 50美元看跌期权 | 260116P00050000 |
行权价编码:将美元乘以 1,000 并填充至 8 位数字(例如 $250 → 00250000;$50.50 → 00050500)。
期权 JSON 示例
单腿看涨期权 — 买入 1 份 SPY 520美元看涨期权,到期日 2025年6月20日:
{
"symbol": "SPY",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00520000", "quantity": 1 }
]
}
牛市看涨价差(借方) — 买入 250美元看涨期权,卖出 260美元看涨期权,相同到期日:
{
"symbol": "TSLA",
"direction": "debit",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00250000", "quantity": 1 },
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620C00260000", "quantity": 1 }
]
}
熊市看跌价差(借方):
{
"symbol": "SPY",
"direction": "debit",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620P00520000", "quantity": 1 },
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620P00510000", "quantity": 1 }
]
}
牛市看跌价差(贷方):
{
"symbol": "SPY",
"direction": "credit",
"legs": [
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620P00510000", "quantity": 1 },
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620P00500000", "quantity": 1 }
]
}
带限价的价差 — 净借方 3.50 美元或更优:
{
"symbol": "TSLA",
"direction": "debit",
"order_type": "limit",
"limit_price": 3.50,
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00250000", "quantity": 1 },
{ "type": "option", "action": "sell", "position_effect": "open", "occ": "250620C00260000", "quantity": 1 }
]
}
平仓多头看涨期权 — 卖出平仓 2 份 AAPL 200美元看涨期权,到期日 2025年3月21日:
{
"symbol": "AAPL",
"legs": [
{ "type": "option", "action": "sell", "position_effect": "close", "occ": "250321C00200000", "quantity": 2 }
]
}
跨式期权 — 多头 250美元看涨期权和 250美元看跌期权,相同到期日:
{
"symbol": "TSLA",
"direction": "debit",
"legs": [
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620C00250000", "quantity": 1 },
{ "type": "option", "action": "buy", "position_effect": "open", "occ": "250620P00250000", "quantity": 1 }
]
}
自然语言示例: “买入 1 份 AAPL 300美元看涨期权,下个月到期” · “MSFT 的备兑看涨期权,行权价 500美元” · “TSLA 看涨价差:买入 475美元 / 卖出 485美元,下周” · “SPY 本周五的平价跨式期权” · “2 份 AMZN 看跌期权,限价 3.50 美元” · “卖出 AMZN260130P00200000”
execute_trade
在用户审核后,将草稿发送给券商。
- 参数:
trade_id(数字)— 来自create_trade或create_options_trade的草稿的id。 - 返回: 更新后的交易;状态为
"placed"或"failed"(包含错误详情)。
仅在用户明确确认时调用(例如,执行、确认、下达、继续)。确认与他们刚刚审核的交易相符。
不要在创建草稿后自动调用、未显示订单详情时调用,或状态不是 "draft" 时调用。
交易状态参考
| 状态 | 含义 |
|---|---|
draft | 已创建;尚未发送给券商 |
pending | 已提交;等待券商确认 |
placed | 已接受;等待成交 |
partially_filled | 部分成交 |
complete | 全部成交 |
canceled | 已取消 |
failed | 已拒绝 — 检查错误 |
disconnected | 券商连接问题 |
券商 ID(API 辅助)
| 券商 | ID | 期权 |
|---|---|---|
| Robinhood | 1 | 是 |
| E*TRADE | 2 | 是 |
| Coinbase | 3 | 仅加密货币 |
| Kraken | 5 | 仅加密货币 |
| Charles Schwab | 7 | 是 |
| Webull | 8 | 是 |
| Public | 11 | 是 |
| Tastytrade | 12 | 是 |
澄清: 当订单类型不明确(例如“以 200 美元买入 TSLA”——限价 vs 止损)、期权缺少到期日/行权价、有多个账户适用且未选择,或代码可能代表多种资产时,一次性询问所有需要的信息。当默认值明确时(默认金额、市价单、主账户),跳过冗余问题。
免责声明
- 投资涉及风险,包括可能损失本金。
- Trade It 不是财务顾问,不提供投资建议。
- 期权涉及重大风险,并不适合所有投资者。
- Trade It 不能提取资金、转移资产或进行托管——它只能通过您关联的券商下达交易。