Skip to main content
Glama

luxalgo-mcp-server

Query a Market Trackers dataset

trackers_query

Search one Market Trackers dataset by ticker, free text, exact field values, and event-date range, with paging and newest/oldest ordering. Data is read from year-sharded CC0 dumps: pass years (or since/until) to choose which years to read — default is the newest year with data. Deep-history years (see archiveYears in trackers_datasets) can be tens of MB compressed each, so read them one or two at a time; the tool refuses selections over its byte budget and says how to narrow. Every row carries provenance.sourceUrl (the SEC filing, disclosure, award, or record it came from). Examples: insider purchases at NVDA in 2024 → dataset insider-transactions, ticker NVDA, years [2024], where {code: 'P'}; a senator's trades → congress-trades, text 'Tuberville'; who lobbied on a bill → lobbying-filings, text 'H.R.1234'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNoOrder by event date (default newest)
textNoCase-insensitive substring over the dataset's name/title fields (member, insider, issuer, recipient, registrant and client, sponsor, assignee, bill title, …); see textPaths in trackers_datasets
limitNoRows to return (default 25, max 100)
sinceNoEarliest event date (YYYY-MM-DD, YYYY-MM or YYYY), inclusive
untilNoLatest event date, inclusive
whereNoExact field matches by dot path, e.g. {"side":"buy"}, {"member.state":"CA"}, {"code":"P"}, {"formType":"4"}; string comparisons are case-insensitive, arrays match when any element does
yearsNoEvent years to read (max 8); default is the newest year with data. Prefer one year at a time for deep-history datasets.
offsetNoRows to skip, for paging (default 0)
tickerNoTrading symbol, case-insensitive (e.g. 'NVDA'); matches the dataset's ticker field(s). Only datasets flagged tickerSearchable carry tickers.
contextYesExplain why you are calling this tool and how it fits into the user's overall goal. This parameter is used for analytics and user intent tracking. YOU MUST provide 15-25 words (count carefully). NEVER use first person ('I', 'we', 'you') - maintain third-person perspective. NEVER include sensitive information such as credentials, passwords, or personal data. Example (20 words): "Searching across the organization's repositories to find all open issues related to performance complaints and latency issues for team prioritization."
datasetYesDataset id, from trackers_datasets

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses year-sharded CC0 dumps, the default newest-year behavior, byte-budget refusal with narrowing advice, deep-history size caveats, and provenance.sourceUrl on every row. This is far beyond what the schema or annotations would provide.

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?

The description is dense but efficient, front-loading the core purpose in the first sentence and packing performance caveats, provenance, and three targeted examples into the remainder. Every sentence contributes to correct invocation, and the length is justified by the tool's complexity and 11 parameters.

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

Completeness5/5

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

Given the tool's complexity, full schema coverage, no annotations, and no output schema, the description is remarkably complete. It covers dataset selection, year scoping, byte limits, row provenance, and example use cases, and it points to trackers_datasets for metadata. An agent has enough context to select and call the tool correctly.

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

Parameters5/5

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

Although schema coverage is 100%, the description enriches parameter meaning by explaining the relationship between years and since/until, warning that deep-history years are large and recommending one at a time, and giving concrete examples mapping parameters to values (ticker NVDA, years [2024], where {code: 'P'}, text 'Tuberville'). This adds strategic guidance not present in the schema.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Search one Market Trackers dataset' followed by the exact filter dimensions (ticker, free text, field values, date range, paging, ordering). It differentiates from siblings by positioning this as the query tool for a single dataset, while trackers_datasets is referenced only for metadata like archiveYears and dataset ids.

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

Usage Guidelines4/5

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

The description gives clear usage context through examples (insider purchases, senator trades, lobbying on a bill) and practical guidance on when to read one or two years at a time for deep-history datasets. It does not explicitly say when to use trackers_latest or trackers_ticker instead, but the reference to trackers_datasets for metadata implies the relationship between the tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

The domain prefixes (edge_, library_, propfirms_, trackers_) cleanly separate four distinct areas, and within most clusters each tool has a specific job (search vs get vs list vs simulate). The propfirms cluster is the only strain: propfirms_simulate, propfirms_simulate_trades, propfirms_pass_rates, propfirms_compare, and propfirms_validate_strategy all overlap in the broad sense of 'running simulations,' though the descriptions do differentiate them by input type and scope.

Naming Consistency4/5

Each domain follows its own consistent pattern: library_get_*/library_list_*, propfirms_* with an action verb, edge_* and trackers_* as noun-style resources. The convention is recognizable and predictable per domain, with only minor deviations like propfirms_challenge_rules and propfirms_pass_rates being noun-first rather than verb-first.

Tool Count3/5

At 28 tools the server is heavy, but the count is justified by four large, distinct product surfaces (Library, Edge Stats, prop-firm simulation, and market trackers). Each individual cluster is reasonably scoped; the propfirms cluster alone accounts for 12 tools, which pushes the total into the 'too many' range even though the breadth is real.

Completeness5/5

Each domain feels complete: edge stats has catalog, symbol discovery, and report retrieval; the Library has search, browse, get, and source-code access; propfirms has search, get, rule encoding, simulation, trade-series simulation, comparison, optimization, and validation; trackers has dataset discovery, query, latest-publish, and cross-dataset ticker dossiers. There are no obvious dead ends or missing lifecycle steps within the read-only/analysis scope the server targets.