Grant Search
Server Details
Search U.S. federal grants and EU funding topics; monitor changes and download snapshots.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
Each tool has a distinct responsibility: search, change tracking, coverage metadata, snapshot listing, and snapshot downloading. The only near-pair, grant_snapshot versus grant_snapshots, is clearly separated by singular versus plural semantics.
All tool names consistently use the grant_ prefix followed by a descriptive noun, creating a predictable and uniform pattern. The singular/plural distinction for snapshot and snapshots follows naturally from their respective operations.
Five tools is well-scoped for a grant data retrieval and change-tracking server. Each tool covers a meaningful capability without redundancy or unnecessary bloat.
The tool set covers the core grant-search workflow: searching opportunities, tracking changes over time, inspecting coverage and provenance, and retrieving stored snapshot data. No obvious gaps or dead ends are apparent for the server's stated purpose.
Available Tools
5 toolsgrant_changesAInspect
Find new or changed U.S. federal grants for a maintained scope. Use scope, as_of, window_days, event_limit, and continuation cursor inputs. Receive JSON with events, changed fields, deadline risks, award-value changes, dataset status, evidence URLs, and next_request.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | Yes | ||
| scope | Yes | ||
| cursor | No | start | |
| end_cursor | No | ||
| event_limit | No | ||
| window_days | No | ||
| end_snapshot_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It does disclose expected output facets (deadline risks, award-value changes, dataset status, next_request) and hints at continuation/cursor behavior. However, it does not explain the cursor protocol, end_snapshot_id semantics, ordering, or whether the 'maintained scope' has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two functional sentences with the action front-loaded and no filler. The second sentence is a compact list of output fields; it earns its place because there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, no annotations, no output schema, and sibling tools, the description gives a useful overview but not enough to invoke confidently: cursor/end_cursor/end_snapshot_id semantics are unresolved, and the output JSON field list is not a substitute for structure or pagination rules.
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 0%, so the description must compensate. It names scope, as_of, window_days, event_limit, and 'continuation cursor inputs,' but omits end_snapshot_id and end_cursor and does not explain cursor format or scope meaning beyond the schema's terse 'maintained collection scope.' Some compensation, but not complete.
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 combo: 'Find new or changed U.S. federal grants' for a 'maintained scope,' which is distinct from the sibling search/coverage/snapshot tools. It does not name or contrast those siblings, but the change-detection intent is clear.
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 phrase 'for a maintained scope' and the change-detection framing give clear context for when to call this tool, and the input list implies this is for polling/diff workflows. It stops short of explicit when-not-to-use guidance or naming grant_search/grant_snapshot as alternatives, so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grant_coverageBInspect
Read the current Grant Search data coverage and provenance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose that the operation is a read ('Read') and that it provides a point-in-time view ('current'), implying non-destructive behavior. However, it doesn't describe return format, response size, or any operational characteristics beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero wasted words. The verb and subject are front-loaded, and every term ('current', 'Grant Search', 'coverage', 'provenance') 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?
Adequate for a zero-parameter read tool, but there are gaps: no output schema exists and the description doesn't indicate what the response will contain, nor does it clarify how 'coverage' differs from what the snapshot siblings provide.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema confirms additionalProperties: false. Baseline 4 applies since there are no parameters for the description to clarify.
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 ('Read') and resource ('current Grant Search data coverage and provenance'), making the tool's function clear. However, it does not explicitly distinguish itself from sibling tools like grant_snapshot or grant_snapshots, which could plausibly overlap in subject matter.
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 given about when to use this tool versus its siblings. There are no exclusions, no mention of alternatives, and no context about whether this should be checked before other grant operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grant_searchAInspect
Search current U.S. Grants.gov opportunities by default, or set source=eu to search English EU Funding & Tenders topics with SEDIA status 31094502. Inputs are source, query, agency, statuses, limit, closing_within_days, and minimum_award_ceiling. Receive up to 20 normalized JSON records with title, agency, status, open and close dates, award amounts, eligibility, funding fields, and official_url.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| agency | No | ||
| source | No | us | |
| statuses | No | forecasted|posted | |
| closing_within_days | No | ||
| minimum_award_ceiling | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose output shape ('up to 20 normalized JSON records') and the fields returned, and 'Search' implies read-only behavior. However, it does not mention error handling, rate limits, authentication needs, or the meaning of the EU-specific 'SEDIA status 31094502' filter.
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 compact at two sentences and front-loads the primary purpose and default behavior. The second sentence is a useful inventory of inputs and outputs, though the unexplained 'SEDIA status 31094502' adds some noise and prevents a perfect structure score.
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 tool with 7 parameters, no annotations, no output schema, and 0% schema description coverage, this description is incomplete. It provides helpful output-field information but omits critical parameter semantics and filtering rules, leaving too much for an agent to infer or guess.
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 0%, so the description must compensate for all seven parameters. It only lists parameter names and partially explains 'source' and 'limit'; it does not explain the statuses format, how closing_within_days is applied, what agency values are valid, or the semantics of minimum_award_ceiling. This is insufficient for correctly constructing queries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a search operation over Grants.gov opportunities, with a specific default source (US) and an alternative EU mode via 'source=eu'. This specific verb+resource structure makes the tool's role obvious and distinguishes it from sibling tools like grant_changes or grant_snapshot, which imply different operations.
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 clear context on when to use the tool and how to switch between US and EU sources, noting the default behavior. However, it does not explicitly discuss exclusions or when to prefer one of the sibling grant_* tools, so it stops short of full when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grant_snapshotAInspect
Download current stored U.S. federal grant records with a slice_id from /v1/snapshots. Receive slice_id, as_of, row_count, source, licence, and all grant rows in that bounded slice as JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| slice_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden, and it does well by disclosing the operation type ('Download') and the full JSON response shape: slice_id, as_of, row_count, source, licence, and all grant rows. It does not mention permissions, payload size, or pagination, but 'bounded slice' partially mitigates those concerns.
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 conveys the action, source endpoint, parameter relevance, and response fields with no filler. The key information is front-loaded and every clause 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?
There is no output schema, and the description compensates by explicitly enumerating the expected return fields and JSON format. It could add a pointer to grant_snapshots for discovering available slice IDs, but the core input/output contract is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It does by explaining that slice_id comes from /v1/snapshots and defines a bounded slice, adding real semantic context beyond the bare string type. It stops short of giving a format or example, but for a single parameter this is adequate.
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 action ('Download current stored U.S. federal grant records') and names the exact resource ('with a slice_id from /v1/snapshots'). The phrase 'bounded slice' and the endpoint path distinguish it from siblings like grant_search and grant_snapshots without needing their schemas.
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 makes clear that a slice_id from /v1/snapshots is the prerequisite, which gives strong contextual signal for when to use this tool. It does not explicitly name alternative tools or state exclusion conditions, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grant_snapshotsBInspect
List bounded Grant Search snapshots and their coverage.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. 'List' implies a read-only operation, but the meaning of 'bounded' and what 'coverage' entails are undisclosed, and there is no mention of output structure, pagination, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word adds meaning, and it communicates the core operation and scope immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but the ambiguous terms 'bounded' and 'coverage' are left undefined, and there is no mention of the return format or any limitations. An agent could call the tool correctly, but a fuller description would improve confidence.
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 tool has zero parameters and 100% schema description coverage, so the schema imposes no burden on the description. The description adds useful context by indicating the result concerns snapshots and their coverage, which is the baseline-appropriate contribution for a parameterless tool.
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') with a clear resource ('Grant Search snapshots') and mentions their 'coverage' as the returned scope. It is clear about what the tool does, though it does not explicitly differentiate itself from sibling tools like grant_snapshot or grant_coverage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The sibling tool names suggest related operations, but the description provides no conditions, exclusions, or routing hints, so an agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
grant_changes - First observed
grant_coverage - First observed
grant_search - First observed
grant_snapshot - First observed
grant_snapshots
Related MCP Connectors
Alerts on official data: US and EU tenders, federal awards and grants, permits, MAP violations.
Search US grants + federal contracts (Grants.gov + SAM.gov) from any LLM.
Search verified-open US grants (federal, state, foundation). Read-only MCP for AI agents.
Search 31,000+ open US grants, federal contracts, and foundations. Checked daily, free tier.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables searching and retrieving detailed information on EU grant calls and tenders from the EU Funding & Tenders Portal, including deadlines, budgets, and topic details.1 npm1MIT
- AlicenseNot gradedqualityAmaintenanceRead one exact U.S. federal grant opportunity next to its official record with seven MCP tools for cited documents, requirements, amendments, hard gates, award history, and unresolved evidence. Independent UtilityHouse product; limited free beta.MIT
- AlicenseNot gradedqualityBmaintenanceEnables asking questions in natural language about live grants.gov funding opportunities, with tools to find, filter, check eligibility, track deadlines, and rank matches—while refusing to guess when data is unavailable.MIT
- FlicenseNot gradedqualityDmaintenanceFederal procurement intelligence toolkit that searches SAM.gov contract opportunities, analyzes agency spending patterns, tracks competitor wins, and monitors small business set-aside programs (8a, HUBZone, SDVOSB, WOSB). 4 tools using SAM.gov and USASpending.gov data.3-
Glama MCP Gateway
Add one secure layer between your agents and this server.