Skip to main content
Glama
BukeLy

TradeTrack MCP

by BukeLy

hsbc-tradetrack-mcp

Unofficial MCP server for HSBC TradeTrack (汇丰交易追踪 / 匯豐交易追蹤): the US and Hong Kong stocks HSBC personal banking investors trade most, and what HSBC's top 5% performing traders buy, sell and hold.

All data comes from HSBC's public, no-login endpoints (the same ones behind the pre-logon TradeTrack page). No HSBC account, API key or authentication is needed.

关键词:汇丰交易追踪、汇丰热门股票、前5%表现最好投资者、买入卖出比例、美股、港股、MCP。

Status: early (0.x). The tool schema may still change between minor versions.

Quick start

Runs locally over stdio and needs uv. Requests go from your machine straight to HSBC.

claude mcp add hsbc-tradetrack -- uvx hsbc-tradetrack-mcp
{
  "mcpServers": {
    "hsbc-tradetrack": { "command": "uvx", "args": ["hsbc-tradetrack-mcp"] }
  }
}

Self-host for remote and cloud agents

Agents that need a URL rather than a local command (claude.ai, cloud-hosted agents, other machines) can run their own instance over streamable HTTP. There is no public instance.

FASTMCP_TRANSPORT=http FASTMCP_HOST=0.0.0.0 FASTMCP_PORT=8000 uvx hsbc-tradetrack-mcp

The endpoint is http://<host>:8000/mcp. Any platform that runs a command works (a VPS, Railway, Render, Fly.io); put TLS in front of it. The server has no auth of its own, so add your platform's access control if you don't want the URL to be open.

On FastMCP Cloud, fork this repo and deploy it with the entrypoint src/hsbc_tradetrack_mcp/server.py:mcp; the free plan keeps the server private to your account.

Tools

Tool

Arguments

Returns

tradetrack

market (US/HK), lists (default: all four), period (today, yesterday, last_month; last_3_months/last_6_months for top_hold)

Latest lists

tradetrack_history

market, date_from, date_to (≤ 31 days), lists, symbol

Every intraday snapshot collected since 2026-10-16

Example prompt: "Which US stocks are HSBC's top 5% traders buying today that they weren't buying yesterday?"

Related MCP server: Stock MCP

Use with Interactive Brokers

skills/tradetrack-follow is an example agent workflow that follows the top 5% traders through IBKR's official MCP connector: entries when they buy a stock two days in a row, exits on a stop or after a holding period (each run re-decides leveraged ETFs). It drafts IBKR order instructions; nothing trades until you submit them in IBKR. The strategy is untested: use a paper account.

claude mcp add --transport http ibkr https://api.ibkr.com/v1/api/mcp-public
curl -fsSL --create-dirs -o ~/.claude/skills/tradetrack-follow/SKILL.md \
  https://raw.githubusercontent.com/BukeLy/hsbc-tradetrack-mcp/main/skills/tradetrack-follow/SKILL.md

Then run /tradetrack-follow in Claude Code, optionally with overrides such as "US only, stop loss 5%".

To run it as a scheduled task, schedule it on weekdays, naming the time zone, before the open to review against pre-market quotes (08:30 America/New_York for US), optionally adding an "exits only" run after the first intraday refresh (12:00), with a prompt such as "unattended, live account, US only": it then drafts instructions without asking, skips a market that is closed, and skips stocks that already have a draft or working order. In ChatGPT, add this server (see Self-host) and the Interactive Brokers plugin, then give SKILL.md to Plugin Creator to bundle the three.

Lists

List

What it shows

US refresh (ET)

HK refresh (HKT)

Hot (all investors)

Top 10 most actively traded stocks, buy % vs sell %

09:35, then every 30 min 10:00–16:00

09:35, then every 30 min 10:00–16:30

Top buy (top 5%)

Top 10 stocks bought; split into new vs added positions

11:30, 13:00, 16:00

12:30, 15:30, 16:10

Top sell (top 5%)

Top 10 stocks sold; split into partial vs full exits

same

same

Top hold (top 5%)

Top 10 holdings with 1d / 1m / 3m / 6m ranks

same

same

"Top 5%" means active HSBC stock traders whose portfolios returned the top 5% over the past 6 months.

Historical data

HSBC only serves today, yesterday and last month. A scheduled workflow appends every new snapshot to the data branch, one file per market per trading day:

https://raw.githubusercontent.com/BukeLy/hsbc-tradetrack-mcp/data/<US|HK>/<YYYY-MM-DD>.jsonl

Each line is {"list", "dateType", "fetched_at", "raw"}, where raw is HSBC's unmodified response.

Disclaimer

Not affiliated with, endorsed by, or connected to HSBC. "HSBC" and "TradeTrack" are trademarks of their owner. The data belongs to HSBC and may be delayed, incomplete or wrong. Nothing here is investment advice.

License

MIT

Available Tools

2 tools
tradetrackTradetrackA
Read-onlyIdempotent

Latest HSBC TradeTrack lists for a market. lists defaults to all four.

period picks the ranking window: today, yesterday or last_month for every list; last_3_months and last_6_months for top_hold only.

NameRequiredDescriptionDefault
listsNo
marketYes
periodNotoday

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered. The description goes beyond them by disclosing the `lists` default behaviour and an important cross-parameter constraint (last_3_months/last_6_months apply only to top_hold), which is not expressible in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core purpose front-loaded, followed by the two non-obvious parameter rules. No filler, every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the parameter semantics and default behaviour are well covered for a 3-param tool. The main shortfall is the absence of any routing guidance relative to tradetrack_history.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it largely does: it documents the default for `lists` and explains that `period` selects the ranking window, including which values are valid for which list. Only `market` is left unaddressed, and its US/HK enum is self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (latest HSBC TradeTrack lists), scope (per market), and implies the time dimension with 'Latest'. It is clear what the tool returns, though it never mentions the sibling tradetrack_history, so the boundary between 'latest' and 'history' is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'Latest' nudges the agent toward this tool over tradetrack_history for current data, but there is no explicit when-to-use statement, no exclusion, and the alternative is never named. Adequate but with a clear gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tradetrack_historyTradetrack HistoryA
Read-onlyIdempotent

Past intraday snapshots of the "today" lists, one per HSBC refresh, oldest first, collected since 2026-10-16.

Dates are trading days (market-local), inclusive, at most 31 days per call. Pass symbol to keep only snapshots that contain that stock (HK codes may omit leading zeros). Days without trading return nothing.

NameRequiredDescriptionDefault
listsNo
marketYes
symbolNo
date_toNo
date_fromYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, open-world, so the safety profile is covered. The description adds genuinely new traits beyond that: oldest-first ordering, the 31-day window cap, the data collection start date, and that non-trading days yield no results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler; the core scoping constraint (past snapshots, one per refresh) is front-loaded. Slightly cluttered by the parenthetical HK note but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and annotations cover the safety profile. The remaining gap is that the `lists` filter and its enum are unexplained, and the relationship to the sibling tradetrack is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the burden. It clarifies `symbol` (HK codes may omit leading zeros) and the date parameters (trading days, inclusive, 31-day max), and 'market-local' implies `market` values. But `lists` and the enum values (hot/top_buy/top_sell/top_hold) and US/HK enumeration receive no explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource ('past intraday snapshots of the "today" lists') and an explicit verb-like framing, plus a collection start date. It implicitly contrasts with the sibling tradetrack (current vs. historical), though it never names the sibling to make the routing explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives operational constraints (trading-day dates, inclusive, at most 31 days per call, empty days return nothing) that tell the agent how to call it. However, it never states when to use this tool instead of the sibling tradetrack, leaving the historical-vs-live choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv0.1.2
    • First observedtradetrack
    • First observedtradetrack_history

TDQS

A3.7/5.0

Scored across 2 tools

Disambiguation4/5

The two tools are separated on a clear axis: tradetrack returns the latest lists, while tradetrack_history returns archived snapshots over a date range. A boundary is still slightly fuzzy because both operate on the same 'today' lists and an agent could plausibly reach for either without reading the date-range parameter carefully.

Naming Consistency4/5

Both names share a consistent 'tradetrack' prefix with a single modifier suffix (_history), which reads predictably. However, neither name follows a verb_noun convention and the bare base name 'tradetrack' is less descriptive on its own than 'get_current' or 'list_tradetrack' would be.

Tool Count3/5

Two tools is thin for a server whose domain includes multiple markets, lists, and periods; much of the surface is pushed into parameters rather than tools. It is defensible given the narrow read-only scope, but it sits at the borderline of feeling under-scoped.

Completeness3/5

Coverage of the read-only retrieval lifecycle (latest plus historical) is reasonable, but notable gaps exist: no tool to enumerate available markets/symbols, and period support is asymmetric (last_3_months/last_6_months only apply to top_hold, which is not surfaced anywhere as a constraint an agent can inspect).

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to pull live China A-share market data through 24 tools spanning real-time quotes, K-lines, five-level order books, financials, money flow, dragon-tiger lists, sector and valuation data, convertible bonds, ETFs, IPOs, macro indicators, and factor-based stock screening. Five of the tools work with no API key, while the rest require a paid key.
    305 npm
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents and backend services to retrieve and analyze A-share, US equity, ETF, index, and crypto data, including technical indicators, fundamentals, money flow, filings, and news through MCP tools and HTTP APIs.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents and regular backends or scripts to access standardized financial market data and analysis across A-shares, US equities, ETFs, indices, and crypto, including technical indicators, fundamentals, money flow, news, filings, and CSV/JSON exports.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents and HTTP clients to access standardized financial market data, technical indicators, fundamentals, news, money-flow, and filings across A-shares, US equities, ETFs, indices, and crypto, with MCP tools and CSV/JSON exports for code workflows.
    -