Skip to main content
Glama
ApocData

ApocData MCP Server

Official
by ApocData

@apocdata/mcp-server

MCP-сервер (Model Context Protocol) проекта 天启至数 ApocData. Он упаковывает 46 интерфейсов данных A-акций без аутентификации в MCP-инструменты, которые можно напрямую вызывать в любом MCP-клиенте: Claude Desktop / Cursor / Cline / Continue и других.

  • Источник данных: https://data.tianqis.com/api/blade-dataplatform/open/data/*

  • API Key и регистрация не требуются (шлюз настроен на /open/** без аутентификации)

  • Автоматически пробрасываются мета-заголовки X-Tdc-* (остаток лимита / флаг усечения / код ошибки / политика кэширования)

  • 46 инструментов охватывают: котировки, оценку, финансы, акционеров, потоки средств, лимиты роста/падения, секторы, объявления, макроэкономику, факторы, комплексный профиль


Установка

Способ A: npx (рекомендуется, без установки)

В конфигурации клиента просто укажите npx -y @apocdata/mcp-server — ручная установка не нужна.

Способ B: Глобальная установка

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

Related MCP server: sfc-data-mcp

Примеры конфигурации клиента

Claude Desktop

Отредактируйте ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) или %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 / другие stdio-клиенты MCP

Аналогично: передайте command=npx, args=["-y","@apocdata/mcp-server"].

Флаги CLI

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

Сигналы

  • SIGTERM / SIGINT: корректное завершение. Дождаться завершения выполняющихся запросов (максимум 5 секунд), затем закрыть transport и выйти.

Режим отладки

Переменная окружения APOCDATA_DEBUG=1 выводит path/status/meta каждого HTTP-вызова в stderr:

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

Настраиваемый BASE URL

Переменная окружения APOCDATA_BASE_URL может указывать на внутреннюю сеть / частное развертывание:

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

Тайм-аут и повторы

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

По умолчанию

Описание

APOCDATA_TIMEOUT_MS

30000

Тайм-аут одного запроса (мс), по истечении — прерывание через AbortController

APOCDATA_MAX_RETRIES

2

Число повторов при 5xx или сетевых ошибках (без учёта первой), экспоненциальная задержка 500→1000→2000 мс

4xx не повторяются (повторять бизнес-ошибки бессмысленно). После исчерпания повторов возвращается последний 5xx-ответ или выбрасывается NetworkError (сетевая ошибка).


Список инструментов (46)

Категория

Инструменты

A. Котировки и оценка (10)

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

B. Финансы и акционеры (8)

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

C. Потоки средств (8)

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

D. Лимиты роста/падения и секторы (4)

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

E. Объявления/исследования (2)

announcements survey

F. Состав секторов (4)

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

G. Конвертируемые облигации (2)

convertible-bonds cb-price-chg

H. Факторы (2)

factors tech-factor

I. Макроэкономика (3)

macro macro-latest macro-definition

J. Календарь (1)

calendar

K. Комплексные (2)

profile-full factor-categories

Входные/выходные параметры и значения по умолчанию каждого инструмента описываются на уровне протокола MCP через JSON Schema, и клиент отображает их автоматически.

MCP-ресурсы

Помимо инструментов предоставляются 3 markdown-документа; агент получает их через resources/list и resources/read:

URI

Содержимое

apocdata://guide

Глобальное руководство по подключению: 46 групп инструментов, формат symbol, задержки/лимиты/протокол ошибок, описание мета-заголовков

apocdata://scenarios

Справочник сценариев: отображение типичных намерений пользователя в комбинации инструментов + антипаттерны (чтобы избежать последовательного вызова 8 интерфейсов)

apocdata://limits

Справочник limit/fields/compact: значения по умолчанию / верхние пределы / поддержка сокращения полей для каждого инструмента


Пример использования (просто спросите в 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"))

Производительность и лимиты

  • Лимит на один IP: 60 req/min (оставшаяся квота пробрасывается в заголовке ответа X-Tdc-RateLimit-Remaining)

  • Политика кэширования: внутридневные данные — 5 с, дневные обновления после закрытия — 5 мин, метаданные — 1 ч (заголовок Cache-Control добавляется автоматически)

  • Верхний предел параметра limit — 50, при превышении — тихое усечение (см. заголовок ответа X-Tdc-Truncated)

  • Для больших объёмов данных рекомендуется колоночный вывод format=compact — экономия 60–70% токенов

  • У интерфейсов с большим числом полей (например, financial, announcements) поддерживается сокращение через fields=...

Подробное поведение описано в основном SKILL-документе: https://github.com/ApocData/ApocData-skill


Разработка

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

Структура исходного кода:

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

Чтобы добавить новый интерфейс: добавьте ToolDef в соответствующую группу в tools.ts и пересоберите — другой код менять не нужно.

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

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

Шесть скриптов соответствуют шести видам проверок:

Скрипт

Проверка

client-unit-test.mjs

client не повторяет 4xx, повторяет 5xx до успеха/исчерпания, нормализация тайм-аута, извлечение meta-заголовков, конструирование URL (mock fetch)

contract-test.mjs

У всех 46 эндпоинтов имена/обязательность параметров совпадают с @RequestParam на бэкенде; happy path — все 200

error-path-test.mjs

Бизнес-ошибки выражаются через HTTP 200 + success=false; маркировка PROD (развёрнуто) / LAG (код написан, ожидает релиза на проде)

coverage-test.mjs

Проброс заголовков лимита / усечения; перебор всех допустимых значений enum-инструментов (ranking / limit-list / sector-flow / hot-rank / margin / macro)

mcp-e2e-test.mjs

Корректность протокола MCP: tools/list — 46, isError правильно выставляется при HTTP 4xx и success=false, компактный режим с колоночным выводом

integration-test.mjs

Проверка реального времени backoff; реальное срабатывание timeout; CLI --version / --help; SIGTERM в простое — мгновенный выход; SIGTERM при in-flight запросе — ожидание завершения

Частное развертывание: APOCDATA_BASE_URL=http://your.host/path npm test

Известные LAG (ожидают релиза на проде)

Следующие возможности уже реализованы в коде (дорожная карта §2.1 / §5.1 / §5.3), но в текущей развёрнутой версии data.tianqis.com ещё не действуют. После повторного развёртывания бэкенда менять MCP-сервер не нужно — поведение восстановится автоматически:

  • Валидация недопустимых enum для ranking / macro / macro/latest / macro/definition / sector-flow / hot-rank / margin

  • Заголовок ответа X-Tdc-Error-Code

  • Заголовок ответа X-Tdc-RateLimit-Remaining (оставшаяся квота лимита)

  • Заголовок ответа X-Tdc-Truncated (уведомление о превышении limit; обратите внимание: само усечение через safeLimit в контроллере уже работает, просто нет уведомляющего заголовка)

  • Колоночный вывод format=compact

  • Сами эндпоинты /profile/full и /factor-categories


Лицензия

Apache-2.0

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    53
    MIT
  • F
    license
    -
    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
    -
    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.
    39
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to query real-time A-share stock data, including quotes, fund flows, sector flows, and K-line history, without needing an API key.
    5
    6
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/ApocData/ApocData-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server