Skip to main content
Glama
lingfan

TdxQuant MCP Server

by lingfan

TdxQuant MCP Сервер

Оболочка MCP (Model Context Protocol), основанная на локальном tqcenter.py (интерфейс стратегий TdxQuant / TongDaXin). AI-клиенты (например, Cursor) могут вызывать инструменты через stdio или HTTP/SSE для получения данных о котировках, финансах, секторах, формулах и т.д.

Имя Python-пакета: tdxquant-mcp (см. pyproject.toml).

Подключение MCP: docs/mcp-configuration.md Использование агента (порядок вызовов, сопоставление намерений, безопасность торговли): docs/agent-usage.md Краткий обзор платформы TdxQuant (официальная справка + описание инструментов MCP): docs/tdxquant-intro.md Пакет Agent Skill (Claude Code / OpenClaw / Hermes + конфигурация SSE): docs/agent-skills.md · skills/tdxquant-mcp/

Пакет Agent Skill

Для Claude Code, OpenClaw, Hermes Agent и других: можно скопировать каталог skills/tdxquant-mcp/ (содержит SKILL.md / skill.md и фрагменты конфигурации SSE в references/, а также упрощенные рабочие процессы). При запущенном tdx_mcp.main_http клиент подключается к http://<MCP_HOST>:<MCP_PORT>/sse. Инструкции по установке и путям хоста см. в docs/agent-skills.md.

Related MCP server: tdx-mcp

Обзор функций

Инструменты разделены на 9 категорий (в соответствии с tools_catalog / tool_metadata):

Категория

Описание

Управление подключением

Инициализация / закрытие сессии TongDaXin

Рыночные данные

K-линии, тики, снимки, подписки

Информация об акциях

Базовые данные, расширенная информация, акционерный капитал, отслеживание индексов ETF

Данные по секторам

Список секторов, компоненты, избранные сектора, принадлежность к секторам

Финансовые данные

Интервалы отчетов, даты отчетов, производные данные по акциям/секторам/рынку

Конвертируемые облигации/IPO

Информация о конвертируемых облигациях, подписка на новые акции

Торговый календарь

Список торговых дней

Торговый интерфейс

Счета, активы, поручения, позиции, размещение/отмена ордеров (по умолчанию dry-run)

Инструменты/Кэш

Выполнение формул, обновление кэша, пользовательские сектора, docs_get_tdxquant_intro (Markdown-обзор платформы)

Совет: Сначала вызовите инструмент tools_catalog (без параметров), чтобы получить список категорий и инструментов, а затем вызывайте конкретные инструменты по мере необходимости. Формат тикеров: Для Шанхая/Шэньчжэня обычно используется 600519.SH, 000001.SZ (заглавные суффиксы рынка).


Структура репозитория (относящаяся к данному проекту)

user/
├── tqcenter.py              # TdxQuant Python 接口(依赖 TPythClient.dll 等)
├── tdxdata_test.py          # 直连 tq 的脚本示例(非 MCP)
├── skills/tdxquant-mcp/     # Agent Skill(SSE工作流 + 各宿主 MCP 片段)
├── tdx_mcp/                 # MCP 可安装包
│   ├── main_stdio.py        # stdio 入口(Cursor本地 MCP 推荐)
│   ├── main_http.py         # HTTP/SSE入口
│   ├── config.py            # 环境变量:TQ_PATH 等
│   ├── service/tdx_service.py
│   └── server/              # 各工具注册模块
├── tests/                   # pytest(含可选集成测试)
├── pyproject.toml
├── .env.example
├── docs/
│   ├── mcp-configuration.md # MCP 配置(Cursor / Claude / SSE)
│   ├── agent-usage.md       # Agent 使用说明(工作流、意图对照、交易)
│   ├── agent-skills.md      # Skill 包安装(Claude Code / OpenClaw / Hermes)
│   ├── tdxquant-intro.md    # TdxQuant 简介索引(正文见包内 resources)
│   └── mirror-tdx-quant-help/  # 运行 sync脚本后:官方帮助镜像 Markdown(可选)
└── .cursor/mcp.json         # Cursor 项目级 MCP 示例(可选)

Предварительные требования

  1. На локальном компьютере должен корректно работать терминал TdxQuant / TongDaXin (с поддержкой стратегий), и путь к стратегиям должен быть настроен согласно официальной инструкции.

  2. В каталоге проекта tqcenter.py должен быть доступен для импорта (путь должен совпадать с TPythClient.dll и т.д., см. документацию TdxQuant).

  3. Должен быть настроен TQ_PATH (указывает на путь к скриптам стратегий, в соответствии с требованиями tq.initialize).

  4. Рекомендуется использовать uv для управления зависимостями и запуска команд.


Установка

uv sync

Для режима HTTP/SSE требуются зависимости ASGI:

uv sync --extra http

Разработка и тестирование:

uv sync --extra dev

Зеркало онлайн-справки TdxQuant (парсинг страниц help.tdx.com.cn/quant/docs/, генерация локального Markdown, опционально):

uv sync --extra sync-docs
python scripts/sync_tdx_help_docs.py

Выходной каталог по умолчанию — docs/mirror-tdx-quant-help/ (содержит pages/, _manifest.json, README.md). Подробности см. в описании внутри этого каталога; авторские права на текст принадлежат TongDaXin, пожалуйста, сверяйтесь с онлайн-версией.


Переменные окружения

Скопируйте .env.example в .env и внесите изменения:

Переменная

Обязательно

Описание

TQ_PATH

Да

Путь подключения к стратегии TongDaXin (путь к скриптам стратегий, совпадает с инициализацией tqcenter)

TQ_DLL_PATH

Нет

Путь к DLL, в большинстве сред можно оставить пустым

MCP_HOST

Нет

Адрес прослушивания HTTP/SSE, по умолчанию 127.0.0.1

MCP_PORT

Нет

Порт прослушивания HTTP/SSE, по умолчанию 8765

При запуске процесса MCP загружается get_settings(), отсутствие TQ_PATH приведет к ошибке.


Настройка MCP в Cursor (stdio)

В проекте предоставлен пример .cursor/mcp.json (uv + envFile). После открытия корня репозитория в Cursor, включите tdxquant в разделе Настройки → MCP.

Более полные инструкции (включая Claude Desktop, встроенный env, HTTP/SSE, устранение неполадок) см. в docs/mcp-configuration.md.


Способы запуска

stdio (рекомендуется: Cursor, Claude Desktop и т.д.)

uv run python -m tdx_mcp.main_stdio

HTTP / SSE (отдельный процесс для клиентов, поддерживающих удаленный MCP)

uv run python -m tdx_mcp.main_http

Адрес и порт прослушивания определяются переменными MCP_HOST / MCP_PORT (см. .env).


Имена инструментов и примеры вызовов

Приведенные ниже имена полностью соответствуют @mcp.tool(name="...") в коде. В разных клиентах поля JSON могут называться tool / name / toolName, сверяйтесь с документацией используемого вами клиента.

Получение каталога инструментов

{
  "tool": "tools_catalog",
  "arguments": {}
}

Котировки: последние 60 дневных линий

{
  "tool": "market_get_kline",
  "arguments": {
    "stock_list": ["600519.SH"],
    "period": "1d",
    "count": 60,
    "dividend_type": "none"
  }
}

Информация об акциях: расширенная информация

{
  "tool": "stock_get_more_info",
  "arguments": {
    "stock_code": "600519.SH"
  }
}

Сектора: компоненты

{
  "tool": "sector_stocks",
  "arguments": {
    "block_code": "BK0475",
    "block_type": 0,
    "list_type": 0
  }
}

Финансы: по отчетному периоду

{
  "tool": "financial_get_report_by_date",
  "arguments": {
    "stock_list": ["600519.SH"],
    "year": 2024,
    "mmdd": 1231
  }
}

Торговля: предварительный просмотр ордера (dry-run, по умолчанию)

Для реального размещения ордера необходимо установить dry_run в false и принять на себя риски; account_id обычно получается через trade_get_account_id.

{
  "tool": "trade_order_stock",
  "arguments": {
    "account_id": 1001,
    "stock_code": "600519.SH",
    "order_type": 0,
    "order_volume": 100,
    "price_type": 0,
    "price": 1500.0,
    "dry_run": true
  }
}

Инструменты: выполнение формул TongDaXin

Основная точка входа — utility_formula_run; также есть псевдоним formula_run, поведение идентично.

{
  "tool": "utility_formula_run",
  "arguments": {
    "formula_name": "KDJ",
    "formula_arg": "9,3,3",
    "mode": "zb"
  }
}

Тестирование

Модульное тестирование (без подключения к клиенту)

uv run pytest tests/ -q

Если переменные окружения для интеграционного тестирования не заданы, интеграционные тесты будут пропущены, выполняются только модульные тесты параметров, каталогов и т.д.

Интеграционное тестирование (требуется вход в TongDaXin)

CMD:

set TDX_INTEGRATION=1
set TDX_STRICT_DATA=1
uv run pytest tests/test_tools_integration_tdxdata.py -m integration

PowerShell:

$env:TDX_INTEGRATION = "1"
$env:TDX_STRICT_DATA = "1"
uv run pytest tests/test_tools_integration_tdxdata.py -m integration
  • TDX_STRICT_DATA: опционально, ошибка при пустых данных (по умолчанию разрешен пустой dict для облегчения отладки подключения).

  • TDX_TRADE_ACCOUNT: опционально, строка счета для интеграционного тестирования торговых функций.

Пример скрипта (не MCP)

tdxdata_test.py демонстрирует прямой вызов tqcenter.tq, используется для сравнения поведения интерфейса; независим от процесса MCP.


Устранение неполадок

Симптом

Рекомендация

Ошибка при запуске: отсутствует TQ_PATH

Проверьте .env или передаются ли переменные из среды выполнения в дочерний процесс MCP

Cursor не может запустить MCP

См. docs/mcp-configuration.md по устранению неполадок; проверьте логи MCP или используйте абсолютный путь к Python в виртуальной среде

HTTP не подключается

Убедитесь, что main_http запущен и брандмауэр разрешает MCP_HOST:MCP_PORT

Данные пусты

Убедитесь, что клиент вошел в систему и данные после закрытия торгов загружены; можно временно отключить TDX_STRICT_DATA для сравнения


Лицензия и вышестоящие ресурсы

Поведение и форматы данных соответствуют TdxQuant / TongDaXin и tqcenter.py; данный репозиторий является лишь оболочкой MCP и систематизацией документации.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    基于通达信行情服务器的 MCP Server,为 AI 助手提供实时 A 股、期货、港股等行情数据及技术指标。
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides read-only access to Chinese A-share stock market data such as quotes, K-lines, financials, capital flows, news, and research reports via a stdio MCP server for DeepSeek Harness and other MCP clients.
    2
    GPL 3.0