SuperAPI AI 工具集

tossinvest-mcp

tossinvest-mcp 是一个本地 MCP 服务器,让支持 MCP 的 AI 客户端(如 OpenAI 服务、Claude Desktop、Cursor)能够调用 Toss Securities Open API,实现韩国/美国股票实时行情查询、订单簿、K线、持仓、购买力以及订单管理(创建、修改、取消)。程序仅在用户电脑上运行,使用 npm 的 npx 即可启动,API Key 和 Secret Key 通过环境变量传递。默认情况下交易功能关闭,只提供查询功能,避免误下单。

访问官网

工具介绍

tossinvest-mcp 是一个本地 MCP 服务器,用于将 Toss Securities Open API(韩国券商 Toss Securities 的开放接口)接入到支持 MCP 的 AI 客户端中,例如 OpenAI 服务、Claude Desktop、Cursor 等。用户把该服务器注册到 MCP 客户端后,就可以用自然语言让 AI 调用 Toss Securities 的行情查询和交易功能。

用途

该工具的核心用途是让 AI 助手能够访问 Toss Securities 的账户和行情数据,并在用户明确启用后执行下单、改单、撤单操作。它本身不提供投资建议或收益保证,只是一个连接层。

主要能力

查询功能(默认启用)

  • 韩国/美国股票实时行情查询(当前价)
  • 韩国/美国市场运营时间查询
  • 订单簿、K线、持仓、购买力等账户相关查询(需要 accountSeq)

交易功能(默认关闭,需手动启用)

  • toss_create_order:创建订单
  • toss_modify_order:修改订单(Toss API 以替代原订单的方式处理,返回新的 orderId,后续操作需使用新 orderId)
  • toss_cancel_order:取消订单

运行特性

  • 通过 npx tossinvest-mcp 启动,无需单独安装
  • API Key 和 Secret Key 通过环境变量传入
  • OAuth Token 自动签发,并在过期前 60 秒自动刷新
  • 需要账户的功能默认使用 accountSeq 1 号账户,可通过 TOSSINVEST_ACCOUNT 修改
  • 订单 API 请求在无响应时 20 秒自动中断
  • clientOrderId 若未提供,自动以 tossinvest-mcp-YYYYMMDD- 为前缀生成,Toss 将其用作 10 分钟去重键

使用方式

1. 环境准备

  • 确认已安装 Node.js v20 或以上版本
  • 在 Toss Securities WTS 的 Open API 设置中获取 API Key 和 Secret Key
  • 将本机公网 IP 添加到 Toss Securities Open API 的允许 IP 列表中(未注册会报“不允许的 IP 地址”错误)

2. 注册到 MCP 客户端 在 MCP 客户端的配置文件中添加服务器配置,并将 API Key 和 Secret Key 作为环境变量传入。配置后需完全关闭并重新启动 MCP 客户端。首次启动时 npm 会自动下载 tossinvest-mcp 包。

3. 多账户设置 如账户不止一个,可通过查询账户列表获取 accountSeq,并设置 TOSSINVEST_ACCOUNT 指定默认账户。未设置时默认使用 1。

4. 启用交易 在 MCP 配置的 env 中添加 TOSSINVEST_ENABLE_TRADING=true 才能注册订单工具。即使启用,默认每次下单仍需在请求中输入 confirmOrderAction: true 才会真正调用 Toss API。

交易护栏

所有检查都在服务器端、调用 Toss 订单 API 之前强制执行,未启用的护栏不生效。主要环境变量包括:

  • TOSSINVEST_REQUIRE_ORDER_CONFIRMATION:设为 false 可关闭 confirmOrderAction 要求,但其他护栏仍生效
  • TOSSINVEST_MAX_ORDER_AMOUNT_KRW / TOSSINVEST_MAX_ORDER_AMOUNT_USD:单笔韩元/美元金额上限
  • TOSSINVEST_DAILY_AMOUNT_LIMIT_KRW / TOSSINVEST_DAILY_AMOUNT_LIMIT_USD:单日累计金额上限
  • TOSSINVEST_DAILY_ORDER_COUNT_LIMIT:单日订单笔数上限
  • TOSSINVEST_ALLOWED_SYMBOLS:允许交易的品种白名单(逗号分隔,韩国用 6 位代码,美国用 ticker)
  • TOSSINVEST_ALLOW_SELL_ORDERS:是否允许卖出(默认 false)
  • TOSSINVEST_ALLOW_MARKET_ORDERS:是否允许市价单(默认 false)
  • TOSSINVEST_MARKET_ORDER_BUFFER_PERCENT:市价买单估算金额时的缓冲百分比
  • TOSSINVEST_LOCK_ACCOUNT:是否锁定账户(订单 accountSeq 与默认账户不同则拦截)
  • TOSSINVEST_GUARD_STATE_PATH:日限额统计文件路径

日限额只统计通过该 MCP 成功提交的订单,且创建与修改均计入(修改按新订单 1 笔计算),撤单不计入且始终允许。启用日金额限额时,每次下单前会重新查询当日未成交订单并计算已成交金额加未成交余量;查询失败则视为无法验证并阻止新订单。

适用场景与限制

适用场景

  • 在 AI 客户端中查询韩国/美国股票行情、持仓、购买力
  • 在严格护栏下通过 AI 辅助执行下单、改单、撤单
  • 希望将 Toss Securities API 接入本地自动化流程的用户

限制与注意事项

  • Toss Securities Open API 没有沙盒或模拟交易环境,启用交易后执行的是真实账户的真实订单
  • 该程序不提供投资咨询、投资推荐、买卖建议或收益保障
  • 查询信息、AI 生成的回答及 AI 建议的订单内容可能不准确、延迟或与用户意图不符
  • 所有投资决策和订单执行的最终责任由用户承担
  • 该项目为开发中项目,开发者与发布者对投资损失、订单失误、API 故障、数据错误、客户端异常、AI 回答错误等不承担责任
  • 修改订单会返回新的 orderId,后续查询、再修改、取消需使用新 orderId
  • 若响应中出现 _guardStateWarning,表示订单已成功提交,但内部限额记录可能部分缺失,不应再次下单

Toss Securities Open API 官方文档:https://developers.tossinvest.com/docs