Skip to main content
Glama
ApocData

ApocData MCP Server

Official
by ApocData

@apocdata/mcp-server

Servidor MCP (Model Context Protocol) de 天启至数 ApocData. Envuelve 46 interfaces de datos de acciones A sin autenticación como MCP tools, que se pueden llamar directamente en cualquier cliente MCP como Claude Desktop / Cursor / Cline / Continue.

  • Fuente de datos: https://data.tianqis.com/api/blade-dataplatform/open/data/*

  • No se necesita API Key, no requiere registro (la puerta de enlace ya está configurada con /open/** sin autenticación)

  • Transmite automáticamente los metadatos de la cabecera X-Tdc-* (restante del límite de velocidad / indicador de truncamiento / código de error / política de caché)

  • 46 tools cubren: cotizaciones, valoración, finanzas, accionistas, flujo de fondos, límites de subida/bajada, sectores, anuncios, macro, factores, perfil integral


Instalación

Método A: npx (recomendado, sin instalación)

En la configuración del cliente, escribe npx -y @apocdata/mcp-server directamente, no es necesario instalar manualmente.

Método B: Instalación global

npm install -g @apocdata/mcp-server
apocdata-mcp   # 可执行命令

Related MCP server: sfc-data-mcp

Ejemplo de configuración del cliente

Claude Desktop

Edita ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "apocdata": {
      "command": "npx",
      "args": ["-y", "@apocdata/mcp-server"]
    }
  }
}

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "apocdata": {
      "command": "npx",
      "args": ["-y", "@apocdata/mcp-server"]
    }
  }
}

Cline / Continue / otros clientes MCP stdio

Igual que arriba, pasa command=npx, args=["-y","@apocdata/mcp-server"].

CLI flags

apocdata-mcp --version    # 打印版本号
apocdata-mcp --help       # 显示完整用法

Señales

  • SIGTERM / SIGINT: salida elegante. Espera a que las solicitudes en curso terminen (máximo 5 segundos), luego cierra el transport y sale.

Modo de depuración

La variable de entorno APOCDATA_DEBUG=1 imprime el path/status/meta de cada llamada HTTP a stderr:

{
  "mcpServers": {
    "apocdata": {
      "command": "npx",
      "args": ["-y", "@apocdata/mcp-server"],
      "env": { "APOCDATA_DEBUG": "1" }
    }
  }
}

URL BASE personalizada

La variable de entorno APOCDATA_BASE_URL puede apuntar a una intranet/despliegue privado:

"env": { "APOCDATA_BASE_URL": "https://intranet.example.com/api/blade-dataplatform/open/data" }

Timeout y reintentos

Variable de entorno

Predeterminado

Descripción

APOCDATA_TIMEOUT_MS

30000

Timeout de una sola solicitud (ms), al llegar el tiempo AbortController interrumpe

APOCDATA_MAX_RETRIES

2

Número de reintentos para errores 5xx o de red (sin contar el primero), backoff exponencial 500→1000→2000ms

Los 4xx no se reintentan (los errores de negocio no tienen sentido de reintentar). Cuando se agotan los reintentos, se devuelve la última respuesta 5xx, o se lanza NetworkError (excepción de red).


Lista de tools (46)

Categoría

Tools

A. Cotizaciones y valoración (10)

quote quotes daily stock stocks st ranking indexes index-daily hot-rank

B. Finanzas y accionistas (8)

financial express dividend holders holder-number share-float repurchase block-trade

C. Flujo de fondos (8)

moneyflow hsgt hk-hold hk-daily margin dragon-tiger hot-money hot-money-detail

D. Límites de subida/bajada y sectores (4)

limit-list limit-step sector-flow cyq-perf

E. Anuncios/encuestas (2)

announcements survey

F. Componentes de sectores (4)

concepts concept-stocks ths-boards ths-board-stocks

G. Bonos convertibles (2)

convertible-bonds cb-price-chg

H. Factores (2)

factors tech-factor

I. Macro (3)

macro macro-latest macro-definition

J. Calendario (1)

calendar

K. Integral (2)

profile-full factor-categories

Los parámetros de entrada/salida y valores predeterminados de cada tool se exponen mediante JSON Schema en la capa de protocolo MCP, y el cliente los muestra automáticamente.

MCP Resources

Además de las tools, también se exponen 3 documentos markdown, que el Agent puede obtener mediante resources/list y resources/read:

URI

Contenido

apocdata://guide

Guía global de integración: agrupación de las 46 tools, formato de symbol, protocolo de latencia/límite/error, explicación de las cabeceras de metadatos

apocdata://scenarios

Referencia rápida de escenarios: mapeo de intenciones comunes del usuario a combinaciones de tools + antipatrones (evitar encadenar 8 interfaces)

apocdata://limits

Tabla de referencia rápida de limit/fields/compact: valores predeterminados/límites/soporte de recorte de campos de cada tool


Ejemplo de uso (pregunta directamente en Claude)

> 帮我看下贵州茅台最近 5 天行情
(Claude 调用 daily(symbol="600519", limit=5))

> 现在涨幅榜前 10 是哪些股票?
(Claude 调用 ranking(type="gainers", limit=10))

> 整理一下平安银行的综合画像
(Claude 调用 profile-full(symbol="000001"))

> CPI 最近一次数据是多少?
(Claude 调用 macro-latest(type="cpi"))

Rendimiento y límite de velocidad

  • Límite de velocidad por IP: 60 req/min (la cabecera de respuesta X-Tdc-RateLimit-Remaining transmite la cuota restante)

  • Política de caché: datos en tiempo real durante la sesión 5s, datos diarios después del cierre 5min, metadatos 1h (la cabecera Cache-Control se proporciona automáticamente)

  • El parámetro limit tiene un máximo de 50, si se excede se trunca silenciosamente (ver la cabecera de respuesta X-Tdc-Truncated)

  • Para grandes volúmenes de datos se recomienda usar format=compact con salida en columnas, ahorrando 60-70% de tokens

  • Las interfaces con muchos campos (como financial, announcements) admiten recorte con fields=...

Consulta el documento principal de SKILL para más detalles: https://github.com/ApocData/ApocData-skill


Desarrollo

git clone https://github.com/ApocData/ApocData-skill.git
cd ApocData-skill/mcp-server
npm install
npm run build
npm start

Estructura del código fuente:

src/
  index.ts     # MCP server 入口,stdio transport
  client.ts    # HTTP client,BASE_URL 调用 + meta 头提取
  tools.ts     # 46 个工具的配置表(声明式)

Para añadir una nueva interfaz: agrega una ToolDef en el grupo correspondiente en tools.ts, y reconstruye; no es necesario modificar otro código.

Pruebas

npm test                 # build + 6 类测试全跑(需在 tianqi-mcp 目录执行)
npm run test:unit        # client 单测:超时/重试/URL 构造,不打外网
npm run test:contract    # 46 工具逐个真实 HTTP 调用(happy path)
npm run test:errors      # 错误路径:非法参数 / 不存在 symbol / 日期格式
npm run test:coverage    # 限流头/截断头/所有枚举值遍历
npm run test:e2e         # MCP 协议层:stdio JSON-RPC + isError + compact
npm run test:integration # 集成:mock HTTP + 子进程 server,验证 retries / timeout / --version / SIGTERM

Los seis scripts corresponden a seis tipos de verificación:

Script

Verificación

client-unit-test.mjs

El cliente no reintenta 4xx, reintenta 5xx hasta éxito/agotamiento, normalización de timeout, extracción de cabeceras meta, construcción de URL (mock fetch)

contract-test.mjs

Los nombres/obligatoriedad de parámetros de los 46 endpoints coinciden con @RequestParam del backend; todo el happy path devuelve 200

error-path-test.mjs

Los errores de negocio se expresan con HTTP 200 + success=false; marca PROD (desplegado) / LAG (código escrito, pendiente de lanzamiento en línea)

coverage-test.mjs

Transmisión de cabeceras de límite/truncamiento; se recorren todos los valores legales de las tools enum (ranking / limit-list / sector-flow / hot-rank / margin / macro)

mcp-e2e-test.mjs

El protocolo MCP es correcto: tools/list con 46 elementos, isError se marca correctamente en HTTP 4xx y success=false, salida en columnas en modo compact

integration-test.mjs

Verificación del tiempo real de backoff; disparo de timeout real; CLI --version / --help; SIGTERM con salida inmediata en reposo; SIGTERM in-flight espera a que termine antes de salir

Despliegue privado: APOCDATA_BASE_URL=http://your.host/path npm test

LAG conocido (pendiente de lanzamiento en línea)

Las siguientes capacidades ya están implementadas en el código fuente (hoja de ruta §2.1 / §5.1 / §5.3), pero la versión actualmente desplegada en data.tianqis.com aún no está activa. Después del redeploy del backend, no es necesario modificar el servidor MCP; el comportamiento se restaura automáticamente:

  • Validación de enum ilegal para ranking / macro / macro/latest / macro/definition / sector-flow / hot-rank / margin

  • Cabecera de respuesta X-Tdc-Error-Code

  • Cabecera de respuesta X-Tdc-RateLimit-Remaining (cuota restante del límite de velocidad)

  • Cabecera de respuesta X-Tdc-Truncated (notificación de que limit superó el máximo; nota: el truncamiento safeLimit dentro del controller ya está activo, solo falta la notificación por cabecera)

  • Salida en columnas con format=compact

  • Los dos endpoints /profile/full y /factor-categories en sí mismos


License

Apache-2.0

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides real-time stock market data and analysis from Chinese markets through 34 MCP tools, including K-line charts, technical indicators, fundamental analysis, financial metrics, and market insights without requiring authentication or API tokens.
    34
    55
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that wraps SFC financial data API into 32 tools for comprehensive A-share market data, including real-time quotes, rankings, limit-up statistics, news, themes, financials, charts, research reports, and watchlists.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides access to Chinese mainland financial data including A-stock quotes, financial statements, industry analysis, and macroeconomics through 42 MCP tools, with automatic data source fallback and no API key required.
    44
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides 11 MCP tools for querying A-share market data, financial reports, stock screening, hot topics, self-selected stocks, and LOF arbitrage using natural language, powered by East Money / Miaoxiang APIs.
    MIT