civiq
Server Details
U.S. civic data for AI agents: reps, votes, bills, finance, lobbying, cited gov sources. 47 tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 47 of 47 tools scored. Lowest: 3.1/5.
Each tool has a clear, specific purpose with detailed descriptions that differentiate them. Prefix patterns like get_district_, search_, analyze_, get_, etc., help an agent easily identify the correct tool for a task.
All tool names use a consistent verb_noun or verb_noun_noun pattern with underscores. The naming convention is uniform across the entire set, with no mixing of styles or ambiguous verbs.
With 47 tools, the count is high but justified by the broad scope of civic data analysis. While some agents might find the sheer number overwhelming, the tools are organized into clear categories (district profiles, searches, analyses) that make navigation feasible.
The toolset covers an impressively wide range of domains: legislation, representatives, districts, voting, committees, campaign finance, lobbying, federal spending, regulations, environment, energy, healthcare, housing, disaster, banking, consumer complaints, crime, vehicles, and more. There are no obvious missing operations for a civic data platform.
Available Tools
47 toolsanalyze_consumer_protection_influenceConsumer protection influenceARead-onlyInspect
Cross-reference top complained-about companies in a state with lobbying registrants (entity resolution fuzzy match) and campaign contributions to the district representative. Checks rep votes on Finance-related legislation. Shows correlations only — not causation.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., IL) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral details beyond annotations: entity resolution fuzzy match, cross-referencing specific data sources, and checking votes on Finance-related legislation, which helps the agent understand the tool's process.
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 concise with two sentences, front-loading the main action and efficiently covering the tool's scope and limitation without unnecessary words.
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?
Given the tool's complexity (fuzzy matching, multiple data sources, correlation-only analysis) and the absence of an output schema, the description provides sufficient context for an agent to understand the tool's functionality and limitations. It could be slightly more detailed about the output format.
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% with descriptions for both parameters (stateCode, districtNumber). The description does not add additional parameter-specific meaning beyond what the schema provides, so a baseline score 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 clearly states the verb 'cross-reference' and specifies the resources: top complained-about companies, lobbying registrants, campaign contributions, and rep votes. It also distinguishes itself by focusing on consumer protection influence and noting correlation vs causation.
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 provides clear context for when to use this tool (investigating consumer protection influence in a district) and explicitly states the limitation ('correlations only — not causation'), but does not explicitly mention when not to use it or list sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_district_comprehensiveDistrict cross-domain profileARead-onlyInspect
District representative info combined with STATE-level context across domains: environment (EPA), safety (FEMA, CFPB), health (CMS), economy (EIA, education, research, banking). Domain counts are statewide aggregates — these sources do not publish district-level rollups.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., PA) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds important behavioral disclosure that domain counts are statewide aggregates, not district-level rollups, which is critical for correct interpretation. No contradiction with 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?
Single, well-structured sentence that is front-loaded with the core purpose and includes necessary caveats. No redundant 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 description adequately covers the tool's scope and limitation (statewide aggregates). However, lacking an output schema, it could mention what 'representative info' includes. Still, the caveat is essential for proper use.
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 covers both parameters with descriptions. The description does not add parameter-level details beyond what the schema provides, but mentions 'district representative info' which indirectly ties to the parameters. Baseline score of 3 is appropriate given 100% schema coverage.
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 explicitly states the tool combines district representative info with state-level context across multiple domains, naming specific agencies. This clearly distinguishes it from sibling tools that focus on district-level data for individual domains.
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 implies when to use this tool (for broad cross-domain overview with state-level aggregates) vs. sibling district-specific tools, but does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_energy_policy_influenceEnergy policy influenceARead-onlyInspect
Cross-reference state energy profile with energy sector lobbying registrants (entity resolution fuzzy match), Energy/Commerce committee membership, campaign contributions, and energy legislation votes. Shows correlations only — not causation.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., TX) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds value beyond annotations by clarifying results are correlations, not causation, and mentions fuzzy match for entity resolution. No contradictions with annotations (readOnlyHint and openWorldHint).
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 concise sentences front-loading the core function and key limitation. No redundant wording.
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?
Does not describe output format, pagination, or result structure despite lacking output schema. Given the tool's complexity (multiple data sources), more detail on return values is needed.
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% with descriptions for stateCode and districtNumber. The description does not add extra parameter details beyond the schema, so baseline score 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?
Clearly states it cross-references state energy profile with lobbying, committee membership, campaign contributions, and votes, with explicit verb 'cross-reference' and resource 'energy policy influence'. Distinguishes from siblings as specific to energy.
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?
Provides context by indicating it shows correlations, not causation, and implies use for energy policy analysis. However, it does not explicitly differentiate from sibling tools like 'analyze_environmental_influence'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_environmental_influenceEnvironmental influence analysisARead-onlyInspect
Cross-reference EPA violations in a district with lobbying and campaign finance. Maps facility SIC codes to sectors, finds lobbying in those sectors by the district rep, checks EPA-oversight committee membership overlap, and identifies environmental legislation votes.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., OH) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and openWorldHint=true, and description adds context about the compound operation (mapping SIC codes, lobbying search, committee overlap, votes). No contradictions; the description enhances understanding of the tool's multi-step behavior.
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?
Description is one sentence listing steps, which is efficient but could be clearer with structure. It front-loads the main purpose without wasted words.
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?
Given the multi-step analysis, no output schema, and openWorldHint, the description adequately explains what the tool does. It provides a sufficient overview for the agent to understand the scope of results.
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 covers 100% of parameters with clear descriptions for stateCode and districtNumber. Description does not add further parameter semantics beyond what schema provides, maintaining a baseline score.
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?
Description clearly states it cross-references EPA violations with lobbying, campaign finance, committee membership, and votes. It distinguishes from sibling tools by specifying the multi-step analysis, making it unique among influence analysis tools.
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?
Description implies usage for investigating environmental influence in a district but does not explicitly state when to use vs. alternatives like 'analyze_energy_policy_influence' or 'get_district_environmental_profile'. No when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_industry_regulatory_landscapeIndustry regulatory landscapeARead-onlyInspect
For a given industry sector: all regulatory actions (EPA, FDA, NHTSA), lobbying filings, campaign contributions, and committee jurisdiction. Maps sector to agencies and oversight committees.
| Name | Required | Description | Default |
|---|---|---|---|
| sector | Yes | Industry sector (e.g., Health, Energy, Finance, Defense, Transportation, Agribusiness) | |
| stateCode | No | Optional state filter for regulatory actions |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds behavioral context by listing specific regulatory agencies (EPA, FDA, NHTSA) and data types (lobbying filings, campaign contributions, committee jurisdiction), clarifying scope beyond the annotations. It does not contradict 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?
The description consists of two concise sentences. The first front-loads the key output categories, and the second summarizes the mapping function. No superfluous 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?
Given 2 parameters, no output schema, and moderate complexity, the description adequately covers inputs and high-level outputs (regulatory actions, lobbying, campaign contributions, committee jurisdiction). It could be improved by more explicitly describing the output structure, but overall it provides sufficient context for an agent to understand the tool's capabilities.
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 parameters are documented in the schema. The description adds value by providing example sectors (Health, Energy, etc.) and explaining that stateCode is an optional filter for regulatory actions, tying parameters to the overall purpose.
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 the tool's purpose: for a given industry sector, it returns regulatory actions (EPA, FDA, NHTSA), lobbying filings, campaign contributions, and committee jurisdiction. It specifies the action 'maps sector to agencies and oversight committees,' which distinguishes it from sibling tools that focus on specific aspects like consumer protection or energy policy.
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 implies usage for analyzing industry regulatory landscape but does not explicitly state when to use this tool versus alternatives like 'analyze_energy_policy_influence' or 'analyze_environmental_influence.' No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_policy_area_ecosystemPolicy area ecosystemARead-onlyInspect
For a Congress.gov policy area: related agencies, industry sectors, lobbying activity, committee oversight, and Federal Register keywords. Uses policy-area-map as the cross-domain join hub.
| Name | Required | Description | Default |
|---|---|---|---|
| policyArea | Yes | Congress.gov policy area (e.g., "Health", "Energy", "Finance and Financial Sector") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description focuses on behavioral details: it uses 'policy-area-map as the cross-domain join hub', which explains the data integration mechanism. It also lists the categories returned. It could be improved by mentioning if results are real-time or cached, but it provides solid context beyond 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?
The description is extremely concise: two sentences. The first sentence lists the outputs, the second explains the mechanism. Every part earns its place, no fluff or repetition. It is front-loaded with the most important 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?
Given that there is no output schema, the description should convey enough about returns. It lists five categories of results and explains the cross-domain join approach. While it is fairly complete, it lacks details on response structure, size limits, or whether the data is aggregated or raw. Still, it provides a clear mental model for the agent.
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?
The only parameter is 'policyArea', which is well-described in the input schema (with examples). The description does not add extra meaning about the parameter—it focuses on the tool functionality. With 100% schema coverage, baseline is 3, and no additional semantic value is provided.
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 that for a given Congress.gov policy area, the tool returns related agencies, industry sectors, lobbying activity, committee oversight, and Federal Register keywords. It specifies the resource ('policy area ecosystem') and the action (analyze). The mention of 'cross-domain join hub' helps distinguish it from sibling tools like analyze_consumer_protection_influence or analyze_industry_regulatory_landscape, which focus on specific aspects.
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 implies usage when exploring cross-domain relationships for a policy area, but it does not explicitly state when to use this tool versus alternatives or provide exclusions. Sibling tools exist for more specific analyses, but no guidance is given on when to choose this broad ecosystem view over a focused one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_vote_predictionVote prediction analysisARead-onlyInspect
ML-based vote prediction analysis. Returns independence score (how often a legislator votes against their donor-predicted position), SHAP factors, and notable deviations.
| Name | Required | Description | Default |
|---|---|---|---|
| bioguideId | Yes | Congress bioguide identifier |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds that it is ML-based and lists outputs, but does not disclose additional behavioral traits such as rate limits or data freshness. No contradiction with 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 concise sentences, front-loaded with purpose, then outputs. No extraneous content.
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 lists key outputs (independence score, SHAP factors, notable deviations) but lacks detail on format or structure. It is adequate for a single-parameter tool with readOnlyHint and openWorldHint, though slightly incomplete.
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% with bioguideId described as 'Congress bioguide identifier'. The description does not add further meaning beyond the schema, so baseline score 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 clearly states the tool performs ML-based vote prediction analysis, returning independence score, SHAP factors, and notable deviations. It is distinct from sibling tools like get_vote_record or analyze_consumer_protection_influence.
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 implies usage for analyzing donor influence but does not explicitly state when to use this tool vs alternatives. No exclusion criteria or contextual guidance is provided, earning a middle score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_legislatorsLegislator comparisonARead-onlyInspect
Compare multiple legislators side-by-side. Returns profiles for each bioguideId.
| Name | Required | Description | Default |
|---|---|---|---|
| bioguideIds | Yes | Array of bioguide identifiers to compare |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=true, indicating a safe read operation. The description adds minimal behavioral info beyond stating it returns profiles, which is already implied by the schema. No additional context on rate limits, data freshness, or side effects.
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 sentence of 13 words that immediately conveys the tool's purpose. It is efficiently front-loaded and free of unnecessary detail, earning 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?
Despite having annotations and a simple parameter, the description lacks details about the output format or content of 'profiles'. Since there is no output schema, the description could be more informative. The openWorldHint partially compensates, but overall completeness is moderate.
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%, with the bioguideIds property having a description 'Array of bioguide identifiers to compare'. The description does not add any parameter semantics beyond what the schema provides, thus baseline score 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 clearly states the action (compare) and resource (legislators) with 'Compare multiple legislators side-by-side'. This distinguishes it from sibling tools like get_representative_profile (single legislator) and analyze_* tools (analysis). The title 'Legislator comparison' reinforces the purpose.
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 implies usage for comparing multiple legislators but provides no explicit guidance on when to use this tool vs alternatives like get_representative_profile or analyze_* tools. No when-not or alternative mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bill_detailsBill detailsARead-onlyInspect
Get detailed information about a specific bill including sponsor, cosponsors, committees, actions, and policy area.
| Name | Required | Description | Default |
|---|---|---|---|
| billId | Yes | Bill identifier in congress-type-number format (e.g., "119-hr-1" for H.R.1 in 119th Congress) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds the specific fields returned, which provides some behavioral context but does not disclose additional traits like potential errors or completeness guarantees. It adds value but is not rich beyond 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?
The description is a single sentence that is concise and front-loaded. Every part adds value with no wasted words.
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?
Given the tool has one parameter, good annotations, and no output schema, the description sufficiently covers the purpose and key fields. It lacks details on error handling or output structure but is adequate for a simple retrieval 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?
The schema already describes the single parameter 'billId' with format guidance. The description adds no additional meaning beyond what the schema provides, so baseline score 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 uses a specific verb ('get') and resource ('detailed information about a specific bill'), and lists the key fields included (sponsor, cosponsors, committees, actions, policy area). It clearly distinguishes from sibling tools like 'search_legislation' which is for searching bills.
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 implies usage when needing details on a specific bill, but provides no explicit guidance on when not to use it or mentions alternatives (e.g., 'search_legislation' for finding bills). The context is clear but lacks exclusions or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_campaign_financeCampaign finance summaryARead-onlyInspect
Get FEC campaign finance data for a legislator including total raised/spent, PAC contributions, and industry breakdown.
| Name | Required | Description | Default |
|---|---|---|---|
| cycle | No | Election cycle year, default current | |
| bioguideId | Yes | Congress bioguide identifier |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. Description adds value by specifying data categories (total raised/spent, PAC, industry breakdown) but does not disclose any additional behavioral traits beyond what annotations provide. No contradiction with 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?
Single sentence that is well-structured and frontloaded with the action and resource. Every word contributes meaning; no redundancy or filler.
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?
Without an output schema, the description partially describes return data but omits details like structure, pagination, or whether results are aggregated. Adequate for a simple tool but could be more specific about output format.
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 both parameters have descriptions. The description adds no additional meaning to parameters beyond what the schema already provides, meeting the baseline expectation.
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?
Clearly states the verb 'Get', the resource 'FEC campaign finance data for a legislator', and specifies included data types (total raised/spent, PAC contributions, industry breakdown). Effectively distinguishes from sibling tools, none of which focus on campaign finance.
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 explicit guidance on when to use this tool versus siblings. While the tool's unique purpose implies usage, the description lacks when-not-to-use or alternative tool references, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_climate_dataState climate normalsBRead-onlyInspect
NOAA climate normals for a state: average temperature, min/max temperatures, precipitation, and snowfall from 30-year normal period. Requires NOAA_TOKEN.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter state code (e.g., CO) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true, which cover the behavioral profile. The description adds context about the data source (NOAA) and time period (30-year normal), which is beneficial but does not significantly exceed what annotations convey.
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, well-structured sentence that conveys the tool's purpose, data, and requirement without any extraneous 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?
Given the simple tool (one parameter, no output schema, annotations present), the description adequately covers what the tool does and what it returns. It could mention return format or units, but the listed variables and context are sufficient for an agent to understand the 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 coverage is 100% with a clear description for the 'state' parameter. The tool description does not add extra meaning beyond what the schema provides, meeting the baseline for high coverage.
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 specifies the resource (NOAA state climate normals) and lists the types of data returned (average temperature, min/max, precipitation, snowfall). It does not explicitly differentiate from the sibling tool 'get_state_climate_profile', but the provided detail is sufficient for basic purpose clarity.
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 only usage guidance is 'Requires NOAA_TOKEN,' which is a prerequisite. There is no mention of when to use this tool versus alternatives (e.g., 'get_state_climate_profile') or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_committee_infoCommittee detailsARead-onlyInspect
Get detailed information about a congressional committee including members, jurisdiction, and subcommittees.
| Name | Required | Description | Default |
|---|---|---|---|
| committeeId | Yes | Committee identifier (e.g., HSIF for House Energy & Commerce) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral context by listing included data (members, jurisdiction, subcommittees), which helps set expectations for the response scope.
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?
Single sentence that immediately conveys the action and resource. No redundant words, perfectly front-loaded.
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?
Without an output schema, the description compensates by listing what the tool returns (members, jurisdiction, subcommittees). This is sufficient given the tool's simplicity.
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% with a well-described committeeId parameter. The description adds no further parameter details, 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 uses the verb 'get detailed information about' and specifies the resource 'congressional committee' with content details (members, jurisdiction, subcommittees). It clearly distinguishes from sibling tools, none of which target committee details.
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 tool's name and description clearly imply usage for retrieving committee information. While no explicit when-to-use or alternatives are given, the domain is self-contained and no sibling tool overlaps, making usage obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_banking_profileDistrict banking profileARead-onlyInspect
Banking landscape for a congressional district: FDIC-insured institutions, total deposits/assets, recent bank failures, and representative's Banking/Financial Services committee membership.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., GA) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds specific behavioral context: it returns FDIC institutions, deposits/assets, failures, and committee membership. No contradictions.
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?
Single sentence that front-loads the purpose and lists components efficiently. No wasted words.
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?
Given 2 parameters, no output schema, and annotations present, the description adequately covers what is returned. However, details like 'recent' for bank failures could be more precise, but overall complete enough.
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 parameters are fully defined. Description does not add meaning beyond schema, which is acceptable for high coverage. Baseline score 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?
Description clearly states the tool aggregates banking landscape for a congressional district, listing specific components (FDIC institutions, deposits/assets, failures, committee membership). This distinguishes it from sibling tools like search_fdic_institutions and other district profiles.
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 explicit guidance on when to use this tool versus alternatives. The description implies a comprehensive snapshot, but lacks when-not-to-use or comparisons to sibling tools like search_fdic_institutions or other district profiles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_consumer_complaintsDistrict consumer complaintsARead-onlyInspect
Consumer complaints aggregated by congressional district using ZIP-district mapping. Shows top complained-about companies, products, and issues for a district.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., PA) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that complaints are aggregated using ZIP-district mapping, providing behavioral context beyond the annotations. It does not contradict 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?
The description is concise with two clear sentences, front-loading the core purpose. No extraneous 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?
Given the simplicity of the tool and absence of an output schema, the description provides sufficient context: it returns top complained-about companies, products, and issues. It omits pagination or limits, but this is acceptable for an aggregation 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 coverage is 100%, and both parameters are documented in the schema. The description adds context by referencing 'congressional district' and 'ZIP-district mapping,' which helps clarify the role of stateCode and districtNumber.
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 specific verbs ('aggregates', 'shows') and clearly identifies the resource (consumer complaints by congressional district). It distinguishes from sibling tools like search_consumer_complaints by indicating this is aggregated data.
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 implies usage for district-level aggregated complaints, but does not explicitly state when to use this tool versus alternatives like search_consumer_complaints or other district profile tools. No exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_disaster_historyDistrict disaster historyARead-onlyInspect
Disaster history for a congressional district: FEMA declarations, recurring hazard types, total assistance amounts. Cross-references with USASpending disaster relief in the district.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., FL) | |
| yearsBack | No | Years of history (default 10) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint and openWorldHint, which the description complements by detailing the data types (FEMA declarations, hazard types, assistance amounts, cross-references). No contradictions.
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 concise sentence that front-loads key information. It is efficient but could be slightly more structured with bullet points.
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 adequately explains the return content (declarations, hazard types, assistance amounts, cross-references). It covers the essential behavioral details given the tool's simple parameters and read-only nature.
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% with descriptions for all three parameters. The description provides no additional parameter-specific guidance beyond the schema, so baseline score 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 clearly states the tool provides disaster history for a congressional district, specifying FEMA declarations, hazard types, assistance amounts, and cross-references with USASpending. This distinguishes it from general search tools like search_fema_disasters.
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 implies usage for getting district disaster history but does not explicitly state when to use this tool versus alternatives (e.g., search_fema_disasters) or mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_education_profileDistrict education profileARead-onlyInspect
Higher education landscape for a congressional district: colleges/universities by state with outcomes data, representative's Education committee membership, and relevant education policy context.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., OH) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating a safe read operation with no destructive effects. The description adds moderate value by listing the types of data returned (colleges, outcomes, committee membership, policy context), but does not disclose any additional behavioral traits beyond what annotations capture.
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, well-structured sentence that front-loads key components ('higher education landscape') followed by specific deliverables. No unnecessary words, making it highly efficient.
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?
Given the lack of an output schema, the description reasonably covers the return content (colleges, outcomes, committee membership, policy context). While it omits details like pagination or response format, the openWorldHint annotation suggests flexibility, so completeness is adequate.
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?
The input schema provides full coverage with clear descriptions for both parameters (stateCode and districtNumber). The description does not add any extra meaning beyond the schema, so a baseline score 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 clearly specifies the tool's function: retrieving higher education landscape data for a congressional district, including colleges/universities with outcomes, Education committee membership, and policy context. This distinguishes it effectively from sibling tools focusing on other domains like healthcare or environment.
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 does not provide explicit guidance on when to use this tool versus alternatives. While the specificity of the domain implies its use case, there is no mention of exclusions or comparisons to other district analytics tools, leaving the agent to infer usage without clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_environmental_profileDistrict environmental profileARead-onlyInspect
Environmental profile for a congressional district: regulated facilities, active violations, Superfund sites, toxic releases. Includes serving representative.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., MI) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe read-only behavior. The description adds context about the tool's content (including serving representative), which goes beyond the annotations. No contradictions.
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, concise sentence that efficiently lists key data categories without wasted words. It is front-loaded and easy to parse.
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?
Given there is no output schema, the description adequately lists the types of data returned (regulated facilities, violations, etc.) and mentions the serving representative. It is fairly complete, though a brief note on structure would improve it.
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 baseline is 3. The description does not add further semantics beyond what the schema provides (stateCode, districtNumber). The note about district 0 for at-large is implicitly understood but not elaborated.
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 it provides an environmental profile for a congressional district, listing specific data categories (regulated facilities, active violations, Superfund sites, toxic releases) and mentions it includes the serving representative. This distinguishes it from sibling tools like get_district_info or get_climate_data.
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 does not provide any guidance on when to use this tool versus alternatives, such as analyze_environmental_influence or other district profiles. There is no explicit mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_healthcare_profileDistrict healthcare profileARead-onlyInspect
Healthcare infrastructure for a congressional district: CMS hospitals and nursing homes with quality ratings, representative's Health committee membership, and pending health legislation context.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., TX) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and open-world hints. The description adds value by specifying data sources (CMS) and types (quality ratings, committee membership, legislation context), which goes beyond the bare metadata. No contradiction with 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?
The description is a single sentence that efficiently conveys the core purpose and key inclusions. It is front-loaded with the main subject and contains no filler, though it could be slightly trimmed.
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?
Given the two parameters and no output schema, the description lists the key categories of returned data (hospitals, nursing homes, ratings, committee membership, legislation), providing sufficient context for an agent to understand what the tool returns.
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% with clear parameter descriptions. The tool description does not add any parameter information beyond what's in the schema, so the baseline score 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 clearly states the tool retrieves healthcare infrastructure for a congressional district, listing specific components (CMS hospitals, nursing homes with quality ratings, representative's committee membership, pending legislation). This distinguishes it from sibling tools that focus on other district profiles (e.g., education, banking).
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 implies usage via the content scope (healthcare), but does not explicitly state when to use or avoid this tool, nor does it mention alternative tools for other domains like education or environment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_housing_profileDistrict housing profileARead-onlyInspect
Housing affordability profile for a congressional district: HUD Fair Market Rents and income limits for district counties, representative's Housing committee membership, and relevant housing policy context.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., NY) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and openWorldHint=true, so the description's addition of specific output components (FMR, income limits, committee membership, policy context) adds behavioral context without contradiction. It does not mention other behaviors like rate limits, but the annotations cover the key traits.
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 sentence, front-loaded with the core purpose, and efficiently lists the key output components without redundancy. Every element serves a purpose.
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?
Given no output schema, the description reasonably outlines the return values (FMR, income limits, committee membership, policy context). It is complete enough for an agent to understand the output structure, though it could benefit from mentioning any prerequisites or typical use cases.
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 both parameters (stateCode, districtNumber) are well-described in the schema. The description does not add any extra meaning beyond what the schema provides, so baseline score 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 clearly states the tool provides a housing affordability profile for a congressional district, listing specific components: HUD Fair Market Rents, income limits, representative's Housing committee membership, and housing policy context. It distinguishes from siblings like get_district_banking_profile or get_housing_affordability by specifying the district-level housing focus.
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 explicit guidance on when to use this tool versus alternatives like get_housing_affordability or other district profile tools. The description implies it's for housing affordability context but lacks conditions, exclusions, or comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_infoDistrict profileARead-onlyInspect
Get comprehensive information about a congressional district including demographics, economics, and representative.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., MI) | |
| districtNumber | Yes | District number (e.g., 07) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that the data includes demographics, economics, and representative, which provides context but lacks details on data freshness, pagination, or response structure.
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 concise sentence (13 words) that front-loads the verb and resource. Every word adds value without waste.
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?
No output schema exists, so the description must hint at return structure. It lists example data categories (demographics, economics, representative) but does not specify the exact fields or data types, leaving the agent uncertain about the response format.
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% for both parameters (stateCode, districtNumber). The description does not add any extra semantic meaning to the parameters 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 clearly states the tool retrieves comprehensive information about a congressional district, listing specific categories (demographics, economics, representative). This distinguishes it from sibling tools that focus on specific aspects like banking or education profiles.
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 implies a broad overview use case but does not explicitly guide when to choose this tool over the many specific profile tools. No when-to-use or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_district_research_profileDistrict research profileARead-onlyInspect
NIH-funded research in a congressional district: grants by state, top institutions, top-funded topics, total award amounts, and representative's Science/Health committee membership.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., MA) | |
| districtNumber | Yes | District number (0 for at-large) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds useful behavioral context: it lists specific components returned (grants, institutions, topics, amounts, committee membership), enhancing transparency beyond 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?
Single sentence that is front-loaded with the core purpose ('NIH-funded research in a congressional district') and efficiently lists all output components. No wasted words.
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 adequately describes the return value: grants by state, top institutions, top-funded topics, total award amounts, and committee membership. Two simple parameters, so no additional context needed.
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?
Input schema has 100% description coverage for both required parameters (stateCode, districtNumber) which are self-explanatory. The tool description does not add further parameter details, so baseline score 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 clearly states the tool provides NIH-funded research data in a congressional district, including grants, top institutions, topics, award amounts, and committee membership. It distinguishes from sibling tools like get_district_education_profile and search_nih_grants by focusing on district-level NIH research.
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 implies use for obtaining NIH research profile of a district, but lacks explicit when-to-use vs. alternatives like search_nih_grants (broader) or other district profiles (different topics). However, the sibling list makes differentiation clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_debt_contextFederal debt contextARead-onlyInspect
Current federal debt with context: total public debt outstanding, debt held by public vs intragovernmental holdings, and record date. Useful for fiscal policy discussions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds value by detailing what data is returned (debt components, record date), reinforcing the read-only nature and providing context beyond annotations. No contradictions.
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 no waste. First sentence states what the tool provides; second suggests usage. Front-loaded and efficient.
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?
Given no parameters, no output schema, and annotations present, description adequately covers the tool's return data (debt components, record date) and usage context. Slightly incomplete in not specifying the output format or source, but sufficient for a simple 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?
Tool has zero parameters, so schema description coverage is 100%. Baseline score for 0 parameters is 4. Description correctly does not need to explain parameters.
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?
Description clearly states the tool provides current federal debt context including specific data points: total public debt outstanding, debt held by public vs intragovernmental holdings, and record date. Verb 'get' is implied by name, and resource is explicitly 'federal debt context'. Distinct from siblings like get_federal_fiscal_data or get_federal_spending.
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?
Description states 'Useful for fiscal policy discussions' which gives implied usage context, but does not explicitly state when to use versus alternatives like get_federal_fiscal_data, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_fiscal_dataFederal fiscal dataARead-onlyInspect
Federal fiscal overview from Treasury: national debt, monthly revenue by category, and spending by category. Returns current figures and fiscal year totals.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Fiscal year for revenue/spending (default: current year) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description correctly confirms read-only behavior. However, it does not add context about data freshness, caching, or any special behavior beyond what annotations provide.
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 long, front-loaded with the essential purpose, and contains no unnecessary words. Every sentence serves a clear function.
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?
Given the tool's simplicity (one optional parameter, no output schema, no nested objects), the description adequately covers what the tool returns (national debt, revenue, spending, current figures, fiscal year totals) and is sufficient for an agent to understand the tool's capabilities.
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?
The schema covers the single parameter 'year' 100% with its description. The tool description adds no further value beyond what the schema already states, so the baseline score 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 clearly identifies the tool as providing a federal fiscal overview including national debt, monthly revenue, and spending by category, with specific verbs like 'returns'. It distinguishes from siblings like get_federal_debt_context and get_federal_spending by emphasizing monthly and categorical breakdowns.
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 implies a broad use case for a quick fiscal overview, but it does not explicitly state when to use this tool versus alternatives (e.g., get_federal_debt_context, get_federal_spending) or provide any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_registerFederal Register searchARead-onlyInspect
Search Federal Register for rules, proposed rules, notices, and executive orders.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Document type | |
| limit | No | Max results, default 20 | |
| query | No | Search term | |
| agency | No | Agency slug (e.g., "environmental-protection-agency", "department-of-defense") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, establishing the tool as a safe, read-only search. The description adds the document types searched, but does not disclose additional behavioral traits such as pagination, rate limits, or response structure. It neither contradicts nor significantly extends 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?
The description is a single, clear sentence with no redundancy or unnecessary words. It is front-loaded with the core purpose and efficiently conveys the tool's function.
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?
Given the tool's simplicity (4 parameters, no output schema, read-only) and the comprehensive schema descriptions, the brief description is mostly adequate. However, it lacks information about default behavior (e.g., if no query is provided) and any limitations, leaving some gaps for an agent.
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 parameters thoroughly. The description does not add any meaning beyond what the schema provides, e.g., it does not explain how parameters interact or suggest effective usage. Baseline score 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 clearly states the action ('Search'), the resource ('Federal Register'), and the scope ('rules, proposed rules, notices, and executive orders'). It is specific and distinguishes the tool from its siblings, none of which target the Federal Register.
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 does not provide any guidance on when to use this tool versus others, nor does it mention any prerequisites, exclusions, or best practices. The context of siblings implies uniqueness, but the description itself offers no explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_spendingFederal spending lookupARead-onlyInspect
Get federal contracts and grants for a congressional district from USASpending.gov.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter state code (e.g., MI) | |
| district | No | District number (e.g., 05) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description mentions the external source (USASpending.gov), consistent with openWorldHint. However, it lacks details on rate limits, pagination, scope if district is omitted, or whether data is summary or detailed. Annotations already indicate readOnlyHint, so no contradiction.
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?
Single sentence, no redundant words. Efficiently conveys purpose and source.
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?
Description identifies the type of data (contracts and grants) but does not describe return structure, pagination, or volume. Without an output schema, additional detail on the response format would improve completeness.
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 descriptions fully cover both parameters (state and district). The description does not add extra meaning beyond what is in the schema. With 100% schema coverage, baseline score 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?
Description clearly states the tool retrieves federal contracts and grants for a congressional district from USASpending.gov. It uses a specific verb ('get') and resource ('federal contracts and grants'), and distinguishes it from siblings like get_federal_debt_context by specifying the data type and source.
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 explicit guidance on when to use this tool versus alternatives. Context from sibling names implies it is for district-level spending data, but no when-not-to-use or alternative tool recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_housing_affordabilityHousing affordability dataARead-onlyInspect
HUD Fair Market Rents and income limits by county FIPS code. Returns rental rates by bedroom count and income thresholds (very low, extremely low, low) by household size.
| Name | Required | Description | Default |
|---|---|---|---|
| countyFips | Yes | County FIPS code (e.g., 06037 for Los Angeles County) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context about returned data (rental rates and income thresholds) but does not disclose potential limitations such as data update frequency or coverage gaps.
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 concise sentences with no extraneous words. First sentence establishes source and key, second sentence specifies outputs. Highly efficient.
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?
Given no output schema, the description adequately explains that the response includes rental rates by bedroom count and income thresholds. It could specify response format but is largely complete for a straightforward data retrieval 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%; the description reiterates the county FIPS code parameter but adds no new meaning beyond the schema's example and pattern. Baseline score 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 clearly states the tool retrieves HUD Fair Market Rents and income limits by county FIPS code, specifying rental rates by bedroom count and income thresholds. It distinctly differentiates from all sibling tools by focusing on housing affordability data.
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 implicitly indicates usage for obtaining county-level housing affordability data, but does not explicitly state when to use or not use this tool versus alternatives. No exclusion or prerequisite guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_influence_chainInfluence chain traceARead-onlyInspect
Trace lobbying money through contributions, committee assignments, and votes for a legislator. Shows the path from lobbying org to legislative outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| bioguideId | Yes | Congress bioguide identifier |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and openWorld, and description adds useful behavioral context steps (contributions, committees, votes, path). No contradictions.
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 action verb, no unnecessary words.
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 single-parameter tool with no output schema, description adequately explains the tool's functionality and the path it traces.
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?
Single parameter with 100% schema coverage; description adds slight meaning by tying parameter to 'legislator', but no additional syntax or format.
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?
Description uses specific verb 'trace' and resource 'influence chain for a legislator', clearly distinguishing from sibling tools like analyze_* or get_*.
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?
Description provides clear context for when to use (tracing influence path for a legislator), but lacks explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_representative_profileLegislator profileARead-onlyInspect
Get detailed profile for a specific legislator including committees, social media, biography, and contact info.
| Name | Required | Description | Default |
|---|---|---|---|
| bioguideId | Yes | Congress bioguide identifier (e.g., P000197) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. Description adds context on data contents (committees, social media, etc.), but does not cover behaviors like error handling or missing fields. Still adds value beyond 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?
Single sentence, front-loaded, no waste. Efficiently conveys essential 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?
For a simple tool with one parameter and no output schema, the description is fairly complete, listing key data categories. However, it lacks details on error cases or missing data. Still adequate for the tool's simplicity.
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 covers the only parameter (bioguideId) with description. Description does not add any new meaning to the parameter beyond the schema. Baseline 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?
Clearly states verb 'Get', resource 'detailed profile for a specific legislator', and lists included content (committees, social media, biography, contact info). Distinguishes from siblings like compare_legislators or get_vote_record.
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?
Implies usage from name and description (detailed profile for one legislator), but no explicit when-to-use or when-not-to-use guidance. No mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_state_climate_profileState climate profileARead-onlyInspect
Climate profile for a state: NOAA climate normals, severe weather event history, and the state delegation's Environment committee membership for climate policy context.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year for severe weather events (default: last year) | |
| stateCode | Yes | Two-letter state code (e.g., FL) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful context about the data components (normals, events, committee membership) beyond the readOnlyHint and openWorldHint annotations, but does not disclose other behavioral traits such as data freshness, pagination, or response structure.
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, well-structured sentence that front-loads the purpose and efficiently enumerates the three data components without unnecessary words.
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 no output schema, so the description bears full responsibility for explaining the response. It only lists data categories without details on structure, format, or how the components are returned. For a composite tool, this is incomplete.
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?
The input schema already provides descriptions for both parameters (stateCode and year), and the description does not add any new semantic information beyond what is in the schema. With 100% schema description coverage, a baseline score 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 clearly states it provides a composite climate profile including NOAA climate normals, severe weather event history, and Environment committee membership. This specific combination distinguishes it from sibling tools like get_climate_data, which likely provides raw climate data without the policy context.
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 implies it should be used when a comprehensive climate profile for a state is needed, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_state_energy_profileState energy profileARead-onlyInspect
State energy profile from EIA: total consumption, production, electricity generation, renewable percentage, and top energy sources. Returns production mix and trends.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter state code (e.g., TX) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds source (EIA) and data scope, which is useful context but not critical behavioral traits. No contradiction with 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 sentences, front-loaded with main purpose, no wasted words. Efficiently communicates the key points.
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?
Given a single required parameter with good schema and no output schema, the description provides adequate context: source, data fields, and return of production mix/trends. Missing return format but acceptable for a simple 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?
Only one parameter 'state' with schema description already covering format and example. The tool description adds no additional meaning beyond the schema. Schema coverage is 100%, so baseline 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 clearly states the verb 'returns' and resource 'state energy profile from EIA', listing specific data points (consumption, production, etc.). It distinguishes from sibling tools like 'get_state_climate_profile' by focusing on energy, not climate.
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 explicit when-to-use or when-not-to-use guidance. The description implies use for energy-related queries but does not differentiate from similar tools like 'get_state_climate_profile' or list prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_state_public_safety_profileState public safety profileARead-onlyInspect
State crime trends with national comparison, Judiciary committee memberships from the state's congressional delegation, and relevant policy area context for criminal justice legislation.
| Name | Required | Description | Default |
|---|---|---|---|
| stateCode | Yes | Two-letter state code (e.g., TX) | |
| yearsBack | No | Years of trend data (default 5) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context by specifying the data included (crime trends, committee memberships, policy context) without contradicting annotations. It provides useful behavioral details beyond the structured fields.
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 sentence that is informative and front-loaded with the main purpose. It could be slightly more concise but is not verbose.
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?
Given the tool has few parameters, no output schema, and annotations cover safety, the description adequately outlines the key outputs. However, it does not specify return format or any additional details, which is acceptable for a data retrieval 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 both parameters are already documented. The description does not add significant new meaning beyond implying that yearsBack relates to trend data. Baseline 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 clearly states the tool provides crime trends with national comparison, judiciary committee memberships, and policy context for criminal justice legislation. It uses specific verbs and resources, distinguishing it from sibling tools like get_state_climate_profile.
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 implies usage for obtaining a state's public safety profile but does not explicitly state when to use it versus alternatives such as other state-specific tools. No when-not or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vote_recordHouse roll call voteARead-onlyInspect
Get details about a specific House roll call vote including all member positions. Note: only House votes are available via this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| session | No | Session number, default current | |
| congress | No | Congress number, default 119 | |
| rollCallNumber | Yes | Roll call number |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the constraint that only House votes are available, which is useful behavioral context. Annotations already provide readOnlyHint and openWorldHint, so the description adds moderate value without contradicting 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?
The description is two sentences, front-loaded with the core purpose. Every sentence adds value with no wasted words. Excellent conciseness.
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 simple data retrieval tool with 3 parameters and no output schema, the description is fairly complete. It covers the resource, scope (House-only), and data included (all member positions). Minor omission: does not explain how to find roll call numbers.
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 input schema provides all parameter meanings. The description does not add additional semantics beyond what the schema already offers. Baseline 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 clearly states the tool retrieves details of a specific House roll call vote including member positions. It uses a specific verb+resource and distinguishes from sibling tool 'get_voting_history' by specifying only House votes.
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 implies usage for getting House roll call details, with a note that only House votes are available. However, it does not explicitly state when to use this tool over alternatives (e.g., get_voting_history) or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_voting_historyVoting historyARead-onlyInspect
Get a legislator's recent voting record. Returns vote ID, bill info, position, result, and date.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max votes to return, default 20 | |
| chamber | Yes | Chamber of the legislator | |
| bioguideId | Yes | Congress bioguide identifier |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety. The description adds the specific return fields, which is useful but not a behavioral disclosure. No extra context about auth needs 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?
Two sentences, front-loaded with the purpose, and no redundant information. Every word adds value.
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 is adequate but lacks detail on what 'recent' means, ordering, or pagination behavior. With no output schema, more completeness would help, but the return fields list mitigates 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 description coverage is 100%, so baseline is 3. The description does not add additional parameter meaning beyond what the schema already 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 clearly states the tool's purpose: 'Get a legislator's recent voting record.' It also lists the specific fields returned (vote ID, bill info, position, result, date), leaving no ambiguity about the resource and action.
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 provides no guidance on when to use this tool versus its siblings, notably 'get_vote_record' which appears similar. No context about prerequisites or alternatives is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_state_delegationState delegation listARead-onlyInspect
List all federal legislators for a state (both senators and all House representatives).
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | Two-letter state code (e.g., MI) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint, signaling safety and potential external data. The description adds that the output includes both senators and House representatives, clarifying the exact composition beyond the tool name.
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?
Single sentence that is concise and front-loaded, containing no unnecessary words. Every word adds value.
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?
No output schema is provided, and the description does not specify the return format (e.g., fields, structure, pagination). For a tool that returns a list, this information is essential for correct usage.
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% with a clear description for the state parameter (two-letter state code). The tool description does not add further parameter context, so it meets the baseline but does not exceed.
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 the tool lists all federal legislators for a state, specifying both senators and House representatives. This distinguishes it from sibling tools like get_representative_profile (single rep) and lookup_representatives (search-based).
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 explicit guidance on when to use this tool versus alternatives such as lookup_representatives or get_representative_profile. The description only states what it does, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_representativesRepresentative lookup by addressARead-onlyInspect
Find federal legislators by full street address (most accurate) or by state. A full address resolves the exact congressional district via Census Geocoder. Returns bioguideId, name, party, state, district, chamber.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | 5-digit ZIP code — improves geocoding accuracy | |
| city | Yes | City name | |
| state | Yes | Two-letter state code (e.g., MI) | |
| street | Yes | Street address (e.g., "123 Main St") — required for district-level lookup |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that the tool uses the Census Geocoder for district resolution and lists return fields, which provides useful context beyond annotations. However, it omits potential error conditions (e.g., invalid addresses) or rate limits.
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 three concise sentences with front-loaded purpose, no redundant words, and every sentence adds value (e.g., geocoding detail, return format).
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?
Given no output schema, the description fully explains return values (bioguideId, name, party, state, district, chamber) and the geocoding process, effectively covering what the agent needs to know.
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 baseline is 3. The description adds that a full street address is 'most accurate' and that zip improves geocoding accuracy, enhancing understanding beyond the schema's descriptions.
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 specific verbs ('find', 'resolves', 'returns') and resources ('federal legislators', 'full street address or state'), clearly distinguishing the tool from siblings like 'list_state_delegation' or 'get_representative_profile' by emphasizing district-level lookups.
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 states when to use a full address vs. state-only and explains the geocoding process. However, it does not explicitly exclude usage scenarios or compare with alternatives, leaving some ambiguity about when to prefer sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_collegesCollege searchARead-onlyInspect
Search College Scorecard for higher education institutions by state and/or name. Returns admission rate, graduation rate, average net price, median earnings, median debt, and size.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Institution name (partial match) | |
| limit | No | Max results (default 25) | |
| state | No | Two-letter state code (e.g., MA) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. Description adds that results include admission rate, graduation rate, etc., and that it searches by state/name. No contradictions; useful context beyond 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 sentences: first states the action and filters, second lists return fields. No redundant words, efficient and informative.
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?
Covers purpose, filters, and return fields. No output schema, but return fields are listed. Missing details like sorting or pagination, but for a simple search tool with well-documented parameters, it is largely complete.
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 fully documents each parameter. The description does not add new parameter details beyond what the schema provides, so baseline score 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?
Clear statement of verb (search) and resource (College Scorecard for higher education institutions) with specific filtering by state/name. Distinct from all sibling tools that focus on different data domains.
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?
Describes the query parameters (state and/or name) and the returned fields, implying use when college metrics are needed. No explicit exclusions or alternatives, but siblings are in very different contexts, so confusion is unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_consumer_complaintsConsumer complaint searchBRead-onlyInspect
Search CFPB consumer complaints by company, product, state, or date range. Returns complaint details including issue, response, and timeliness.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Max results (default 25) | |
| state | No | Two-letter state code | |
| dateTo | No | End date (YYYY-MM-DD) | |
| company | No | Company name to filter by | |
| product | No | Product type (e.g., "Credit reporting") | |
| dateFrom | No | Start date (YYYY-MM-DD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds no behavioral details (e.g., no pagination, rate limits, or data freshness info). It does not contradict 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 sentences, 20 words, front-loaded with action and resource. No redundancy, but could be slightly more informative about return structure without sacrificing brevity.
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?
Given no output schema, the description helpfully indicates return fields (issue, response, timeliness). For a search tool with 6 optional parameters and no required ones, the description covers the essential functionality. However, it omits mention of the 'size' parameter's default and pagination behavior.
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?
All 6 parameters are fully described in the schema (100% coverage). The description mentions the filter categories (company, product, state, date range) but adds no extra semantics beyond what the schema already 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 clearly states the action (Search), resource (CFPB consumer complaints), and key filters (company, product, state, date range). It distinguishes from sibling 'get_district_consumer_complaints' by not limiting to a district, but does not explicitly differentiate.
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 guidance on when to use this tool versus alternatives like get_district_consumer_complaints or other search tools. The description only states what it does, not when to prefer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_crime_statisticsCrime statistics searchARead-onlyInspect
FBI UCR crime statistics by state and offense type. Returns actual counts, rates per 100,000, clearances, and national comparison. Offense types: violent-crime, property-crime, HOM, RPE, ROB, ASS, BUR, LAR, MVT, ARS.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year (default: most recent available) | |
| state | Yes | Two-letter state code (e.g., CA) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the description adds value by listing the specific return fields (counts, rates, clearances, national comparison) and offense type codes. This provides behavioral context beyond the annotations without contradiction.
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 that are efficient and front-loaded. The first sentence clearly states purpose and outputs, the second lists offense codes. Every sentence adds value, though minor restructuring (e.g., listing codes inline) could improve, but it is already concise.
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 adequately explains return values (actual counts, rates, etc.). It covers the key aspects of the tool's results but omits details like response format or whether data is aggregated. Given the tool's complexity and annotations, it is mostly complete.
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%, with both parameters described. The description adds useful context: year defaults to most recent available, and state code format is exemplified. It also lists offense types, which clarifies acceptable values for an undocumented parameter (if there were one), enhancing schema meaning.
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 it searches FBI UCR crime statistics by state and offense type, specifying the exact data returned (counts, rates, clearances, national comparison). The verb 'search' and resource are well-defined, and it distinguishes from sibling tools that cover different domains like consumer protection or climate.
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 does not explicitly state when to use this tool or provide alternatives. Sibling tools cover diverse topics, so it is implied that this tool is for crime statistics, but no guidance on specific use cases or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_epa_facilitiesEPA facility searchARead-onlyInspect
Search EPA-regulated facilities by state, ZIP, or SIC code. Returns facility name, address, compliance status, violations, and penalties.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | 5-digit ZIP code | |
| limit | No | Max results (default 20) | |
| state | Yes | Two-letter state code (e.g., CA) | |
| sicCode | No | 4-digit SIC code to filter by industry |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. Description adds value by specifying return fields (compliance status, violations, penalties) beyond the annotations. No contradictions; behavior is well-disclosed for a read-only search 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?
The description is a single sentence that front-loads the action and lists key parameters and return fields. It is concise but could be more structured (e.g., separating search criteria vs. output).
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?
Given the tool has 4 parameters, no output schema, and no nested objects, the description is adequate but not fully complete. It lists return fields but does not describe the response format (e.g., JSON structure) or pagination behavior. Annotations fill some context gaps.
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 baseline is 3. Description mentions state, ZIP, and SIC code but does not add extra meaning (e.g., format of compliance status or violation details) beyond the parameter names and patterns in 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?
Description explicitly states 'Search EPA-regulated facilities by state, ZIP, or SIC code' with specific return fields (facility name, address, compliance status, violations, penalties). This clearly differentiates it from sibling tools like search_colleges or search_crime_statistics.
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 implies usage for EPA facility queries but provides no explicit guidance on when to use versus alternatives (e.g., other search tools) or when not to use this tool. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fdic_institutionsFDIC institution searchARead-onlyInspect
Search FDIC-insured banks and financial institutions by state, name, or city. Returns total assets, deposits, number of offices, charter class, and regulator.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name | |
| name | No | Institution name (partial match) | |
| limit | No | Max results (default 25) | |
| state | No | Two-letter state code (e.g., NY) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's behavioral disclosures are minimal. It adds that the tool returns specific fields (assets, deposits, etc.), which is helpful but not critical for safe invocation. No contradictions with 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?
The description is a single sentence, front-loading the core action and filtering options, followed by a succinct list of returned data. Every word serves a purpose; no filler or repetition.
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?
Given the tool's moderate complexity (4 optional params, no required params, no output schema), the description adequately covers purpose, filtering dimensions, and return fields. It could optionally mention that all parameters are optional or clarify open-world nature, but annotations already provide the latter.
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 each parameter well-described (city, name, limit, state). The description restates filtering by state/name/city but adds no additional meaning beyond the schema's own descriptions. Baseline 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 clearly states the verb 'Search', the resource 'FDIC-insured banks and financial institutions', and specifies filtering dimensions: state, name, or city. It also lists the returned fields (total assets, deposits, etc.), making the tool's purpose unambiguous and distinct from siblings which are non-financial.
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 implies usage for searching banks by state/name/city but provides no explicit guidance on when to use this tool versus alternatives. No sibling tools overlap in domain, so confusion is unlikely, but neither when-not-to-use nor context for combining with other tools is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fema_disastersFEMA disaster searchARead-onlyInspect
Search FEMA disaster declarations by state, year, or type (DR=Major Disaster, EM=Emergency, FM=Fire Management). Returns declaration number, dates, programs, and designated areas.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Declaration type: DR (Major Disaster), EM (Emergency), FM (Fire Management) | |
| year | No | Fiscal year declared | |
| limit | No | Max results (default 50) | |
| state | Yes | Two-letter state code (e.g., CA) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds that results include declaration number, dates, programs, and areas, which is useful behavioral context beyond 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 sentences effectively convey purpose, filters, and return content. No wasted words.
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 covers the tool's core functionality and return fields. Without an output schema, the mention of return data is helpful. Some details about pagination (limit parameter) could be mentioned, but overall satisfactory.
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 parameters are well-documented. The description adds value by explaining the type enum (DR=Major Disaster, etc.) and implying state is required.
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 specifies the tool searches FEMA disaster declarations with clear filters (state, year, type). The sibling tools, like get_district_disaster_history, are district-level, so this tool's focus on FEMA data is distinct.
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 what the tool does and provides meaning for type codes (DR, EM, FM). However, it does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_healthcare_providersHealthcare provider searchARead-onlyInspect
Search CMS hospitals and nursing homes by state with quality ratings. Returns overall star ratings, safety/mortality comparisons for hospitals, and inspection/staffing ratings for nursing homes.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name to filter results | |
| type | No | Provider type (default: both) | |
| state | Yes | Two-letter state code (e.g., CA) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds behavioral context by detailing what the tool returns (star ratings, comparisons, inspection/staffing ratings), which is consistent with a read-only search operation. No contradictions.
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 concise with two sentences, front-loaded with the main action, and contains no filler. Every word adds value.
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?
Given the schema covers all parameters and annotations provide read-only/open-world hints, the description explains the return data. However, it lacks details on result limits, sorting, or pagination, which would enhance completeness for a search 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 coverage is 100%, so all parameters are documented in the schema. The description does not add any additional meaning or usage details beyond the schema, leading to a baseline score of 3.
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 the verb 'Search', the resource 'CMS hospitals and nursing homes', and the scope 'by state with quality ratings'. It also lists specific return data (star ratings, safety/mortality comparisons, inspection/staffing ratings), distinguishing it from sibling tools focused on other domains.
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 implies usage for searching healthcare providers by state with quality ratings, but provides no explicit guidance on when to use this tool versus alternatives (e.g., get_district_healthcare_profile). No exclusions or when-not-to-use are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_legislationBill searchARead-onlyInspect
Search for bills in Congress. Provide query for full-text keyword/topic search (e.g. "broadband", "veterans healthcare") via GovInfo's full-text bill index; results include a congress-type-number id you can pass to get_bill_details. Without query, returns the most recently updated bills (optionally filtered by type).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Bill type filter | |
| limit | No | Max results, default 20 | |
| query | No | Keyword or topic to full-text search bill text (e.g. "broadband"). Omit to list most recent bills. | |
| congress | No | Congress number (defaults to the current Congress) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds value by specifying the use of GovInfo's full-text bill index and explaining the default behavior (recent bills without query). No contradictions.
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 clear structure: first sentence covers purpose and query usage, second covers behavior without query. No wasted words.
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?
Given no output schema, the description adequately explains both modes of operation, mentions the output id, and references a sibling tool. It does not cover pagination or error handling, but is sufficient for a search 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 coverage is 100% with descriptions for all 4 parameters. The description adds meaning by explaining that 'query' enables full-text search and that omitting it returns recent bills, and implies 'limit' via 'optionally filtered by type'.
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 name 'search_legislation', title 'Bill search', and description 'Search for bills in Congress' clearly state the tool's purpose. It distinguishes from siblings by mentioning the result id that can be passed to get_bill_details.
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 explicitly explains when to use query (full-text search) and when to omit it (get most recent bills), and mentions linking to get_bill_details. It does not explicitly state when not to use this tool vs alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_lobbyingLobbying filings searchARead-onlyInspect
Search Senate LDA lobbying filings. Returns registrant, client, spending amount, and issue codes.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filing year, default current | |
| quarter | No | Quarter (1-4), default most recent |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, reducing the burden on description. The description adds context about the specific data returned (registrant, client, spending amount, issue codes), which is useful beyond 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?
Single sentence efficiently conveys purpose and output. No filler or redundant 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?
With only 2 optional parameters and no output schema, the description covers the key aspects: what it does, what it returns, and the domain. It lacks mention of default behavior for optional parameters, but schema descriptions fill that gap.
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 baseline is 3. The description does not add parameter-specific meaning beyond what the schema already provides (e.g., year and quarter descriptions in schema are sufficient).
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 the verb ('search'), the resource ('Senate LDA lobbying filings'), and the output fields. It distinguishes from sibling tools by specifying a unique domain (lobbying filings) not covered by others.
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 implicitly indicates usage (to search lobbying filings) but provides no guidance on when to prefer this tool over alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nih_grantsNIH grant searchARead-onlyInspect
Search NIH-funded research grants by state, institution, or topic. Returns project title, principal investigator, award amount, NIH institute, and organization.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 25) | |
| state | No | Two-letter state code (e.g., MD) | |
| topic | No | Research topic or keyword | |
| institution | No | Research institution name |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds that it returns specific fields but does not disclose other behaviors like pagination, data source, or update frequency. It does not contradict 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?
The description is a single sentence, front-loaded with the action, and contains no wasteful words. Every part 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?
Despite no output schema, the description lists the return fields adequately. It could mention limit behavior or ordering, but for a simple search tool the completeness is good.
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% with descriptions for all parameters. The description merely lists the filterable dimensions without adding further detail beyond the schema. Baseline 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 clearly states the verb 'Search', resource 'NIH-funded research grants', and specifies filtering dimensions (state, institution, topic) and return fields. It distinguishes from all sibling tools, none of which cover NIH grants.
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 clearly indicates the tool's purpose for searching NIH grants by relevant criteria. While no alternative tool exists among siblings for this domain, it lacks explicit guidance on when not to use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vehicle_complaintsVehicle complaint searchARead-onlyInspect
Search NHTSA consumer complaints about vehicles by make, model, and/or component. Returns incident details including injuries, deaths, crashes, fires, and complaint summary.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Vehicle make (e.g., Ford, Toyota) | |
| model | No | Vehicle model (e.g., F-150, Camry) | |
| component | No | Vehicle component (e.g., STEERING, BRAKES, AIR BAGS) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description only needs to add behavioral context. It does so by listing returned fields (injuries, deaths, crashes, fires, complaint summary), which is helpful and consistent. No contradictions.
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 long, front-loading the purpose and filters in the first sentence and output details in the second. Every word is necessary; no redundancy or fluff.
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?
Given the tool's simplicity (3 optional parameters, no output schema, read-only), the description adequately covers the purpose, filtering dimensions, and key output fields. It mentions the source (NHTSA) and the types of incident details returned. Missing minor details like pagination or data limits, but not critical for this 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%, with all three parameters (make, model, component) already described in the schema. The description only rephrases these ('by make, model, and/or component') without adding new meaning or constraints 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 clearly states the verb 'Search' and the resource 'NHTSA consumer complaints about vehicles', specifying filtering by make, model, and/or component. It distinguishes itself from sibling tools like 'search_vehicle_recalls' (recalls) and 'search_consumer_complaints' (generic).
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 implies usage for NHTSA vehicle complaints, but does not explicitly mention when to avoid using it or provide alternatives. The context from sibling tools helps, but the description lacks direct guidance on when to choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vehicle_recallsVehicle recall searchARead-onlyInspect
Search NHTSA vehicle recalls by make, model, and/or year. Returns campaign number, affected component, safety summary, consequence, remedy, and whether to park the vehicle immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| make | No | Vehicle make (e.g., Ford, Toyota) | |
| year | No | Model year | |
| model | No | Vehicle model (e.g., F-150, Camry) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and openWorldHint. The description adds useful return field details (e.g., 'whether to park the vehicle immediately') without contradiction.
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 concise sentences, no wasted words, and the key functionality is front-loaded.
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?
Describes return fields adequately given no output schema, but could mention pagination or empty result behavior.
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 description adds no new parameter information beyond summarizing the search criteria.
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 ('Search') and resource ('NHTSA vehicle recalls') and clearly distinguishes from similar tools like search_vehicle_complaints by focusing on recalls.
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 guidance on when to use this tool vs alternatives, no prerequisites or limitations mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!