TdxQuant MCP Server
Servicio MCP TdxQuant
Encapsulación MCP (Model Context Protocol) basada en el tqcenter.py local (interfaz de estrategia de TdxQuant / 通达信). Los clientes de IA (como Cursor) pueden invocar herramientas a través de stdio o HTTP/SSE para obtener datos de mercado, financieros, de sectores, fórmulas, etc.
Nombre del paquete Python: tdxquant-mcp (ver pyproject.toml).
Acceso MCP: docs/mcp-configuration.md
Uso del Agente (orden de llamada, correspondencia de intenciones, seguridad en el trading): docs/agent-usage.md
Introducción a la plataforma TdxQuant (ayuda oficial organizada + explicación de herramientas MCP): docs/tdxquant-intro.md
Paquete de habilidades del Agente (Claude Code / OpenClaw / Hermes + configuración SSE): docs/agent-skills.md · skills/tdxquant-mcp/
Paquete de habilidades del Agente
Orientado a Claude Code, OpenClaw, Hermes Agent, etc.: se puede copiar el directorio skills/tdxquant-mcp/ (contiene SKILL.md / skill.md y fragmentos de configuración SSE en references/, además de flujos de trabajo simplificados). Junto con el tdx_mcp.main_http ya iniciado, el cliente se conecta a http://<MCP_HOST>:<MCP_PORT>/sse. Consulte la instalación y las rutas del host en docs/agent-skills.md.
Resumen de funciones
Las herramientas se dividen en 9 categorías (coherentes con tools_catalog / tool_metadata):
Categoría | Descripción |
Gestión de conexión | Inicializar / Cerrar sesión de TdxQuant |
Datos de mercado | Velas K, Tick, instantáneas, suscripción |
Información bursátil | Datos básicos, información extendida, capital social, seguimiento de índices ETF |
Datos de sectores | Lista de sectores, acciones constituyentes, sectores personalizados, sectores a los que pertenece |
Datos financieros | Intervalos de informes, fechas de informes, derivados de acciones individuales/sectores/mercado |
Bonos convertibles/Nuevas acciones | Información de bonos convertibles, suscripción de nuevas acciones |
Calendario bursátil | Lista de días de negociación |
Interfaz de trading | Cuenta, activos, órdenes, posiciones, realizar/cancelar órdenes (dry-run por defecto) |
Herramientas/Caché | Ejecución de fórmulas, actualización de caché, sectores personalizados, |
Sugerencia: Primero llame a la herramienta tools_catalog (sin parámetros), que devuelve la lista de categorías y herramientas, y luego llame a la herramienta específica según sea necesario.
Formato de código de valores: Para Shanghái/Shenzhen, generalmente es 600519.SH, 000001.SZ (sufijo de mercado en mayúsculas).
Estructura del repositorio (relacionada con este proyecto)
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 示例(可选)Requisitos previos para la ejecución
El terminal TdxQuant / 通达信 (incluyendo capacidades de estrategia) puede ejecutarse normalmente en la máquina local y la ruta de la estrategia se ha configurado según las instrucciones oficiales.
El archivo
tqcenter.pyen el directorio del proyecto debe poder importarse (coincide con la ruta deTPythClient.dll, etc., ver documentación de TdxQuant).Se ha configurado
TQ_PATH(apunta a la ruta del script de estrategia, coherente con los requisitos detq.initialize).Se recomienda utilizar uv para gestionar dependencias y comandos de ejecución.
Instalación
uv syncEl modo HTTP/SSE requiere dependencias ASGI:
uv sync --extra httpDesarrollo y pruebas:
uv sync --extra devEspejo de ayuda en línea de TdxQuant (rastreo de páginas bajo help.tdx.com.cn/quant/docs/, generación de Markdown local, opcional):
uv sync --extra sync-docs
python scripts/sync_tdx_help_docs.pyEl directorio de salida es por defecto docs/mirror-tdx-quant-help/ (contiene pages/, _manifest.json, README.md). Consulte las instrucciones dentro de ese directorio; los derechos de autor del texto pertenecen a TdxQuant, por favor tome la versión en línea como referencia.
Variables de entorno
Copie .env.example a .env y modifique:
Variable | Obligatorio | Descripción |
| Sí | Ruta de conexión de estrategia de TdxQuant (ruta donde se encuentra el script de estrategia, coherente con la inicialización de |
| No | Ruta de DLL, en la mayoría de los entornos se puede dejar vacía |
| No | Dirección de escucha HTTP/SSE, por defecto |
| No | Puerto de escucha HTTP/SSE, por defecto |
Al iniciar el proceso MCP, se cargará get_settings(), la falta de TQ_PATH provocará un error directo.
Configurar MCP en Cursor (stdio)
El proyecto ya proporciona un ejemplo .cursor/mcp.json (uv + envFile). Después de abrir la raíz del repositorio en Cursor, habilite tdxquant en Configuración → MCP.
Para obtener instrucciones más completas (incluyendo Claude Desktop, env en línea, HTTP/SSE, resolución de problemas), consulte docs/mcp-configuration.md.
Métodos de inicio
stdio (Recomendado: Cursor, Claude Desktop, etc.)
uv run python -m tdx_mcp.main_stdioHTTP / SSE (Proceso independiente, para clientes que admiten MCP remoto)
uv run python -m tdx_mcp.main_httpLa dirección y el puerto de escucha están determinados por MCP_HOST / MCP_PORT (ver .env).
Nombres de herramientas y ejemplos de llamada
Los siguientes nombres son exactamente iguales a @mcp.tool(name="...") en el código. En diferentes clientes, los campos JSON pueden ser tool / name / toolName, consulte la documentación del cliente que utilice.
Obtener catálogo de herramientas
{
"tool": "tools_catalog",
"arguments": {}
}Mercado: Últimas 60 velas diarias
{
"tool": "market_get_kline",
"arguments": {
"stock_list": ["600519.SH"],
"period": "1d",
"count": 60,
"dividend_type": "none"
}
}Información bursátil: Información extendida
{
"tool": "stock_get_more_info",
"arguments": {
"stock_code": "600519.SH"
}
}Sectores: Acciones constituyentes
{
"tool": "sector_stocks",
"arguments": {
"block_code": "BK0475",
"block_type": 0,
"list_type": 0
}
}Finanzas: Por período de informe
{
"tool": "financial_get_report_by_date",
"arguments": {
"stock_list": ["600519.SH"],
"year": 2024,
"mmdd": 1231
}
}Trading: Vista previa de orden (dry-run, por defecto)
Para realizar una orden real, debe establecer dry_run en false y asumir los riesgos por su cuenta; account_id generalmente se obtiene mediante 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
}
}Herramientas: Ejecutar fórmulas de TdxQuant
La entrada principal es utility_formula_run; también existe el alias formula_run, con el mismo comportamiento.
{
"tool": "utility_formula_run",
"arguments": {
"formula_name": "KDJ",
"formula_arg": "9,3,3",
"mode": "zb"
}
}Pruebas
Pruebas unitarias (sin conexión al cliente)
uv run pytest tests/ -qCuando no se configuran las variables de entorno para la integración, los casos de integración se omitirán, ejecutando solo pruebas unitarias de parámetros, directorios, etc.
Pruebas de integración (requiere haber iniciado sesión en TdxQuant)
CMD:
set TDX_INTEGRATION=1
set TDX_STRICT_DATA=1
uv run pytest tests/test_tools_integration_tdxdata.py -m integrationPowerShell:
$env:TDX_INTEGRATION = "1"
$env:TDX_STRICT_DATA = "1"
uv run pytest tests/test_tools_integration_tdxdata.py -m integrationTDX_STRICT_DATA: Opcional, falla si los datos están vacíos (por defecto permite dict vacío para facilitar la resolución de problemas de conexión).TDX_TRADE_ACCOUNT: Opcional, cadena de cuenta para llamadas de integración de trading.
Ejemplo de script (no MCP)
tdxdata_test.py demuestra la llamada directa a tqcenter.tq, utilizada para comparar el comportamiento de la interfaz; es independiente del proceso MCP.
Solución de problemas
Fenómeno | Sugerencia |
El inicio informa falta de | Verifique si las variables en |
Cursor no puede iniciar MCP | Ver docs/mcp-configuration.md para resolución de problemas; revise los registros de MCP o utilice la ruta absoluta de Python del entorno virtual |
HTTP no puede conectarse | Confirme que |
Los datos están vacíos | Confirme que el cliente ha iniciado sesión y que los datos post-mercado se han descargado; puede desactivar |
Licencia y upstream
El comportamiento y el formato de los datos se basan en TdxQuant / 通达信 y tqcenter.py; este repositorio es solo para encapsulación MCP y organización de documentación.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lingfan/tdxquant-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server