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
- Repository
- civdotiq/civ.iq
- GitHub Stars
- 0
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 declare readOnlyHint and openWorldHint, and the description adds behavioral context: entity resolution fuzzy match, checking rep votes, and noting correlations vs. causation. No contradictions exist, and the description expands on the read-only nature.
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 sentences, front-loaded with the main action, and no wasted words. It is concise but could be structured to list steps more clearly. Still, it earns its sentences.
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. The description explains the analysis steps but does not describe the output format (e.g., table, list, chart). Given the complexity of cross-referencing multiple sources, the agent lacks guidance on interpreting 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?
Input schema provides descriptions for both parameters (stateCode and districtNumber) and coverage is 100%. The description adds context by mentioning 'in a state' and 'district representative,' aligning with parameters but adding no additional syntax or format details beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cross-references top complained-about companies with lobbying registrants and campaign contributions, and checks votes on Finance-related legislation. It distinguishes from sibling get_* tools by being an analysis tool, and from other analyze_* tools by specifying the consumer protection focus and methodology.
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 mentions 'Shows correlations only — not causation,' which provides a use caveat. However, it does not explicitly state when to use this tool versus other analyze tools (e.g., analyze_energy_policy_influence) or provide when-not-to-use guidance. Usage context is implied but not explicit.
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 indicate readOnlyHint=true and openWorldHint=true. The description adds important behavioral context: data is statewide aggregates, not district-level, and lists specific sources (EPA, FEMA, etc.). 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?
Description is two sentences, front-loaded with the purpose. Every sentence adds value, but could be slightly more structured (e.g., listing domains more explicitly). No 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?
With no output schema, the description should clarify return format. It names domains but lacks detail on output structure (e.g., is it a JSON object with keys per domain?). The context that data is statewide aggregates is helpful, but for a comprehensive tool, more specifics 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 provides 100% coverage for the two parameters (stateCode and districtNumber). Description does not add additional semantics beyond what the schema already includes (e.g., districtNumber 0 for at-large is in schema). Baseline 3 is appropriate since schema fully documents 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?
The description clearly states the tool combines district representative info with statewide context across multiple domains (environment, safety, health, economy). This distinguishes it from sibling tools that focus on single domains (e.g., get_district_environmental_profile) or specific representatives (get_representative_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 specifies that domain counts are statewide aggregates and these sources do not publish district-level rollups, which informs when to use this tool (broad overview) vs. sibling district-specific tools. It does not explicitly state when not to use it or name alternatives, but the context provided is clear.
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?
Beyond annotations (readOnlyHint, openWorldHint), the description discloses fuzzy matching for entity resolution and emphasizes correlation-only results, adding valuable behavioral context.
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 purpose, no redundancy. Every word contributes meaning.
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 covers inputs and analysis nature but lacks output structure hint. Given missing output schema, some output description would help complete the picture.
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 adequate descriptions, and the tool description adds no additional parameter-level meaning beyond implying state and district context.
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 cross-references state energy profile with lobbying, committee membership, contributions, and votes, and distinguishes from sibling tools by focusing on energy policy and specific data sources.
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 (analyze energy policy influence) and provides a caveat about correlation vs causation, but lacks explicit when-not-to-use or alternative tools guidance.
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 already indicate readOnlyHint and openWorldHint. The description adds multi-step behavioral details (SIC mapping, lobbying check, committee overlap, votes) that go beyond 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?
The description is a single dense sentence covering the entire process efficiently. No wasted words, but it 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?
No output schema exists, and the description does not mention what the tool returns. For a complex analysis, describing the output 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 description coverage is 100%. The description does not add parameter details beyond the schema, but it implies stateCode and districtNumber identify the district. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool cross-references EPA violations with lobbying and campaign finance, listing specific steps. This distinguishes it from sibling tools like analyze_energy_policy_influence or get_district_environmental_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 environmental influence analysis but does not explicitly state when to use this tool over alternatives or provide exclusion criteria. Given many sibling influence analysis tools, more guidance would help.
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 valuable context by listing the specific categories of data included (regulatory actions, lobbying, campaign contributions, committee jurisdiction) and the mapping function. This goes beyond what annotations provide, though it does not detail output format or potential 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 consists of two short, clear sentences. The first sentence enumerates the data types covered, and the second explains the mapping function. There is no redundancy or extraneous information; every sentence 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 tool has 2 parameters (one optional), no output schema, but annotations for safety, the description adequately explains what the tool returns (regulatory actions, lobbying, etc.) and its purpose. However, it does not specify the output format or structure, which could help the agent set expectations. Still, the core information is present.
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 having descriptions in the schema. The description mentions 'given industry sector' but does not add further meaning beyond the schema's examples (e.g., Health, Energy). The optional stateCode parameter is not elaborated in the description. Baseline 3 is appropriate as the schema already documents the parameters sufficiently.
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 analyzes the regulatory landscape for a given industry sector, listing specific data types (regulatory actions from EPA/FDA/NHTSA, lobbying, campaign contributions, committee jurisdiction) and noting it maps sector to agencies and oversight committees. This distinguishes it from sibling tools that focus on specific policy areas or single data sources.
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 the tool is for obtaining a comprehensive regulatory overview of a sector, but it does not explicitly state when to use this tool versus more specialized sibling tools (e.g., analyze_energy_policy_influence) or provide any alternative suggestions. Usage context is present but no exclusions or guidance on alternatives.
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 declare readOnlyHint and openWorldHint. The description adds behavioral context by revealing that the tool uses a 'policy-area-map' as a cross-domain join hub, and lists the types of related entities returned. 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, no wasted words. Front-loaded with the core purpose, then additional structure detail. Each sentence 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 simple parameter and no output schema, the description sufficiently explains what the tool returns and how it works. Annotations provide safety cues. Complete for its scope.
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?
There is only one parameter, fully documented in the schema with examples. The description does not add additional meaning beyond the schema, but the 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 tool's purpose: analyzing a Congress.gov policy area to find related agencies, industry sectors, lobbying activity, committee oversight, and Federal Register keywords. It distinguishes from sibling tools by being generic, while siblings focus on specific domains like consumer protection or 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?
The description implies use when exploring a policy area's ecosystem, and the sibling list shows many domain-specific tools, indicating this is the general option. However, it doesn't explicitly state when not to use it or provide 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.
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 declare readOnlyHint=true and openWorldHint=true, so the description adds value by specifying the model outputs (independence score, SHAP factors, notable deviations) and the ML-based nature. 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 that efficiently conveys the tool's purpose and outputs. No unnecessary words or structure issues.
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 one parameter, no output schema, and good annotations, the description adequately explains what the tool returns. However, it does not elaborate on what 'notable deviations' means, leaving some ambiguity.
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 the single parameter 'bioguideId', so the description does not need to add more detail about it. It correctly focuses on explaining the output rather than repeating the parameter description.
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 and lists specific outputs (independence score, SHAP factors, notable deviations). This distinguishes it from sibling tools like 'get_vote_record' or 'analyze_consumer_protection_influence' by focusing on predictive modeling.
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 alternatives, nor does it mention prerequisites or exclusions. Siblings like 'get_vote_record' and 'analyze_energy_policy_influence' could serve different purposes, but no differentiation is given.
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 declare readOnlyHint=true and openWorldHint=true. The description adds that it returns profiles, which is consistent with read-only behavior. No additional traits are disclosed, but the annotations carry the burden sufficiently, resulting in an adequate score.
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 with no wasted words. It is front-loaded with the core action and directly states the return value, making it efficient 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 only one parameter, good schema coverage, and annotations present, the description covers the essential context. It does not explain the 'side-by-side' format or mention the array constraints, but these are in the schema. The return value is stated, so no output schema 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 a description for the single parameter. The description restates the parameter purpose without adding new details such as constraints (minItems, maxItems) or formatting. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'compare', the resource 'legislators', and the action 'side-by-side', which distinguishes it from single-legislator tools like get_representative_profile. The purpose is specific and unambiguous.
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 is provided on when to use this tool versus alternatives. For example, it does not mention that for a single legislator, get_representative_profile might be more appropriate. The agent must infer usage from the tool name and sibling list.
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 provide readOnlyHint=true (safe read) and openWorldHint=true (results may vary). Description adds that it returns sponsor, cosponsors, etc., but does not disclose rate limits, data freshness, or whether all bills are covered. With annotations handling the safety profile, the description adds modest value.
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 packed with relevant content, no filler, front-loaded with verb and resource.
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 one parameter, excellent schema, and annotations present, the description lists key fields returned. However, without an output schema, the description could more fully hint at the return structure (e.g., that it's a JSON object). Still, it's adequate for an agent to understand the tool's purpose.
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 single parameter billId that has a clear format description. The description does not add meaning beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Get detailed information' and identifies the resource as 'a specific bill' with listed fields (sponsor, cosponsors, committees, actions, policy area). This clearly distinguishes it from sibling tools like search_legislation which find bills rather than retrieve 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?
Description implies use when you already know a specific bill ID and want full details, but it does not explicitly state when not to use it or mention alternatives like search_legislation for finding bills. No guidance on prerequisites or context.
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 indicate readOnlyHint=true and openWorldHint=true, which the description's 'Get' aligns with. The description adds transparency about the data scope (total raised/spent, PAC, industry breakdown) 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?
A single, well-structured sentence that front- loads the verb and resource. Every word adds value with no redundant or 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?
Without an output schema, the description adequately hints at the return format by listing included data types. The tool has only 2 parameters and is straightforward, so this level of detail is sufficient.
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 both parameters (bioguideId, cycle) are fully described in the schema. The description does not add extra meaning beyond the schema's parameter descriptions, meeting the baseline for a 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 tool retrieves FEC campaign finance data for a legislator, specifying included data like total raised/spent, PAC contributions, and industry breakdown. This distinguishes it from sibling tools that analyze influence or other topics.
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 fetching raw campaign finance data but provides no explicit when-to-use or alternatives guidance. Given many analysis siblings, a note about when to prefer this over analyze_* tools would strengthen it.
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 normalsARead-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?
Adds requirement for NOAA_TOKEN beyond annotations (readOnlyHint, openWorldHint). Discloses data source (NOAA) and period (30-year normals). 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, first defines purpose and data, second specifies authentication. Efficient and front-loaded, though could be more structured.
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 1-parameter tool with schema coverage 100% and no output schema, description adequately specifies input, data returned, and auth requirement. Missing details on output format or pagination, but sufficient for basic 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 coverage is 100% with parameter description 'Two-letter state code (e.g., CO)'. Description adds no new semantic meaning beyond schema, earning 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 verb 'get' and resource 'NOAA climate normals', listing specific data fields (average temperature, min/max, precipitation, snowfall) and period (30-year normal). Differentiates from siblings by specifying NOAA source and data types.
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_state_climate_profile. Does not mention prerequisites beyond auth token, nor when not to use.
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=true and openWorldHint=true. Description adds no additional behavioral context beyond purpose. It does not disclose any special constraints or side effects, but annotations cover reading safety.
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-loads the action and resource, includes key outputs. 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?
For a simple retrieval tool with one parameter and no output schema, describing members, jurisdiction, and subcommittees is sufficient. Could mention that committeeId format is required but schema already provides example.
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 the single parameter with a clear description and example. Description does not enhance parameter semantics beyond listing returned fields.
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?
Specific verb 'Get' and resource 'congressional committee' clearly indicate purpose. Lists contents (members, jurisdiction, subcommittees) and distinguishes from siblings which focus on analysis or other entities.
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 use when committee details are needed but provides no explicit usage context, prerequisites, or exclusions. With many sibling tools, lack of when-not-to-use guidance is a gap.
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 indicate readOnlyHint=true and openWorldHint=true, establishing safety and potential external data sourcing. The description adds value by detailing the specific data categories (institutions, deposits, failures, committee membership) and implies no side effects, aligning with 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, well-structured sentence that front-loads the primary purpose ('Banking landscape for a congressional district') and then lists components. No redundant or unnecessary 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?
Without an output schema, the description adequately outlines the tool's return content: FDIC institutions, deposits/assets, failures, and committee membership. It covers the key areas a user would expect from a district banking profile. Minor gap: no mention of data format or pagination, but acceptable for a profile 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 stateCode and districtNumber having clear descriptions. The description adds no new information about parameters beyond what the schema provides; the phrase 'for a congressional district' already echoes 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 explicitly states the tool's function: 'Banking landscape for a congressional district' and lists specific data elements (FDIC-insured institutions, total deposits/assets, recent bank failures, committee membership). This clearly distinguishes it from sibling tools like get_district_consumer_complaints or get_district_disaster_history.
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 guidance on when to use this tool versus alternatives. For example, sibling tools like search_fdic_institutions might also provide banking data but are not mentioned. No when-not-to-use or context for selection is given.
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 context about ZIP-district mapping and the summary nature (top complained-about entities), 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?
Two sentences front-load the purpose and key output. No wasted words; every sentence 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 simplicity of the tool (no output schema), the description adequately explains what the result contains (top complaints by company, product, issue). No further details 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?
With 100% schema coverage, the baseline is 3. The description adds meaning by explaining the output (top companies, products, issues) but does not elaborate on parameters themselves, which are standard and self-explanatory.
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 aggregates consumer complaints by congressional district and shows top companies, products, and issues. It distinguishes itself from siblings like search_consumer_complaints (individual complaints) and get_district_* profiles (other topics).
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 when needing aggregated complaint data for a district but does not explicitly state when to use this versus alternatives, nor provide when-not 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_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 already declare readOnlyHint and openWorldHint. Description adds context about the included data types (FEMA declarations, hazard types, assistance amounts) and external cross-reference (USASpending), though it does not disclose data freshness or limitations.
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 key information, no redundant phrasing. Every sentence 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 no output schema, description adequately covers return content (FEMA declarations, hazard types, assistance, USASpending cross-reference). Missing details like pagination or date range format, but sufficient for basic understanding.
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. Description does not add extra meaning beyond the schema's parameter descriptions; it focuses on describing the output instead.
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 disaster history for a congressional district, listing specific data elements (FEMA declarations, hazard types, assistance amounts) and cross-references with USASpending. It distinguishes from siblings like search_fema_disasters by focusing on district-level aggregation.
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 when district-level disaster history is needed but does not explicitly state when to use this tool over alternatives (e.g., search_fema_disasters) 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_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 indicate readOnlyHint and openWorldHint, so the tool is safe and data is from external sources. The description adds valuable context on the type of data returned (colleges, committee membership, policy context), which informs agent expectations 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 efficiently conveys all key aspects of the tool's output. No redundant or filler content. Well-structured and 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?
Despite no output schema, the description thoroughly explains the returned data: colleges/universities with outcomes, committee membership, and policy context. For a profile tool with only 2 simple parameters, this is sufficient for an agent to understand the tool's value.
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% coverage with clear descriptions for stateCode and districtNumber. The description does not add additional parameter-level semantics beyond what 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?
Description clearly identifies the tool's purpose: returning higher education landscape for a congressional district, including colleges/universities with outcomes data, committee membership, and policy context. It is specific and distinguishes from sibling tools like get_district_healthcare_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?
No explicit guidance on when to use this tool versus alternatives like get_district_comprehensive or analyze_policy_area_ecosystem. Usage is implied by the name and description, but no when-not-to-use or alternative suggestions.
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 and toxic releases, all scoped to the district by county FIPS. Superfund sites are returned STATEWIDE, not per district, because the EPA layer serving them carries no county FIPS. 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, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: the material Superfund caveat (statewide returns because the EPA layer lacks county FIPS) is a significant non-obvious data-scoping behavior that an agent must know. The 'includes serving representative' note also adds useful context about response contents. The readOnlyHint aligns with the read-like nature described.
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?
Three sentences covering purpose, key exception, and contents. The first sentence front-loads the core purpose with specific scope, the second flags the critical Superfund behavioral caveat, and the third notes the representative inclusion. No wasted words, though the terse style could be slightly more structured. Efficient and information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only profile tool with 100% schema coverage, clear purpose, and important behavioral caveats disclosed, the description is reasonably complete. It covers what data is returned, the scoping mechanism, the key exception (Superfund statewide), and the representative field. No output schema exists, so it can't lean on that, but the contents list partially compensates. Minor gaps: no mention of pagination, data freshness, or unit scales for toxic releases, but these are not critical for a profile 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 both parameters (stateCode and districtNumber) well-described in the input schema. The description adds the county-FIPS scoping detail that ties to the parameters conceptually but doesn't add syntax or format guidance beyond the schema. Baseline 3 is appropriate since the schema handles parameter documentation adequately and the description's FIPS mention adds some, but limited, additional 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 states a specific verb+resource ('Environmental profile for a congressional district') with clear scope delineation: regulated facilities, active violations, toxic releases, scoped by county FIPS. It distinguishes itself from sibling district-profile tools by specifying the environmental domain and clearly separates it from other get_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?
The description gives implicit usage context: this tool returns district-scoped environmental data. It clarifies the important exception that Superfund sites are returned statewide rather than per district, which is a key behavioral distinction. It doesn't explicitly name alternatives (e.g., search_epa_facilities for raw facility queries), but the statewide caveat provides meaningful guidance about scope expectations.
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 declare readOnlyHint=true and openWorldHint=true. The description adds context about returned data elements but discloses no additional behavioral traits beyond what annotations provide. 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?
One sentence packs key purpose and deliverables. No redundant information. Front-loaded with core 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 simple parameters and read-only annotations, the description sufficiently outlines return content (hospitals, nursing homes, quality ratings, committee membership, legislation). Since no output schema exists, the description provides necessary output context.
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 does not add meaning beyond the schema. 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 healthcare infrastructure data for a congressional district, listing specific components (hospitals, nursing homes, quality ratings, committee membership, legislation). It differentiates from sibling tools like get_district_banking_profile and search_healthcare_providers.
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 when needing district-specific healthcare infrastructure, but lacks explicit guidance on when not to use or comparisons with alternatives like search_healthcare_providers. No direct mention of exclusions or preferences.
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 declare readOnlyHint=true and openWorldHint=true. The description adds specific behavioral context by listing the data components (rents, income limits, committee membership, policy context), which tells the agent what to expect from the result 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 a single sentence that is clear and front-loaded with the main purpose. However, it is somewhat long and packs multiple items, which could be better structured into bullet points or separate sentences for readability.
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. The description provides a high-level summary of output contents but lacks detail on exact fields, data format, pagination, or error handling. For a read-only tool with open world hint, this is adequate but could be more 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% for both parameters (stateCode and districtNumber) with clear descriptions. The tool description does not add additional parameter-level meaning 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?
Description clearly states the tool provides a housing affordability profile for a congressional district, specifying data types: HUD rents, income limits, committee membership, policy context. This clearly distinguishes from sibling district-specific 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 vs alternatives like get_housing_affordability or other district profiles. Usage is implied but not stated; agent must infer from the description's focus on district-level data.
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=true and openWorldHint=true. Description adds context by specifying the type of data returned (demographics, economics, representative), which is consistent and provides 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 with verb and resource, no redundancy. Every word contributes 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?
For a simple, read-only info retrieval tool with 2 required parameters and no output schema, the description sufficiently covers purpose and scope. Could mention that it returns a full district profile, but not necessary given context.
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 clear descriptions for both parameters (stateCode and districtNumber). The description adds no additional meaning beyond the schema, meeting baseline expectations.
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 'Get' and resource 'comprehensive information about a congressional district', listing categories (demographics, economics, representative). Clearly distinguishes from sibling tools which focus on specific profiles (e.g., get_district_education_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?
Implies general use for district overview, but no explicit guidance on when to use this versus the many district-specific sibling tools. No exclusions or alternatives mentioned.
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 declare readOnlyHint and openWorldHint. Description adds no new behavioral details beyond content enumeration. Does not contradict annotations, but does not exceed them.
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 concisely conveys purpose and scope without waste. Could benefit from more structured listing of components, but still 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?
Lists all key components of the research profile (grants, institutions, topics, amounts, committee membership), compensating for lack of output schema. Sufficiently complete for a district profile query.
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 descriptions for both parameters (stateCode, districtNumber). Description adds no additional parameter meaning beyond what schema provides, meeting baseline.
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 provides specific verb 'get' and clear resource 'research profile', explicitly listing components (NIH-funded grants, top institutions, topics, award amounts, committee membership), which distinguishes it from sibling tools like search_nih_grants or get_district_healthcare_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?
Description lacks any guidance on when to use this tool versus alternatives such as search_nih_grants (for detailed grant search) or get_district_healthcare_profile (broader health data). No when-not or exclusion criteria provided.
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 and openWorldHint, so the description adds value by specifying the exact data fields returned (total public debt outstanding, held by public vs intragovernmental, record date). This transparency goes beyond the annotations, though it doesn't discuss latency or frequency of updates.
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 key function and data elements. Every word contributes to clarity, with 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?
For a simple, no-parameter tool with annotations covering safety and open-world assumptions, the description provides sufficient context. It explains what the tool returns and its relevance. However, it lacks details on return format (e.g., JSON structure) or any caveats about data recency, which would be beneficial.
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?
There are no parameters, and schema coverage is 100% (no properties). With zero parameters, the baseline is 4. The description does not need to add parameter information, and it appropriately focuses on the output.
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 current federal debt with specific breakdowns (total, held by public vs intragovernmental, record date), which is distinct from siblings like get_federal_spending or get_federal_fiscal_data. The specific verb 'get' and resource 'federal debt context' with listed components leaves no ambiguity.
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 includes 'Useful for fiscal policy discussions,' which implies a context for use, but does not specify when not to use this tool or mention alternatives. It provides basic guidance but lacks explicit exclusion criteria or comparison to siblings.
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, covering safety and variability. The description adds that it returns current figures and fiscal year totals, but does not elaborate on data freshness, constraints, or potential delays. It adds marginal value 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 a single sentence of 18 words, immediately stating the source and scope. It is front-loaded with 'Federal fiscal overview from Treasury' and conveys all key elements 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?
Given the tool has one optional parameter, no output schema, and annotations providing safety and variability hints, the description covers the returned data types (national debt, revenue, spending) adequately. However, it lacks specifics on output format or detailed categories, and could improve with a note on how the year parameter affects 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 coverage is 100% with the 'year' parameter already described in the schema. The description does not add extra meaning about the parameter beyond what the schema provides, so it meets the baseline for a tool with high 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 clearly states the tool provides a federal fiscal overview from the Treasury, covering national debt, monthly revenue by category, and spending by category, with current figures and fiscal year totals. This differentiates it from sibling tools like get_federal_debt_context (focused on debt) and get_federal_spending (focused on spending), making the purpose 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 implies the tool is for a broad fiscal overview but does not explicitly state when to use it versus alternatives like get_federal_spending or get_federal_debt_context. No guidance on when not to use it or prerequisites, leaving inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_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 declare readOnlyHint=true and openWorldHint=true, indicating no side effects and external data retrieval. The description adds behavioral context by specifying the types of documents searched (rules, proposed rules, notices, executive orders). It does not cover pagination or rate limits, but the annotations already address safety aspects.
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 covers the core purpose and document types. It is front-loaded and contains no extraneous information, earning its place efficiently.
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 parameter count (4) and lack of output schema, the description adequately conveys the tool's purpose and the types of documents it retrieves. With annotations providing openWorldHint, the external data source is implied. A brief mention of result format would have been beneficial but is not essential given the schema's detailed parameter descriptions.
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 four parameters (type, limit, query, agency) having descriptions. The description does not add meaning beyond what the schema provides; it merely restates document types that are already captured by the enum. Per the rules, baseline is 3 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 title 'Federal Register search' and description clearly state the verb 'Search' and the resource 'Federal Register', and list specific document types (rules, proposed rules, notices, executive orders). This distinguishes it from sibling tools, which are analytical or retrieve other specific 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 explicitly state when to use this tool versus alternatives. It implies usage for searching Federal Register documents but provides no exclusions or context about when not to use it. However, the sibling tools are all different in nature, making the use case somewhat obvious.
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?
Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds context about the data source and type of data (contracts and grants), but does not disclose additional behavioral traits such as pagination, rate limits, or error scenarios.
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 with no wasted words. It is front-loaded with the key action and resource.
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 two parameters, good annotations, and no output schema, the description adequately explains what the tool returns (contracts and grants) and its source. It could optionally mention the expected output format but 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%, so the schema already documents both parameters. The description does not add any extra meaning or format details beyond what is 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?
The description clearly states the verb 'Get', the resource 'federal contracts and grants', the scope 'for a congressional district', and the data source 'from USASpending.gov'. This distinguishes it from sibling tools like get_climate_data or get_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 guidance is provided on when to use this tool versus alternatives. There is no mention of when-not to use it or which sibling might be more appropriate for related queries.
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, so the safety profile is covered. The description adds valuable detail about the returned data (rental rates, income thresholds) and the data source (HUD), 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?
Two sentences, front-loaded with the main action, no extraneous words. Every sentence adds value by specifying the data source and output structure.
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 single parameter and lack of output schema, the description fully explains what the tool returns and how to use it. The sibling tools are unrelated, so the context is complete and sufficient for agent decision-making.
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 the parameter description in the schema is already detailed. The main description adds context about the tool's purpose but does not provide additional semantics for the countyFips parameter beyond what the schema offers.
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, specifying the output includes rental rates per bedroom count and income thresholds. It is distinct from sibling tools which focus on political and other non-housing 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 obtaining housing affordability data by county FIPS. While it does not explicitly state when not to use or mention alternatives, the context is clear and sibling tools are in different domains, so no confusion arises.
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?
The description aligns with annotations (readOnlyHint=true, openWorldHint=true) by describing a read-only 'trace' operation. It adds context about the flow from 'lobbying org to legislative outcome', which is beyond what annotations provide. 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 concise sentences with no wasted words. The first sentence front-loads the verb and key elements. Every sentence 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 simple parameter set, good annotations, and no output schema, the description is nearly complete. It could optionally mention that the output is a path or graph, but the existing text sufficiently describes the tool's purpose.
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 does not need to add parameter details. The description uses the parameter implicitly but does not explain how to obtain 'bioguideId' or its format. 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 a specific verb ('Trace') and resource ('lobbying money... for a legislator'). It distinguishes from siblings like 'analyze_consumer_protection_influence' by focusing on the chain from contributions to votes, making the tool's unique value evident.
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 the tool (to trace the lobbying influence path for a legislator) but does not explicitly state when not to use it or mention alternatives. It implies usage for individual-level tracing, which is adequate.
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 provide readOnlyHint and openWorldHint, indicating safe read behavior. The description adds value by specifying the scope of the response (profile data). No contradictions; behavioral traits are well-covered.
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 with no filler, directly states purpose and included data. Highly concise and 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?
For a simple tool with one parameter and good annotations, the description is complete enough. It lists the categories of returned data, compensating for the absence of an output schema. No major 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?
Only one parameter (bioguideId) with full schema coverage (100%). The description does not add extra meaning beyond the schema, but given high coverage, the baseline of 3 is exceeded by the clarity of the parameter's role.
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 a detailed profile for a specific legislator, listing included data types (committees, social media, biography, contact info). However, it does not differentiate from sibling tool 'lookup_representatives', which may have overlapping functionality.
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 'lookup_representatives' or 'compare_legislators'. The description does not specify prerequisites or context, leaving the agent to infer based on the tool name alone.
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?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds value by specifying the data sources (NOAA, severe weather events, committee membership) and the composite nature, which goes 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 a single sentence that is front-loaded with the main purpose. It is concise but could be slightly more structured by listing components separately.
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 2 parameters, no output schema, and no nested objects, the description adequately covers the data categories. However, it does not mention output format or limitations, but the complexity is low, so it is reasonably 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 descriptions for both parameters. The description adds a default for 'year' (last year) not present in the schema, and clarifies that 'year' is for severe weather events, enhancing semantic understanding.
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 climate profile including NOAA normals, severe weather history, and committee membership. It distinguishes itself from sibling tools like get_state_energy_profile and get_climate_data by specifying the composite nature.
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 comprehensive climate profile but does not explicitly state when to use this tool instead of alternatives like get_climate_data or get_district_disaster_history. No when-not or 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_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=true and openWorldHint=true, so the description does not need to repeat safety. It adds context about the data source (EIA) and specific data fields, but does not disclose behavioral traits such as response format, pagination, 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?
Two sentences, no wasted wording. Front-loaded with source and purpose, then lists contents and returns. Efficient and clear.
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 read-only tool with one parameter and no output schema, the description provides a good overview. It could mention the likely JSON output format or include an example, but it is adequate for an agent to understand what to expect.
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% (one parameter with clear description). The tool description adds no additional meaning beyond what the schema already provides for the 'state' parameter.
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 provides a state energy profile from the EIA, listing specific data categories (total consumption, production, electricity generation, renewable percentage, top energy sources). It clearly distinguishes from sibling tools like get_state_climate_profile by focusing on energy metrics.
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 state energy data but does not explicitly state when to use this tool versus alternatives. No when-not or exclusion criteria are provided, although the context of sibling tools suggests it is the primary tool for energy profiles.
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, covering the main behavioral aspects. The description adds valuable context on what the tool returns (crime trends, committee memberships, policy context), which is 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 a single sentence listing three categories of data, which is concise and clear. However, it could be slightly more structured by separating the categories or front-loading the core 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?
Without an output schema, the description should explain return format, but it only lists data types. The yearsBack parameter is not mentioned in the description, leaving a gap for the agent. The description is adequate but not 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 baseline is 3. The description does not add additional meaning beyond the schema; it describes tool output but not parameters. The yearsBack parameter is not referenced in the description.
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 'State crime trends with national comparison, Judiciary committee memberships... and relevant policy area context for criminal justice legislation.' This is a specific verb+resource combination that distinguishes it from sibling tools like get_state_climate_profile or get_state_energy_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 criminal justice legislation context but does not explicitly state when to use this tool versus alternatives like search_crime_statistics or other state profiles. No when-not-to-use or exclusions are mentioned.
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 tool's read-only nature is implied by 'Get details' and is consistent with the readOnlyHint annotation. The description adds transparency by specifying that it covers 'all member positions' and that only House votes are available, which goes 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 very concise, consisting of two short sentences. The first sentence conveys the core purpose, and the second provides a critical constraint. 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?
Given the fully described input schema and annotations, the description covers the tool's primary purpose and a key constraint (House-only). It does not detail the output format, but no output schema exists, and the description does mention 'all member positions' as part of the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any parameter-specific guidance beyond what is already in the schema's property 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 a specific verb 'Get' and identifies the resource as 'House roll call vote including all member positions.' It clearly states the tool's scope, but does not explicitly differentiate it from sibling tools like 'get_voting_history'.
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 includes a note that 'only House votes are available via this tool,' which implies not to use it for Senate votes. However, it does not mention when to use this tool versus alternatives such as 'get_voting_history' or other analysis tools.
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 indicate readOnlyHint and openWorldHint. Description adds that it returns 'recent' data but does not define recency, order, or pagination behavior. Adds modest 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-loads the core purpose and return fields. 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?
With 3 parameters, no output schema, and missing details like default limit and ordering, the description is adequate but not comprehensive. It explains return fields but omits recency scope and sorting.
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 all 3 parameters. Description does not add additional semantics beyond what 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?
Description clearly states the tool returns a legislator's recent voting record, listing specific entities (vote ID, bill info, position, result, date). This provides a specific verb-resource combination that distinguishes it from siblings like 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?
No guidance on when to use this tool over siblings like get_vote_record. The description lacks context for selection criteria or exclusions.
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 declare readOnlyHint=true and openWorldHint=true, so the safety profile is clear. The description adds minimal behavioral context by specifying the return includes both senators and House representatives, but does not discuss potential limitations (e.g., current vs. historical, territories). Overall, it complements annotations but does not significantly expand upon them.
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 with no extraneous words. It efficiently conveys the tool's purpose and scope, earning its place with zero 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?
Given the tool's simplicity (1 parameter, no output schema, clear annotations), the description provides the essential information. It identifies the resource and scope (federal legislators for a state, both chambers). However, it could be slightly more complete by hinting at the output fields (e.g., name, party) or structure, but this is not critical for a basic list operation.
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 the single parameter 'state', which already describes its meaning ('Two-letter state code (e.g., MI)'). The description does not add any additional parameter context, so it meets the baseline for high schema coverage without providing extra value.
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 ('List') and clearly identifies the resource ('federal legislators for a state') and scope ('both senators and all House representatives'). It effectively distinguishes this tool from siblings like 'lookup_representatives' or 'get_representative_profile' by its comprehensive listing 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 obtaining a complete delegation list but does not explicitly state when to use this tool versus alternatives like 'lookup_representatives' or 'get_representative_profile'. No exclusions or prerequisites are mentioned, leaving the agent to infer context from sibling names.
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=true and openWorldHint=true, so the description's behavioral disclosure is additive. It mentions the use of Census Geocoder for district resolution, which is useful context, but lacks details on error handling 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?
Two concise sentences that front-load the purpose and efficiently cover key information without redundancy. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (4 params, no output schema), the description adequately explains the geocoding process and return fields. However, it omits details on handling invalid addresses or partial lookups, but overall is complete for common 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 description coverage is 100%, so the schema already documents all parameters. The description adds no new parameter meaning beyond what is in the schema, maintaining the baseline 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 tool finds federal legislators by full street address or state, and specifies the return fields. It distinguishes between accuracy levels but does not explicitly differentiate from sibling tools like get_representative_profile or list_state_delegation.
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 address-based lookups and notes that a full address is most accurate, but provides no explicit guidance on when not to use it or alternatives. Agents may benefit from knowing when to prefer this over get_representative_profile.
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 read-only and open-world (pagination). Description adds the specific return fields but does not clarify sorting, pagination behavior, or how to handle large result sets. Adequate but not enhanced 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 with front-loaded action and data source. No redundant words. Each sentence adds 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?
With full schema coverage, read-only/open-world annotations, and no output schema, the description covers purpose and return fields well. Could mention pagination or default sort to be fully 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 covers 100% of parameters with descriptions. Description adds no extra meaning beyond restating 'by state and/or name'. 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?
Clearly states it searches the College Scorecard database by state and/or name, and lists the specific data fields returned. Distinct from sibling tools which focus 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?
Implies use for college searches by state/name but does not explicitly state when to use vs alternatives or exclude cases. No guidance on optional parameters or result handling.
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 searchARead-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, so the description adds minimal behavioral context; it only notes return fields without disclosing pagination, rate limits, 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 concise sentences front-load the purpose and return details, with no extraneous 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?
The description covers key filter and return aspects, but lacks information on default behavior when no filters are provided and does not mention pagination despite the size parameter.
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 provides 100% description coverage for all 6 parameters, and the tool description merely summarizes filter types without adding new semantic meaning, 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?
The description clearly states the tool searches CFPB consumer complaints and lists specific filter fields (company, product, state, date range) and return fields (issue, response, timeliness), distinguishing it from sibling analysis tools or other search 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?
The description implies usage for raw complaint search via listed filters, but does not explicitly state when to use this tool versus sibling search or analysis tools, nor does it mention alternatives or exclusion criteria.
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=true and openWorldHint=true. The description adds valuable behavioral context by detailing return fields (counts, rates, clearances, national comparison) and listing offense types, which helps the agent understand what the tool provides 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 concise with two sentences. The first sentence clearly states the purpose and return fields; the second lists offense types. It is front-loaded and efficient, though the status of offense type as a parameter could be clarified.
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 (2 parameters, no output schema), the description explains returns and lists offense types, but fails to clarify how to query a specific offense type or that all offense types are returned by default. This gap reduces 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 coverage is 100% for state and year, so baseline is 3. However, the description mentions filtering by 'offense type' and lists offense codes, but the schema does not include an offense type parameter. This introduces ambiguity about how to specify offense type, reducing clarity.
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 searches FBI UCR crime statistics by state and offense type, and lists return fields (counts, rates, clearances, national comparison). It uniquely identifies the tool's function among siblings, as no other tool addresses 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 provides clear context for when to use the tool (to get crime statistics by state and offense type) but does not explicitly state when not to use it or mention alternatives. Since there are no sibling crime tools, this omission is acceptable.
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=true and openWorldHint=true. The description adds that it returns specific fields (name, address, compliance status, etc.), but does not disclose behavioral traits like pagination or rate limits 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, front-loading the purpose and listing return values. Every sentence is useful, 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 4 parameters, no output schema, and good annotations, the description adequately covers the tool's purpose and output. It explains return fields but could briefly note that results are a list with pagination hinted by the limit parameter.
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 each parameter. The description mentions state, ZIP, and SIC code but not limit, adding minimal extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Search') and resource ('EPA-regulated facilities') and lists search criteria (state, ZIP, SIC code), clearly distinguishing it from sibling tools like search_fdic_institutions 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 by stating what it searches, but it does not provide explicit guidance on when to use this tool vs alternatives, nor does it mention 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_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, so the agent knows it's a safe read operation. The description adds the specific return fields (assets, deposits, etc.). However, it does not disclose behavior such as handling of empty results, rate limits, or authentication needs. With annotations covering the safety profile, the description is adequate but not rich.
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: one for the action and filters, one for the return fields. No redundant information; each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (search with optional filters), the description lists the key return fields and constraints (state code length). Annotations provide readOnly and openWorld hints. No output schema, but the description covers the output. Missing details on pagination beyond limit, but it is adequate for most 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% with descriptions for all four parameters. The description restates the search criteria but does not add significant meaning beyond the schema (e.g., partial match behavior or default limit). The description mentions return fields, which are not parameters. 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 searches FDIC-insured banks/financial institutions by state, name, or city, and lists the returned fields (total assets, deposits, etc.). This distinguishes it from sibling tools which cover different 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 provides clear context on what to use the tool for (searching FDIC institutions) but does not explicitly state when not to use it or mention alternatives. The sibling tools are in different domains, so confusion is unlikely, but guidance on exclusions is absent.
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 confirm read-only and open-world behavior, so the description's job is to add context. It does so by specifying the returned data (declaration number, dates, programs, designated areas). This is helpful beyond annotations, though it omits details like pagination or error handling.
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 wasted words: the first explains the search capability and filters, the second lists return fields. Information is 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 the tool's complexity (4 params, no output schema), the description covers the purpose, filters, and return fields. It lacks details on pagination, ordering, or empty results, but the schema's limit parameter and annotations help fill 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 the schema already documents each parameter. The description restates the enum meanings but adds no new information beyond what's in the schema. Thus, it provides minimal added value per 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 states the verb 'Search' and the resource 'FEMA disaster declarations', and specifies the filtering criteria (state, year, type). It also lists the return fields, making the purpose unambiguous and distinct from sibling tools like 'get_district_disaster_history' which focuses on a district rather than state-level declarations.
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 but does not provide explicit guidance on when to use it versus alternatives, nor does it mention when not to use it. The context is clear for an agent to infer usage, but no exclusions or alternative tool references are given.
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 indicate readOnlyHint true and openWorldHint true, so the tool is safe and potentially large result sets. The description adds context by detailing the returned information (star ratings, safety comparisons for hospitals, staffing ratings for nursing homes), complementing the annotations well.
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 action and scope. Every sentence adds value: the first defines the tool, the second specifies return data. 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?
Given the tool has no output schema but the description lists the key return fields, and annotations cover safety and open-world hints, the description is complete enough for an agent to understand what to expect. Parameters are fully documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are fully described in the schema (100% coverage). The description mentions 'by state' and implies provider types (hospital vs nursing home), but adds no new syntactic or semantic details beyond what the schema provides. 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 'Search CMS hospitals and nursing homes by state with quality ratings', specifying both the verb and resource. It distinguishes itself from sibling tools like 'search_colleges' by focusing on healthcare providers and listing specific return 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 implies usage for querying healthcare providers by state, and no sibling tool performs similar searches, so context is clear. However, it does not explicitly state when not to use or provide alternatives.
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 declare readOnlyHint and openWorldHint, which are consistent. The description adds that results include a congress-type-number id usable with get_bill_details, and that without query it returns recently updated bills. This provides useful behavioral 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 packed with essential information. No wasted words. Front-loaded with main purpose and immediately explains both modes of operation. Efficient and well-structured.
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 (two modes, optional parameters, no output schema), the description covers the key aspects: how to search, what results contain, and how to use them with a related tool. It is complete enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with 100% description coverage. Description adds meaning by explaining that 'query' triggers full-text search and omission lists recent bills, and that the id from results can be used for cross-referencing. This enriches the semantics beyond schema 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?
Description clearly states verb 'Search' and resource 'bills in Congress'. It distinguishes itself from sibling tool get_bill_details by noting the output includes an id that can be passed to that tool. The purpose is specific and unambiguous.
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 clear guidance on when to provide 'query' (for full-text search) and when to omit it (to get most recent bills). Mentions optional filtering by type. Could explicitly contrast with other search tools but the context of sibling tools makes the domain clear, so it's adequate.
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 from the complete corpus — every quarterly report (LD-2) in the covered window, not a sample. Returns registrant, client, spending amount, issue codes and the committees each filing touches, plus exact totals. Filter by quarter, by organization, or both. Amounts are plausibility-gated (income <= $5M, expenses <= $50M per filing).
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Filing year. Omit to search every quarter the corpus covers. | |
| limit | No | Rows to return, largest amount first. Default 50. Totals always cover every match. | |
| quarter | No | Quarter (1-4). Requires `year`. | |
| organization | No | Client or registrant name. Matched on a normalized form, so "Pfizer Inc." and "PFIZER, INC." reach the same filings. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true (agent knows it's a read operation) and openWorldHint=true. The description adds valuable behavioral context beyond annotations: the plausibility-gating thresholds ($5M income, $50M expenses), full-corpus vs sample guarantee, and that totals cover every match regardless of limit. These are genuinely behavior-defining details not in 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?
Three dense sentences, zero filler. Every sentence adds distinct information: coverage guarantee, return fields, filter options, plausibility thresholds, normalized matching. Front-loaded with the primary 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?
Completeness is strong for a 4-param search tool: full-cover guarantee, plausibility gating, filtering options, and matching behavior all covered. No output schema exists, but the description lists return contents (registrant, client, spending, issue codes, committees, totals), which compensates. No behavioral gaps identified.
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 schema already documents all 4 params. The description adds meaning beyond schema: clarifies organization matching is on a normalized form with the Pfizer example, explains that totals always cover every match (independent of limit), and confirms quarter requires year. The 'limit only caps rows, not totals' nuance is important and only in the description.
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 verb+resource: 'Search Senate LDA lobbying filings from the complete corpus.' Explicitly notes full coverage ('every quarterly report (LD-2)... not a sample') and lists return contents (registrant, client, spending, issue codes, committees, totals). Distinguishes from analyze_* siblings by being a raw search tool vs analytic 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?
States when to use (search filings by quarter, org, or both) and clarifies it returns raw search results. Doesn't explicitly name alternatives or state when NOT to use it (e.g., vs analyze_policy_area_ecosystem), but the analytic-vs-search distinction is implied by the tool name family and sibling names.
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 declare readOnlyHint and openWorldHint. The description adds no extra behavioral traits beyond what is in annotations (e.g., no mention of pagination, data freshness, or other quirks). 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: first states purpose and filters, second lists returned fields. Extremely concise with no filler, front-loading key information efficiently.
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?
Tool has 4 optional parameters and no output schema. Description covers purpose, input filters, and output fields adequately. However, it omits details like sorting, default limit behavior (though schema mentions default 25), or any restrictions—minor gaps for a complete picture.
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 descriptions are already informative (e.g., state as two-letter code, limit with min/max). The description only lists parameter names without adding deeper semantic meaning or usage tips, 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?
Description clearly states the tool searches NIH-funded research grants, specifying parameters (state, institution, topic) and return fields (project title, PI, award amount, etc.). This distinguishes it from sibling search tools like search_colleges or search_consumer_complaints.
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 searching grants by defined filters but does not provide explicit guidance on when to use this tool versus alternatives, or when not to use it. There are no exclusions or context for selecting this tool among many search tools.
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. The description adds that the return includes injuries, deaths, crashes, fires, and complaint summaries—useful but not revealing new behavioral traits beyond the annotations. No discussion of rate limits, authentication, or result limitations.
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 concisely convey the tool's purpose and return content. Front-loaded with the action and resource, 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 mentions the key return fields (injuries, deaths, crashes, fires, complaint summary), compensating for the lack of an output schema. However, it omits details on pagination, result limits, or how component values should be specified, which would be helpful 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?
The schema covers 100% of parameters with descriptions. The description rephrases 'by make, model, and/or component', matching the schema. It adds no additional meaning beyond what the schema provides, warranting the 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?
The description clearly specifies the verb 'Search', the resource 'NHTSA consumer complaints about vehicles', and the filtering parameters (make, model, component). It distinguishes from sibling tools like 'search_vehicle_recalls' and 'search_consumer_complaints' by focusing on NHTSA vehicle complaints and listing return 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 implies usage for searching NHTSA complaints, but provides no explicit guidance on when to use this tool versus siblings (e.g., 'search_vehicle_recalls', 'search_consumer_complaints'). No alternatives or exclusions are mentioned.
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 declare readOnlyHint and openWorldHint. Description adds return field details but no extra behavioral context (rate limits, auth). Adequate but minimal added value.
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-front-loaded sentence. No wasted words, every element 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?
No output schema, but description covers all return fields (campaign number, component, safety summary, etc.). Simple tool with clear scope and optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters described). Description provides examples (e.g., Ford, Toyota) but does not add meaningfully beyond 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 clearly states 'Search NHTSA vehicle recalls' with specific verb and resource. It lists return fields and distinguishes from sibling 'search_vehicle_complaints'.
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 like search_vehicle_complaints. Lacks when-not or prerequisite conditions.
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!
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server + TypeScript SDK for 36 U.S. government data APIs — 188 tools. Treasury, FRED, Congress, FDA, CDC, FEC, lobbying, and more. Works with VS Code Copilot, Claude Desktop, Cursor.Last updated10067108MIT
- AlicenseAqualityDmaintenanceProvides tools to search and retrieve US federal and state legislative data, including bills, votes, campaign contributions, and legislator information, with provenance tracking.Last updated81MIT
- Alicense-qualityDmaintenanceProvides access to 67 tools for querying Colorado legislative intelligence, including bills, statutes, rules, and campaign finance. It enables AI agents to analyze legislative attribution chains, stakeholder data, and legislator voting records.Last updatedMIT
- AlicenseBqualityBmaintenance38 AI data tools for Claude and any MCP-compatible agent — crypto, DeFi, equities, commodities, energy, real estate, government intelligence, security audits, and more.Last updated45MIT