Skip to main content
Glama

search_trades

Read-onlyIdempotent

Search disclosed trades by person, ticker, branch, role (Senate/House/title), buy/sell, conflict flag, minimum dollar amount, and date window. Returns newest first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roleNoChamber for Congress (Senate / House) or title substring for executive (President / Secretary / Administrator…), case-insensitive
typeNoTransaction direction: "buy", "sell" (includes partial sales), or "exchange". Case-insensitive.
limitNoMax results per page (default 100, capped 500)
sinceNoISO date lower bound (disclosure/trade date)
untilNoISO date upper bound
branchNoEither "congress" or "executive" (case-insensitive)
offsetNoSkip the first N matching rows — pair with limit to page through large result sets
personNoMember or official name (substring, case-insensitive)
tickerNoStock ticker, e.g. NVDA (case-insensitive)
conflictNoOnly trades flagged as a potential conflict
minAmountNoMinimum upper-bound of the disclosed dollar range

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description adds only the ordering detail 'Returns newest first.' No other behavioral traits (e.g., pagination behavior, rate limits, effect of filters) are disclosed beyond what annotations provide. This is adequate given the annotations.

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 a single concise sentence that efficiently enumerates key filters and ordering. No wasted words, and it is front-loaded with the verb and resource.

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

Completeness2/5

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

Given the absence of an output schema, the description does not explain what fields are returned in the results (e.g., trade date, amount, asset type). It only states 'Returns newest first', leaving the agent to guess the response structure. For a tool with 11 parameters and no output schema, this is insufficient.

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?

All 11 parameters have descriptions in the input schema (100% coverage), so the description adds minimal new information. It merely re-lists some parameter categories without enhancing meaning. Baseline 3 is appropriate.

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 clearly states the tool searches disclosed trades with specific filters (person, ticker, branch, role, buy/sell, conflict, etc.) and returns results newest first. The verb 'search' and list of filters make the purpose clear, but it does not explicitly differentiate from sibling tools like get_person_trades or list_recent_trades.

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

Usage Guidelines2/5

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

The description lists many filters but provides no guidance on when to use this tool versus alternatives. It does not mention scenarios where one of the sibling tools (e.g., get_ticker_activity, list_conflicts) would be preferable, nor does it specify prerequisites or exclusions.

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

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct operation: aggregates provides summary stats, search_trades for general search, list_recent_trades for recent entries, get_person_trades by individual, get_ticker_activity by ticker, and list_conflicts for flagged conflicts. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: list_ for listing, get_ for retrieval, search_ for searching, and aggregates as a descriptive noun. No mixing of conventions or inconsistent verbs.

Tool Count5/5

With 6 tools, the server is well-scoped for a trades disclosure API. Each tool covers a core operation (search, list recent, by person, by ticker, conflicts, aggregates) without being excessive or sparse.

Completeness4/5

The tool set covers primary read operations and provides filtering via shared parameters. Minor gaps include no explicit 'get single trade by ID' or a tool to list available branches/roles, but the core workflow is well-supported for typical queries.

Resources