InsiderCat
Server Details
Live portfolios, trades and delay-adjusted returns for US Congress members, corporate insiders, Donald Trump and his administration.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 20 tools
Tools split cleanly into families (trades/sentiment, holdings, performance) across four distinct subjects: Congress, insiders, Trump, and Trump-adjacent portfolios. The main risk is the cluster of similarly named holding tools (get_trump_holdings vs get_trump_mentions_holdings vs get_trump_sponsors_holdings vs get_trump_admin_holdings), but descriptions distinguish each by portfolio composition.
Every tool follows a strict get_<subject>_<aspect> snake_case pattern (get_politician_trades, get_defense_performance, get_trump_sponsors_holdings). The naming is highly predictable and consistent across all 20 tools.
20 tools is on the heavier side, but they are organized into systematic holdings/performance/involvement triplets per portfolio concept rather than being redundant. Each tool covers a distinct slice of data, so most earn their place.
The surface covers the domain well: trades, aggregated sentiment, holdings, performance time series, rankings, stock-centric ownership, mentions, and sponsor involvements. Minor gaps exist, such as no per-politician profile/detail lookup and sector coverage limited to defense only, but core workflows are covered.
Available Tools
20 toolsget_congress_rankingGet Congress Portfolio RankingBRead-onlyIdempotentInspect
Rank US politicians by portfolio performance over a given period. Includes original and delay-adjusted returns.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| party | No | Filter by political party | |
| cursor | No | Pagination cursor (offset) | |
| period | No | Performance period (default 6M) | |
| min_portfolio_value | No | Minimum portfolio value in USD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive operation, so the safety profile is covered. The description adds useful return-content context by noting original and delay-adjusted returns, but it does not explain ranking order, pagination behavior, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with the core action and scope front-loaded. No sentence is wasted or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a ranking tool with five optional parameters and no output schema, the description covers the essential action and mentions the return-type distinction. It remains thin on what the ranked output contains, how pagination works, and how ranking is ordered, leaving some ambiguity for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are documented in the schema, including enums for party and period. The description adds only the high-level notion of a given period and does not meaningfully extend parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (Rank) and resource (US politicians by portfolio performance) and adds the period and return-type scope. However, it does not distinguish this ranking tool from similarly named siblings such as get_politician_portfolio_performance, so an agent must infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but gives no guidance on when to use it instead of related sibling tools like get_politician_portfolio_performance or get_politician_sentiment. There are no exclusions, prerequisites, or alternative-selection cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_defense_holdingsGet Defense Portfolio HoldingsCRead-onlyIdempotentInspect
Get defense sector company holdings held by Congress members.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| max_date | No | Maximum snapshot date (YYYY-MM-DD) | |
| min_date | No | Minimum snapshot date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds nothing further — no mention of pagination behavior (limit/cursor), snapshot-date semantics, or what roi_mode changes about results, even though that is the one behavioral knob an agent could get wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no padding. It is efficient, though the brevity borders on under-specification given the pagination and ROI-mode affordances the tool exposes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, a cursor-based pagination scheme, a date-range filter, and an ROI mode enum, a one-sentence description is thin — but no output schema exists and the schema itself fully documents every parameter. It is adequate but leaves the agent to figure out default paging and what the returned holdings represent (value, ROI, disclosure date).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (limit, cursor, max_date, min_date, roi_mode) are already documented in the schema. The description contributes no additional meaning about filtering, date semantics, or ROI mode, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and a well-scoped resource: defense sector holdings held by Congress members. The two qualifiers (sector and holder type) make the intent clear, but it does not explicitly distinguish itself from the closely related sibling get_politician_portfolio_holdings, leaving the agent to infer that this is the defense-only slice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus get_politician_portfolio_holdings, get_defense_performance, or get_defense_performance-adjacent siblings. The agent must infer selection criteria from the name alone, and no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_defense_performanceGet Defense Portfolio PerformanceARead-onlyIdempotentInspect
Get daily performance time series for the defense sector portfolio held by Congress.
| Name | Required | Description | Default |
|---|---|---|---|
| max_date | No | Maximum date (YYYY-MM-DD) | |
| min_date | No | Minimum date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds real value by disclosing the return shape (daily time series) and the portfolio scope, which matters since there is no output schema. It says nothing about defaults when dates are omitted, data granularity limits, or what 'performance' is denominated in.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that identifies verb, resource, cadence, and scope with zero filler. Nothing needs to be cut.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three optional parameters, no output schema, and rich annotations, the definition is serviceable but thin: it leaves the roi_mode semantics, the effect of omitting both dates, and the unit of 'performance' unexplained. An agent can call it, but cannot predict the result precisely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no meaning beyond the schema, and notably ignores roi_mode — the one enum parameter whose 'original' vs 'delay-adjusted' distinction is genuinely non-obvious and would benefit from explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (daily performance time series) with a precise scope: the defense sector portfolio held by Congress. This clearly separates it from get_defense_holdings (holdings, not performance) and get_trump_admin_performance / get_trump_performance (different portfolio owner), though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope statement implies when the tool applies (Congress-held defense positions), and the 'performance' vs 'holdings' split implicitly routes against get_defense_holdings. But there is no explicit when-to-use, no mention of alternatives, and no note about the zero-required-parameter default behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_insider_sentimentGet Insider SentimentBRead-onlyIdempotentInspect
Get aggregated insider trading sentiment by ticker. Shows buy/sell counts and total volumes per stock.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| max_traded_date | No | Maximum traded date (YYYY-MM-DD) | |
| min_traded_date | No | Minimum traded date (YYYY-MM-DD) | |
| max_reported_date | No | Maximum reported date (YYYY-MM-DD) | |
| min_reported_date | No | Minimum reported date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description usefully adds what the payload contains (buy/sell counts, total volumes), but says nothing about the aggregation window, pagination over 6 optional params, or whether results are grouped by ticker.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose, no filler. Efficient but leaves no room for the guidance an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With all six params fully documented in the schema and annotations carrying the safety profile, the essentials are covered. The remaining gaps — the 'by ticker' ambiguity and no routing to get_insider_trades — are the ones that actually affect correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline would be 3, but the description says results are 'by ticker' while the schema exposes no ticker parameter — an agent could reasonably look for one that doesn't exist. It adds no clarifying meaning to the four date-boundary filters or the pagination pair.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — aggregated insider trading sentiment per stock, with buy/sell counts and volumes. It implicitly distinguishes itself from the raw-trade sibling but never names it, so the differentiation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use statement and no mention of the obvious alternative, get_insider_trades. An agent must guess whether it wants raw trades or this aggregated view.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_insider_tradesGet Insider TradesBRead-onlyIdempotentInspect
Retrieve insider trades with optional filtering by ticker, trade type, value, and date ranges. Returns paginated results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| ticker | No | Filter by stock ticker symbol (e.g. AAPL) | |
| min_value | No | Minimum trade value in USD | |
| trade_type | No | Filter by trade type | |
| max_traded_date | No | Maximum traded date (YYYY-MM-DD) | |
| min_traded_date | No | Minimum traded date (YYYY-MM-DD) | |
| max_reported_date | No | Maximum reported date (YYYY-MM-DD) | |
| min_reported_date | No | Minimum reported date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is well covered. The description adds only that results are paginated — useful, but it omits default sort order, what a trade record contains, and whether all 9 filters are ANDed together, which matters for a query with this many optional parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste: the retrieval scope and filter dimensions come first, and the pagination note follows. Nothing is repeated and nothing extraneous is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, zero-required query tool with no output schema, the description covers the query surface and pagination adequately, and annotations carry the safety profile. It is still thin on what is actually returned per trade (fields, units, currency) and on how multiple filters combine, both of which the agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including cursor, limit, and the four date bounds is already documented in the schema. The description's list of filter dimensions ('ticker, trade type, value, and date ranges') only restates the schema at a higher level and adds no combination logic or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (retrieve insider trades) and enumerates the filterable dimensions (ticker, trade type, value, date ranges), so an agent knows exactly what data it returns. It does not, however, distinguish itself from the closest sibling get_insider_sentiment or from get_politician_trades, which an agent could plausibly confuse with this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what can be filtered but never states when to choose this tool over get_insider_sentiment, get_politician_trades, or get_stock_ownership, and gives no prerequisites or exclusions. Usage is only inferable from the purpose statement, matching the 'no when-to-use guidance' calibration case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_politician_portfolio_holdingsGet Politician Portfolio HoldingsBRead-onlyIdempotentInspect
Get the current portfolio holdings for a specific politician or group. Use 'all-politicians', 'democrats', or 'republicans' as the politician_bioguide_id for group portfolios.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| max_date | No | Maximum snapshot date (YYYY-MM-DD) | |
| min_date | No | Minimum snapshot date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode | |
| politician_bioguide_id | Yes | Politician's bioguide ID (e.g. P000197) or group: 'all-politicians', 'democrats', 'republicans' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds that results are 'current' holdings (a snapshot semantics), which is useful, but says nothing about pagination behavior, date filtering effects, or how roi_mode changes results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that are front-loaded with the core purpose and free of filler. Only slight redundancy with the schema's enum keeps it off a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, non-destructive query tool with full schema coverage and annotations, the essential is present. However, with no output schema, the description does nothing to characterize the returned holdings data (fields, pagination envelope), leaving an agent to infer the response shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, including the same three group values. The description merely restates the politician_bioguide_id enum and adds no meaning for limit, cursor, min_date/max_date, or roi_mode; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the current portfolio holdings') and scopes it to a politician or group. It is distinguishable from the many sibling performance/trades tools, though it never explicitly contrasts with get_politician_trades or get_politician_portfolio_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives real guidance on how to request group-level portfolios (the three magic values), which is genuinely useful. But there is no statement of when to use this over sibling tools like get_politician_trades or get_politician_portfolio_performance, so usage context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_politician_portfolio_performanceGet Politician Portfolio PerformanceBRead-onlyIdempotentInspect
Get daily portfolio performance time series for a politician or group, compared to S&P 500.
| Name | Required | Description | Default |
|---|---|---|---|
| max_date | No | Maximum date (YYYY-MM-DD) | |
| min_date | No | Minimum date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode | |
| politician_bioguide_id | Yes | Politician's bioguide ID (e.g. P000197) or group: 'all-politicians', 'democrats', 'republicans' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds the useful behavioral detail that output is a daily series benchmarked against the S&P 500, but says nothing about pagination, date-range defaults, or the empty/error case for a politician with no holdings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no waste, and the key scope and benchmark are front-loaded. It is efficient but arguably too terse for a 4-parameter tool with no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of explaining return shape; it does state the output is a daily time series with S&P 500 comparison, which is the essential piece. Still missing date-range defaults, roi_mode semantics, and whether both series are returned, which leaves gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (max_date, min_date, roi_mode, politician_bioguide_id) is already documented in the schema. The description adds no syntax, defaults, or meaning beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get daily portfolio performance time series') plus scope ('politician or group') and a benchmark ('compared to S&P 500'). It is distinguishable from siblings like get_politician_portfolio_holdings and get_trump_admin_performance, but does not explicitly name the alternative to route away from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: performance time series vs. holdings or trades. However, there is no explicit when-to-use/when-not-to-use guidance and no named alternative (e.g., use get_politician_portfolio_holdings for current positions), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_politician_sentimentGet Politician SentimentBRead-onlyIdempotentInspect
Get aggregated politician trading sentiment by ticker, broken down by party (Democrat/Republican).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| party | No | Filter by political party | |
| cursor | No | Pagination cursor (offset) | |
| max_traded_date | No | Maximum traded date (YYYY-MM-DD) | |
| min_traded_date | No | Minimum traded date (YYYY-MM-DD) | |
| max_reported_date | No | Maximum reported date (YYYY-MM-DD) | |
| min_reported_date | No | Minimum reported date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, non-destructive, so the safety profile is covered. The description adds that output is aggregated and party-split, which is genuinely useful context beyond annotations, but says nothing about pagination, result ordering, or what the sentiment value represents numerically.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with no filler. It could have used the remaining space to explain the sentiment metric or when to use it, but nothing present is wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should clarify the shape of the aggregated result (per-ticker, per-party sentiment values and their units). It only hints at the grouping, leaving the agent unsure what a response actually contains; the absent ticker parameter compounds this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all seven parameters (limit, cursor, date bounds, party enum) are already documented and the baseline is 3. The description adds no parameter guidance and actually references a 'ticker' dimension that has no corresponding parameter in the schema, which mildly undermines trust.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('aggregated politician trading sentiment'), plus the aggregation dimension (by ticker) and breakdown (party). This clearly separates it from trade-level siblings like get_politician_trades, though it does not name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to prefer this over get_politician_trades, get_politician_portfolio_holdings, or get_congress_ranking. The agent must infer that this is the summary/aggregate variant from the word 'aggregated' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_politician_tradesGet Politician TradesBRead-onlyIdempotentInspect
Retrieve US politician (Congress) trades with optional filtering by ticker, politician, party, trade type, value, and date ranges. Returns paginated results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| party | No | Filter by political party | |
| cursor | No | Pagination cursor (offset) | |
| ticker | No | Filter by stock ticker symbol | |
| min_value | No | Minimum trade size lower bound in USD | |
| trade_type | No | Filter by trade type | |
| max_traded_date | No | Maximum traded date (YYYY-MM-DD) | |
| min_traded_date | No | Minimum traded date (YYYY-MM-DD) | |
| max_reported_date | No | Maximum reported date (YYYY-MM-DD) | |
| min_reported_date | No | Minimum reported date (YYYY-MM-DD) | |
| politician_bioguide_id | No | Filter by politician's bioguide ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds only 'Returns paginated results' — useful but thin; it omits default page size (25, only in schema), sort order, and whether filters combine as AND.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler, and the core purpose is front-loaded before the filter list and return note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with no output schema, the description does not say what a trade record contains or how pagination terminates (cursor semantics live only in the schema). It is adequate to call the tool but leaves the agent guessing about return shape and result ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter is already documented with types, ranges, enums, and date formats. The description's summary of filter categories largely restates the schema and adds no semantics such as unit or combination behavior beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — retrieve US politician (Congress) trades — and enumerates the filter dimensions. It implicitly separates itself from get_insider_trades by scoping to Congress members, but never explicitly names the distinction from that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of the closely related get_insider_trades or the portfolio holdings siblings. The phrase 'optional filtering' only implies usage rather than stating a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stock_ownershipGet Stock Ownership by PoliticiansARead-onlyIdempotentInspect
Get which politicians currently hold a given stock, with position size and return data.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| ticker | Yes | Stock ticker symbol (e.g. NVDA) | |
| sort_by | No | Field to sort by (default: position_size) | |
| sort_dir | No | Sort direction (default: desc) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description adds genuine value beyond that by specifying 'currently hold' (a live snapshot, not historical trades) and by naming the returned fields, which matters since there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the resource, the scoping condition ('currently hold'), and the payload. No filler, no redundancy with structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter read tool with full schema coverage and no output schema, the description covers the essential shape of the response. What is missing is routing context against the many sibling holdings tools, which would be the highest-value addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with defaults, ranges and enums fully documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema — it does not explain sort semantics, pagination via cursor, or the 50-result cap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: which politicians currently hold a given stock, plus the data returned (position size, return). This clearly distinguishes the stock-centric view from sibling politician-centric tools like get_politician_portfolio_holdings, though it never names that inverse explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — an agent can infer this is the lookup to use when starting from a ticker rather than a politician. There is no explicit when-to-use/when-not guidance and no sibling is named as an alternative, despite a dense field of overlapping holdings/performance tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_admin_holdingsGet Trump Administration Portfolio HoldingsCRead-onlyIdempotentInspect
Get portfolio holdings for the Trump administration officials.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| max_date | No | Maximum snapshot date (YYYY-MM-DD) | |
| min_date | No | Minimum snapshot date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds no behavioral context beyond the basic purpose, such as what the holdings data represents or how pagination behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted words. The purpose is stated immediately, and there is no redundant or distracting information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five optional parameters, pagination, date filters, and ROI mode, and it sits among many similar sibling tools. The description does not clarify what the holdings dataset contains, how it differs from sibling holdings tools, or what the return values look like, and there is no output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are documented in the schema, including pagination, date bounds, and ROI mode. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: get portfolio holdings for Trump administration officials. It is clear what the tool retrieves, but it does not explicitly distinguish itself from sibling holdings tools such as get_trump_holdings or get_politician_portfolio_holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no conditions for selection, and no mention of prerequisites or exclusions. The agent must infer usage from the name and siblings alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_admin_performanceGet Trump Administration Portfolio PerformanceBRead-onlyIdempotentInspect
Get daily performance time series for the Trump administration officials' portfolio.
| Name | Required | Description | Default |
|---|---|---|---|
| max_date | No | Maximum date (YYYY-MM-DD) | |
| min_date | No | Minimum date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered elsewhere. The description contributes the one extra behavioral fact that the series is daily-granular, but is silent on default date window, result size/pagination, and the semantics behind the ROI modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every element (verb, granularity, entity, output shape) carries information. It is arguably terse to the point of omitting necessary context, but on this dimension it is efficient rather than bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter read tool with full annotation coverage and no output schema, the description is adequate but not sufficient: it never states the default date range when min_date/max_date are omitted, nor explains the delay-adjusted ROI concept, which is the one piece of domain knowledge an agent cannot derive from structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so max_date, min_date, and roi_mode are already documented in the schema, establishing the baseline of 3. The description adds 'daily' granularity but says nothing about defaults when dates are omitted or what the 'original' vs 'delay-adjusted' ROI modes actually mean, which is the least obvious parameter choice here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (daily performance time series) scoped to 'Trump administration officials' portfolio', which meaningfully separates it from get_trump_performance (Trump himself) and get_politician_portfolio_performance (generic politicians) in a very crowded sibling namespace. It does not name the siblings it is distinguished from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the entity scoping; there is no explicit statement of when to choose this over get_trump_admin_holdings, get_trump_performance, or get_politician_portfolio_performance. With four near-identically named performance siblings, the absence of routing guidance leaves real inference work to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_holdingsGet Trump Portfolio HoldingsBRead-onlyIdempotentInspect
Get Donald Trump's portfolio holdings snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| max_date | No | Maximum snapshot date (YYYY-MM-DD) | |
| min_date | No | Minimum snapshot date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a safe, read-only, idempotent, non-destructive, closed-world operation. The description adds the useful nuance that the result is a 'snapshot,' but it does not describe pagination behavior, date filtering, or what the snapshot includes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is concise and easy to parse, even if more detail would help elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five optional parameters, no output schema, and many closely related siblings, so the description needs to do more to differentiate scope and usage. It adequately states the basic resource but leaves clear gaps around sibling selection and behavioral expectations beyond what annotations and the schema provide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema, including limits, cursor, date bounds, and ROI mode. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: getting Donald Trump's portfolio holdings snapshot. It distinguishes the tool from generic politician or Trump admin/sponsor/mentions holdings tools by scope, though it does not explicitly name the sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus related siblings such as get_trump_admin_holdings, get_trump_performance, or get_politician_portfolio_holdings. The implied use is to retrieve holdings, but there are no conditions, exclusions, or alternatives provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_mentionsGet Trump Stock MentionsBRead-onlyIdempotentInspect
Retrieve stock tickers mentioned by Donald Trump, with sentiment and ROI since the mention. Returns paginated results.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| search | No | Case-insensitive search over the mention's ticker | |
| sort_by | No | Field to sort by (default: mention_date) | |
| sort_dir | No | Sort direction (default: desc) | |
| sentiment | No | Filter by mention sentiment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, covering the safety profile. The description adds genuinely new context — that results are paginated and include sentiment plus ROI since the mention — but says nothing about result volume, freshness, or how ROI is computed. Adequate but thin on top of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the core capability stated first and the pagination caveat second. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six optional filter/sort params and no output schema, the description covers the returned fields and pagination adequately, but omits what the agent most needs: how this differs from the two sibling trump_mentions tools and what the mention record actually contains beyond sentiment and ROI.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with defaults and enums documented per parameter, so the schema carries the semantics. The description only echoes that sentiment and ROI are present; it adds no meaning about how search, sort_by, or cursor interact with the returned data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource — retrieves stock tickers mentioned by Donald Trump — plus the enrichment fields (sentiment, ROI since mention). It stops short of distinguishing itself from the closely-named siblings get_trump_mentions_holdings and get_trump_mentions_performance, which is the main ambiguity an agent faces here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus alternatives, and the sibling list contains three near-identical 'trump_mentions' tools. Nothing tells the agent whether this is the raw mention feed while the others aggregate holdings/performance — the agent must infer that from the titles alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_mentions_holdingsGet Trump Mentions Portfolio HoldingsBRead-onlyIdempotentInspect
Get the latest live holdings for a portfolio tracking stocks mentioned by Donald Trump.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| sort_by | No | Field to sort by (default: total_value) | |
| sort_dir | No | Sort direction (default: desc) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, and closed-world behavior. The description adds useful context with 'latest live' freshness and portfolio scope, but it does not mention pagination behavior, rate limits, or the shape of returned holdings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Although 'latest live' is slightly redundant, every phrase contributes to identifying the dataset.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description identifies the dataset clearly enough for a simple read-only list tool, and annotations plus schema cover safety and parameters. However, it does not explain how this differs from close siblings or what a holding record contains, which matters given the dense sibling set and absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so limit, cursor, sort_by, and sort_dir are already fully documented in the input schema. The description adds no additional parameter meaning, defaults, or sorting guidance beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: getting holdings for a portfolio tracking stocks mentioned by Donald Trump. It distinguishes itself from performance-oriented siblings by returning holdings, but it does not explicitly differentiate itself from get_trump_holdings or get_trump_admin_holdings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool instead of get_trump_holdings, get_trump_mentions, or get_trump_mentions_performance. Usage is only implied by the resource description, with no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_mentions_performanceGet Trump Mentions Portfolio PerformanceARead-onlyIdempotentInspect
Get daily performance time series for a portfolio tracking stocks mentioned by Donald Trump, compared to the S&P 500.
| Name | Required | Description | Default |
|---|---|---|---|
| max_date | No | Maximum date (YYYY-MM-DD) | |
| min_date | No | Minimum date (YYYY-MM-DD) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered; the description usefully adds that results are daily and benchmarked against the S&P 500. It does not say what happens when min_date/max_date are omitted (both are optional), which is the main behavioral unknown for a time-series tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the core purpose, granularity, and benchmark all front-loaded; no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does convey the shape of the return (daily time series compared to the S&P 500), which is the key completeness need. The remaining gap is default date-range behavior for the two optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are self-explanatory date strings, so the baseline is 3. The description adds nothing about date range semantics, defaults, or maximum span beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get daily performance time series for a portfolio tracking stocks mentioned by Donald Trump') and adds the benchmark comparison to the S&P 500, which cleanly separates it from siblings like get_trump_mentions (mentions only) and get_trump_mentions_holdings (holdings only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'daily performance time series' — retrieve time-series performance rather than holdings or mention counts — but there is no explicit when-to-use/when-not guidance and no naming of the sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_performanceGet Trump Portfolio PerformanceARead-onlyIdempotentInspect
Get Donald Trump's portfolio daily performance time series, compared to S&P 500 and Nancy Pelosi.
| Name | Required | Description | Default |
|---|---|---|---|
| max_date | No | Maximum date (YYYY-MM-DD) | |
| min_date | No | Minimum date (YYYY-MM-DD) | |
| roi_mode | No | ROI calculation mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description adds real context by revealing the payload is a comparison time series against S&P 500 and Pelosi, but it says nothing about granularity, defaults, or how roi_mode changes results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the resource and the two benchmarks arrive immediately. It is efficient but leaves obvious room for a follow-on usage sentence that would earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the key work of characterizing the return payload as a daily time series with benchmark comparisons. Remaining gaps (default date range, granularity, meaning of roi_mode) are modest for a zero-required-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter (max_date, min_date, roi_mode enum) is already documented. The description adds nothing about date-range behavior or what 'delay-adjusted' ROI actually means, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Get) and resource (Donald Trump's portfolio daily performance time series), plus the comparison baselines (S&P 500, Pelosi). It distinguishes itself from generic siblings like get_politician_portfolio_performance by naming the subject, though it never contrasts with close siblings such as get_trump_admin_performance or get_trump_mentions_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the tool name and resource subject; there is no explicit statement of when to pick this over get_trump_admin_performance, get_trump_holdings, or get_politician_portfolio_performance. No exclusions, prerequisites, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_sponsors_holdingsGet Trump's Sponsors Portfolio HoldingsARead-onlyIdempotentInspect
Get the latest live holdings for a portfolio of public companies tied to Trump Accounts and the White House Ballroom fundraising drive. Use the portfolio param to pick the slice: 'all', 'trump-accounts', or 'ballroom'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| search | No | Case-insensitive search over ticker and company name | |
| sort_by | No | Field to sort by (default: position_size) | |
| sort_dir | No | Sort direction (default: desc) | |
| portfolio | No | Which sponsor portfolio to return (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds that data is 'latest live' (freshness expectation), which is genuinely useful, but it says nothing about pagination behavior despite limit/cursor params, nor about result volume or defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, zero redundancy, with the core capability stated first and the parameter selection rule immediately after. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an all-optional, annotated, read-only list tool with no output schema, the description covers what is returned at a high level ('latest live holdings'). It does not explain what a holding record contains (position size, weight, returns — only inferable from the sort_by enum), which is the one gap an agent might trip on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's only parameter content is enumerating the 'portfolio' values, which the schema already lists; it does add a hint of what the slices mean topically (Trump Accounts, Ballroom), but gives no guidance on limit, cursor, search, or sort defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get the latest live holdings') and narrows scope to companies tied to Trump Accounts and the White House Ballroom fundraising drive, which distinguishes it from the numerous sibling holdings tools (get_trump_holdings, get_trump_admin_holdings, get_trump_mentions_holdings). It does not explicitly name a sibling or contrast itself against them, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence tells the agent how to pick a slice of this tool's own data via 'portfolio', but there is no guidance on when to choose this tool over get_trump_holdings, get_trump_admin_holdings, or get_trump_mentions_holdings. Usage is implied by the sponsor/ballroom framing rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_sponsors_involvementsGet Trump's Sponsors InvolvementsARead-onlyIdempotentInspect
Retrieve the disclosure log of public companies backing Trump Accounts and the White House Ballroom: what each company committed, when, the source, and how its stock has performed since. Use the portfolio param to pick the slice: 'all', 'trump-accounts', or 'ballroom'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of results per page (1–50, default 25) | |
| cursor | No | Pagination cursor (offset) | |
| search | No | Case-insensitive search over ticker and company name | |
| sort_by | No | Field to sort by (default: involvement_date) | |
| sort_dir | No | Sort direction (default: desc) | |
| portfolio | No | Which sponsor portfolio to return (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a read-only, idempotent, non-destructive operation, so the description does not need to restate safety traits. The description adds useful behavioral context by describing the returned disclosure log contents: what each company committed, when, the source, and subsequent stock performance. It still does not mention pagination behavior, but the schema covers limit and cursor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core purpose before explaining the portfolio slice. The second sentence is somewhat redundant because the portfolio enum and values are already fully described in the schema, but the overall text remains efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only data-retrieval tool with a fully described six-parameter schema and no output schema, the description is largely complete: it explains what the disclosure log contains and how to select a portfolio slice. The main missing context is how this tool relates to the adjacent sponsors holdings and performance tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters, including the portfolio enum. The description highlights the portfolio parameter and repeats its allowed values, but it does not add semantics beyond the schema for search, sorting, pagination, or date/price fields. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: retrieving a disclosure log of public companies backing Trump Accounts and the White House Ballroom, including commitments, dates, source, and stock performance. It is distinguishable in substance, but it does not explicitly differentiate itself from sibling tools such as get_trump_sponsors_holdings and get_trump_sponsors_performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to use the portfolio parameter to select 'all', 'trump-accounts', or 'ballroom', but it gives no guidance on when to use this tool versus the related sponsors holdings and performance siblings. The intended use case is implied by 'disclosure log' and 'what each company committed', but there are no explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trump_sponsors_performanceGet Trump's Sponsors Portfolio PerformanceARead-onlyIdempotentInspect
Get the daily performance time series for a portfolio of public companies tied to Trump Accounts and the White House Ballroom fundraising drive, compared to the S&P 500. Use the portfolio param to pick the slice: 'all', 'trump-accounts', or 'ballroom'.
| Name | Required | Description | Default |
|---|---|---|---|
| max_date | No | Maximum date (YYYY-MM-DD) | |
| min_date | No | Minimum date (YYYY-MM-DD) | |
| portfolio | No | Which sponsor portfolio to return (default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, so safety is covered. The description adds value annotations don't: the output is a daily time series benchmarked against the S&P 500, which tells the agent what it will get back. It doesn't mention date-range defaults or whether missing dates are interpolated, but it is well ahead of the annotation-only baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the core purpose front-loaded and the parameter hint second. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's note that results are a daily time series compared to the S&P 500 is doing real work. It is slightly short on what the default date window is and how the benchmark comparison is represented, but an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and already documents max_date, min_date, and the portfolio enum with its default, so the description largely restates structured data. It confirms the enum intent ('pick the slice') but adds no date format or range semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get the daily performance time series for a portfolio of public companies tied to Trump Accounts and the White House Ballroom fundraising drive.' This clearly separates it from siblings like get_trump_sponsors_holdings (holdings, not performance) and get_trump_admin_performance (different portfolio).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says how to slice results via the portfolio param, which implies the 'all' vs subset choice, but never states when to reach for this tool over get_trump_performance, get_trump_admin_performance, or get_trump_sponsors_holdings. Usage is inferable rather than explicit.
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.
20 tool updates
- First observed
get_congress_ranking - First observed
get_defense_holdings - First observed
get_defense_performance - First observed
get_insider_sentiment - First observed
get_insider_trades - First observed
get_politician_portfolio_holdings - First observed
get_politician_portfolio_performance - First observed
get_politician_sentiment - First observed
get_politician_trades - First observed
get_stock_ownership - First observed
get_trump_admin_holdings - First observed
get_trump_admin_performance - First observed
get_trump_holdings - First observed
get_trump_mentions - First observed
get_trump_mentions_holdings - First observed
get_trump_mentions_performance - First observed
get_trump_performance - First observed
get_trump_sponsors_holdings - First observed
get_trump_sponsors_involvements - First observed
get_trump_sponsors_performance
Publisher details
- Operator
- InsiderCat · Publisher source
- Operator website
- https://insidercat.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://insidercat.com/api-mcp/docs · Publisher source
- Trust center
- Not applicable
- Restrictions
- An active InsiderCat API & MCP subscription is required to access data. Users must authenticate via OAuth 2.1 (Google sign-in) or an API key. No custom OAuth app or administrator approval is required for individual users. Team/Enterprise clients may require administrator approval. Rate limit: 120 requests per minute. · Publisher source
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs113 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.164 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.