Token导航 LogoToken导航TokenDH.com
Ctbcsec API MCP Server logo
金融服务stdio官方级别未说明来源级核验

Ctbcsec API MCP Server

MCP Server

一个提供全面访问CTBC证券CTS交易API的模型上下文协议(MCP)服务器,支持股票、期货和期权交易操作。

工具数

21

提示词数

0

GitHub Stars

0

资源数

0
金融科技PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Mofesto

提供方

Mofesto

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

CTS Trading API MCP服务器

模型上下文协议(MCP)服务器,提供对CTBC Securities CTS Trading API的全面访问。使像Claude这样的LLM能够与股票、期货和期权交易平台进行交互。

特性

  • 股票交易:下达、修改和取消库存订单
  • 期货/期权交易:全面支持衍生品交易
  • 账户管理:查询帐户、职位、订单和匹配项
  • 类型安全:适用于所有操作的全面Pydantic模型
  • 事件驱动:查询操作的异步响应处理
  • MCP资源:访问配置和连接状态

需求

  • 操作系统:Windows(COM对象依赖关系)
  • python:3.10或更高
  • 中旅贸易API:必须在系统上安装并注册
  • 依赖项:

- mcp >= 1.1.0 - pywin32 >= 306 - pydantic >= 2.0

安装

  1. 克隆或下载存储库
  1. 安装CTS Trading API (来自CTBC证券)

- 确保 DJTRADEOBJLibCTS.TradeApp COM对象已注册

  1. 安装 Python 依赖项
   # Using uv (recommended)
   uv pip install -e .

   # Or using pip
   pip install -e .
  1. 配置服务器

编辑 appsetting.json 使用您的交易服务器端点:

   {
     "TradeDas": "your.trading.server.com/tradedas"
   }

用法

MCP检验员测试

使用MCP开发工具测试服务器:

uv run mcp dev d:\ctbcsec-api-mcp-server\ctbcsec_mcp\server.py

这将启动MCP检查器,您可以在其中:

  • 查看所有可用工具
  • 测试工具模式
  • 交互式执行工具
  • 监控响应

与Claude Desktop集成

将服务器安装到Claude Desktop:

uv run mcp install d:\ctbcsec-api-mcp-server\ctbcsec_mcp\server.py

或手动添加到Claude Desktop配置(%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "ctbcsec-trading": {
      "command": "uv",
      "args": [
        "--directory",
        "d:\\ctbcsec-api-mcp-server",
        "run",
        "ctbcsec-mcp"
      ]
    }
  }
}

可用工具

身份验证和连接

  • initialize:使用服务器配置初始化CTS Trading API
  • login:使用交易系统对用户进行身份验证
  • connect:连接到交易服务器
  • disconnect:断开与交易服务器的连接
  • logout:退出交易系统
  • get_accounts:检索所有可用的交易账户
  • get_connection_status:获取当前连接状态
  • set_lot_size:为特定股票设置批量数据

股票交易

  • stock_new_order:下新的库存订单
  • stock_modify_order:修改现有库存订单
  • stock_cancel_order:取消现有库存订单
  • stock_query_order:查询库存订单
  • stock_query_match:查询股票交易匹配
  • stock_query_position:查询库存头寸

期货/期权交易

  • futopt_new_order:下达新的期货/期权订单
  • futopt_modify_order:修改现有的期货/期权订单
  • futopt_cancel_order:取消现有的期货/期权订单
  • futopt_query_order:查询期货/期权订单
  • futopt_query_match:查询期货/期权匹配
  • futopt_query_oi:查询期货/期权未平仓合约
  • futopt_query_equity:查询期货/期权账户权益

资源

  • config://appsetting:当前服务器配置
  • status://connection:当前连接和身份验证状态

示例使用流程

# 1. Initialize the trading API
initialize(trade_das_url="apsit.ectest.ctbcsec.com/tradedas")

# 2. Login
login(user_id="your_user_id", password="your_password")

# 3. Connect to trading server
connect()

# 4. Get available accounts
accounts = get_accounts()

# 5. Place a stock order
stock_new_order(
    account_id="1234567",
    stock_id="2330",
    quantity="1000",
    price="500",
    buy_sell=BuySell.BUY,
    price_type=PriceType.LIMIT
)

# 6. Query positions
stock_query_position(account_id="1234567")

# 7. Cleanup
disconnect()
logout(user_id="your_user_id")

枚举

交易类型(股票)

  • REGULAR = 0:常规交易
  • AFTER_HOURS_ODD_LOT = 1:下班后奇数
  • AFTER_HOURS = 2:下班后
  • EMERGING = 5:新兴股票
  • INTRADAY_ODD_LOT = 7:当日奇数批次

订单类型(库存)

  • CASH = 0:现金订单
  • MARGIN = 1:保证金交易
  • SHORT = 2:卖空
  • DAY_TRADING_SELL_FIRST = 16:日内交易先卖出

买卖

  • BUY = 1:购买订单
  • SELL = 2:卖出订单

价格类型

  • LIMIT = 0:限价
  • LIMIT_UP = 1:上限
  • LIMIT_DOWN = 2:限制
  • FLAT = 3:公寓
  • MARKET = 4:市场价格

订单条件

  • ROD = 0:剩余时间
  • IOC = 1:立即或取消
  • FOK = 2:填充或杀死

产品类型(期货/期权)

  • FUTURES = 0:期货
  • OPTIONS = 1:选项
  • COMPLEX_OPTIONS = 2:复杂选项
  • COMPLEX_FUTURES = 3:复杂的未来

建筑

组件

  • server.py:具有工具定义和生命周期管理的FastMCP服务器
  • models.py:类型安全结构化数据的Pydantic模型
  • wrapper.py:具有事件处理和线程安全的COM对象包装器
  • __init__.py:包初始化

数据流

  1. MCP工具接收带有键入参数的请求
  2. 服务器使用Pydantic模型验证输入
  3. 包装器执行具有线程安全性的COM对象方法
  4. 事件处理程序将异步响应排队
  5. 结构化响应返回给LLM

线程安全

包装器使用锁来确保对COM对象的线程安全访问,这对并发操作至关重要。

事件处理

查询操作使用事件驱动架构:

  • 响应通过以下方式到达 OnDataResponse 回调
  • 事件排队等待异步处理
  • 工具等待具有可配置超时的响应

故障排除

找不到COM对象

错误:“创建COM对象失败”

解决方案:确保安装了CTS Trading API并注册了COM对象。运行CTS Trading客户端一次以验证安装。

连接失败

错误:“未连接到交易服务器”

解决方案:

  1. 验证 appsetting.json 具有正确的服务器URL
  2. 呼叫 initialize() 之前 login()
  3. 呼叫 login() 之前 connect()
  4. 检查网络连接

查询超时

备注:如果服务器响应缓慢,查询操作可能会超时。默认超时为5秒。对于某些操作来说,这是正常的。

权限错误

确保您拥有CTBC Securities的适当交易权限和账户授权。

发展

运行自动测试

该项目包括一套全面的自动化测试,使用 pytestmock.

# Install dev dependencies
uv pip install -e ".[dev]"

# Run all tests
pytest

测试包括:

  • 模型:所有数据结构的验证和序列化。
  • 包装器:COM对象交互的逻辑(使用模拟)。
  • 服务器:工具注册和高级逻辑。

使用脚本进行手动测试

日志记录

服务器使用Python的日志模块。通过环境变量设置日志级别:

# Windows PowerShell
$env:LOG_LEVEL="DEBUG"
uv run ctbcsec-mcp

# Windows CMD
set LOG_LEVEL=DEBUG
uv run ctbcsec-mcp

安全考虑

  • 凭证:从不将凭据提交到版本控制
  • 生产使用:使用适当的身份验证和授权
  • 网络安全:确保与交易服务器的安全连接
  • 访问控制:适当限制对MCP服务器的访问

许可证

此MCP服务器仅供参考和开发之用。有关使用条款,请参阅您的CTBC Securities API许可协议。

支持

有关技术支持和API问题,请联系CTBC Securities技术支持团队。

参考文献

______________________________________________________________________

版本: 0.1.0\ 最后更新:2026年1月21日

目录标签

目录标签

金融科技PythonClaude证券交易本地部署API集成自动化交易期货期权

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

21

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP