Capability map
| Data family | REST endpoint | MCP tool | Required scope | Notes |
|---|---|---|---|---|
| Trader discovery | GET /api/v1/traders | list_traders | directory.read | Discover traders directly by name or related asset filters before calling detail stats. |
| Asset discovery | GET /api/v1/assets | list_assets | directory.read | Discover assets directly by name or symbol before calling detail stats. |
| Events | GET /api/v1/events | list_events | events.read | Historical trade-event feed with position, asset, trader, and source context. |
| Messages | GET /api/v1/messages | list_messages | messages.read | Message feed deduplicated on channel and message identity, with compatibility event narrowing when requested. |
| Valid closed positions | GET /api/v1/positions/closed/valid | list_valid_closed_positions | positions.read | Closed positions with realized returns, excluding invalid closes. |
| Open positions | GET /api/v1/positions/open | list_open_positions | positions.read | Currently open positions with current marks and unrealized returns. |
| Trader stats | GET /api/v1/traders/{traderId}/stats | get_trader_stats | stats.read | Aggregate performance and positioning metrics for one trader. |
| Asset stats | GET /api/v1/assets/{assetId}/stats | get_asset_stats | stats.read | Aggregate positioning and top-trader metrics for one asset. |
Observable behavior across reads
- Operations are scope-gated. A key may work on some endpoint families and return
403on others. - Historical list reads and stats responses echo the applied bounds back to you after server-side clamping.
- Some rows may be omitted because they are deleted, tied to ineligible connected entities, or outside the current access policy. Omitted rows do not produce placeholder warnings.
- Cursor pagination always reflects the current eligible result set, not a frozen snapshot.
Example: asset discovery
Example: messages
GET /api/v1/messages returns eligible messages even when no extracted events are linked to them. If you pass assetIds, directions, or eventTypes, those act as compatibility filters and only keep messages with at least one linked event that matches.