Federal Grant Evidence
Server Details
Find U.S. federal grants and return cited hard-gate and award-history evidence packs.
- Status
- Healthy
- Uptime
- 72.6% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool targets a distinct stage or purpose—search, manifest, requirement extraction, amendment comparison, evidence pack, and profile submission—so there is little functional overlap. A minor potential confusion exists between analyze_federal_grant and get_federal_grant_evidence_pack because both produce grant-level evidence outputs, but their descriptions clearly separate the go/no-go screen from the hard-gate/award-history pack.
Most tools follow a clear verb_noun snake_case pattern such as search_federal_grants, analyze_nofo_requirements, and compare_grant_amendments. The submit_federal_grant_profile_v2_beta name is the main inconsistency, with its version suffix and beta marker, though it remains readable and follows the same base convention.
Seven tools is well-scoped for a federal grant evidence workflow: discovery, document inventory, requirements analysis, amendment comparison, evidence packaging, and an optional beta submission path. No tool feels redundant, and the count supports a complete but focused workflow without overwhelming an agent.
The set covers the core lifecycle from searching and retrieving grant documents to analyzing requirements, comparing amendments, and producing a full evidence pack. Minor gaps exist, such as no direct tool for fetching a single grant by identifier or managing organization profile facts outside the beta submission tool, but agents can generally work around these.
Available Tools
7 toolsanalyze_federal_grantAnalyze a federal grantAInspect
Use this when the user needs a sourced go/no-go pursuit screen for one U.S. federal grant using a non-personal organization profile and the official opportunity record. The current preview is always free and explicitly marks unresolved project relevance, document, or award-history evidence. Do not use it for discovery only, legal eligibility advice, award prediction, drafting, or submission.
| Name | Required | Description | Default |
|---|---|---|---|
| organization | Yes | ||
| opportunity_id | Yes | Numeric Grants.gov opportunity id from search_federal_grants |
Output Schema
| Name | Required | Description |
|---|---|---|
| funding | Yes | |
| sources | Yes | |
| programs | Yes | |
| hardGates | Yes | |
| chargeable | Yes | |
| unresolved | Yes | |
| limitations | Yes | |
| opportunity | Yes | |
| reasonCodes | Yes | |
| organization | Yes | |
| schemaVersion | Yes | |
| recommendation | Yes | |
| productRelevance | Yes | |
| resultCompleteness | Yes | |
| officialRecordFreshness | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal non-read-only, open-world behavior. The description adds useful context beyond them: the preview is always free, and the output explicitly marks unresolved project relevance, document, or award-history evidence. This gives agents a realistic sense of output behavior without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences front-load the primary use case, then deliver exclusions and behavioral expectations. There is no filler, and every clause adds decision-relevant 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 purpose, exclusions, output behavior, and cost. The output schema and input schema carry the remaining structural details. The main gap is that the organization parameter semantics are left under-specified, but this is partially captured in the parameter-semantics dimension.
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 low at 50%, so the description needs to compensate for the undocumented organization object. It only characterizes the organization parameter as 'non-personal' and refers to the 'official opportunity record'; it does not explain required fields like entity_type/state or optional fields like can_meet_cost_share and requested_amount_usd.
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 names a specific verb ('analyze'), a specific resource ('one U.S. federal grant'), and a specific outcome ('sourced go/no-go pursuit screen'). It also lists what the tool is not for, which helps distinguish it from siblings like search_federal_grants and analyze_nofo_requirements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('Use this when the user needs a sourced go/no-go pursuit screen') and gives clear exclusions ('Do not use it for discovery only, legal eligibility advice, award prediction, drafting, or submission'). It does not name specific sibling tools as alternatives, so it stops just short of the strongest routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_nofo_requirementsRead a grant's requirements from its official documentsAInspect
Use this after the document manifest, when the user needs the requirements stated inside a U.S. federal grant's official announcement — eligibility, cost share, deadlines, page limits, required submissions and evaluation criteria — each with the document, page and exact source text it came from. It returns CONFIRMED, CONFLICT, UNKNOWN or EXTRACTION_INCOMPLETE per requirement and never fills a gap with an inference. It does not determine legal eligibility, predict an award, draft, or submit.
| Name | Required | Description | Default |
|---|---|---|---|
| claim_types | No | Optional filter; omit for every requirement class. | |
| opportunity_id | Yes | Official Grants.gov opportunity ID, for example 332894 |
Output Schema
| Name | Required | Description |
|---|---|---|
| state | Yes | |
| claims | No | |
| detail | No | |
| coverage | No | |
| revision | No | |
| observed_at | No | |
| snapshot_id | No | |
| opportunity_id | Yes | |
| unread_documents | No | |
| manifest_completeness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses a precise output taxonomy (CONFIRMED, CONFLICT, UNKNOWN, EXTRACTION_INCOMPLETE per requirement), a source-attribution guarantee (document, page, exact source text), and a refusal-to-infer policy ('never fills a gap with an inference'). The no-inference guarantee meaningfully complements openWorldHint=true by explaining what happens when source data is missing.
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, each with a distinct job: when-to-use and scope, output behavior and honesty guarantee, then scope exclusions. The trigger condition is front-loaded and nothing repeats the schema or annotations, so 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?
With only 2 parameters (one required), 100% schema coverage, annotations present, and an output schema available, the description fills the remaining gaps: workflow sequencing relative to the manifest, output semantics, and behavioral limits. The CONFLICT class even implicitly covers the amendment scenario handled by compare_grant_amendments, so no essential invocation knowledge is missing.
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 adds domain grounding by enumerating the likely claim_types values (eligibility, cost share, deadlines, etc.), which the schema leaves generic as 'Optional filter; omit for every requirement class.' It does not add format or constraint details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action (extracting requirements from a U.S. federal grant's official announcement) and enumerates the covered requirement classes: eligibility, cost share, deadlines, page limits, required submissions, and evaluation criteria. It also distinguishes itself from siblings by stating it runs 'after the document manifest' and by declaring what it does not do (legal eligibility, award prediction, drafting, submission).
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?
It gives a clear trigger and sequencing instruction ('Use this after the document manifest, when the user needs the requirements'), which orients an agent on both intent and workflow order. It does not, however, explicitly name sibling tools as alternatives for the exclusion cases — it says what it won't do but not which sibling to route to instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_grant_amendmentsCompare a grant's revisionsAInspect
Use this when the user needs to know what changed between revisions of a U.S. federal grant opportunity — deadlines, cost share, eligibility, funding — with the before and after value for each change and how much it matters. It reads the official revision history and reports what Grants.gov itself declared changed alongside the computed difference. It does not read announcement documents, assess eligibility, predict an award, draft, or submit.
| Name | Required | Description | Default |
|---|---|---|---|
| opportunity_id | Yes | Official Grants.gov opportunity ID, for example 332894 | |
| since_revision | No | Optional; compare only revisions after this one. |
Output Schema
| Name | Required | Description |
|---|---|---|
| state | Yes | |
| detail | No | |
| changes | No | |
| opportunity_id | Yes | |
| pairs_compared | No | |
| pairs_observed | No | |
| current_revision | Yes | |
| pairs_unavailable | No | |
| unavailable_pairs | No | |
| worst_materiality | No | |
| revisions_observed | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false) are sparse and do not conflict. The description adds valuable behavioral context: it 'reads the official revision history' and reports 'what Grants.gov itself declared changed' alongside computed differences, and explicitly lists what it does not do. This goes beyond the annotations to clarify the tool's data source and 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 well-structured sentences: the first clearly explains the purpose and output, the second lists explicit exclusions. It is front-loaded and contains zero redundant wording, making it easy for an agent to parse quickly.
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 an output schema exists (has_output_schema=true) and only two parameters are involved, the description sufficiently covers the tool's scope and limitations. It mentions it is for U.S. federal grants and specifies what it reports, which is enough for correct invocation. A minor gap is not explaining how 'since_revision' affects behavior, but the schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both parameters (opportunity_id and since_revision) with descriptions and constraints, so schema coverage is 100%. The description does not add extra parameter-level meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('compare'), a resource ('revisions of a U.S. federal grant opportunity'), and enumerates the exact kinds of changes covered (deadlines, cost share, eligibility, funding). It also clarifies it reports before/after values and significance, which distinguishes it from siblings like analyze_federal_grant or get_grant_document_manifest.
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?
Explicitly states when to use ('when the user needs to know what changed between revisions') and provides clear exclusions ('does not read announcement documents, assess eligibility, predict an award, draft, or submit'). This effectively routes the agent away from sibling tools that handle those functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_federal_grant_evidence_packGet a complete federal grant evidence packAIdempotentInspect
Use this limited free-beta tool after search or preview when the user wants a complete, versioned hard-gate and award-history evidence pack for one U.S. federal grant. It never requests payment during the beta. The service has a global daily beta capacity and counts only newly released complete results; reuse request_id for retries. It does not evaluate semantic project relevance, determine legal eligibility, predict an award, draft, or submit.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | Caller-generated stable idempotency key; reuse it for retries | |
| organization | Yes | ||
| opportunity_id | Yes | Numeric Grants.gov opportunity id |
Output Schema
| Name | Required | Description |
|---|---|---|
| scope | Yes | |
| billing | Yes | |
| funding | Yes | |
| programs | Yes | |
| hardGates | Yes | |
| chargeable | Yes | |
| provenance | Yes | |
| limitations | Yes | |
| opportunity | Yes | |
| reasonCodes | Yes | |
| organization | Yes | |
| schemaVersion | Yes | |
| recommendation | Yes | |
| resultCompleteness | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already providing idempotentHint and destructiveHint=false, the description adds valuable context: no payment is requested, there is a global daily capacity that only counts new results, and request_id should be reused. It also clarifies it is free during beta. This meaningfully supplements the structured hints without contradicting 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 informative and front-loaded with the primary use case in the first sentence. The extra beta, capacity, and exclusion details all earn their place, although the 'it never requests payment during the beta' sentence mildly repeats the 'free-beta' indicator already in the first line.
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 beta service with an output schema, the description covers the essential operational context: when to invoke, daily capacity, retry semantics, and what the tool does not offer. The only notable gap is the organization parameter, which is a nested object with several required fields and zero description – knowing why this applicant context matters for an evidence pack 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 sits at 67%, with only request_id and opportunity_id described; the organization object and its nested fields have no schema descriptions. The description repeats the idempotency/reuse behavior for request_id and infers opportunity_id is a grant id, but it does not add any meaning for the organization field beyond 'one U.S. federal grant'. The nested object's semantics are left entirely to the schema's shape, which is not enough at this coverage level.
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 names a specific verb ('get'), a specific resource ('a complete, versioned hard-gate and award-history evidence pack'), and scopes it to 'one U.S. federal grant'. It also distinguishes itself from siblings by listing what it explicitly does not do – evaluate relevance, determine eligibility, predict an award, draft, or submit – so an agent can tell it apart from analyze and submit 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?
It clearly states when to use the tool: 'after search or preview when the user wants a ... evidence pack', and gives when-not guidance by listing exclusions ('does not evaluate...', 'draft, or submit'). It does not name an alternative tool to switch to, but the context and exclusions are specific enough for an agent to reason about the right path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_grant_document_manifestList a grant's official documentsAInspect
Use this when the user needs to know which official documents a U.S. federal grant opportunity has, which revision is current, and whether the official record is complete. It returns every Full Announcement, revised announcement, supporting document and application package Grants.gov holds, with official download URLs. It does not read the documents, assess eligibility, predict an award, draft, or submit.
| Name | Required | Description | Default |
|---|---|---|---|
| opportunity_id | Yes | Official Grants.gov opportunity ID, for example 332894 |
Output Schema
| Name | Required | Description |
|---|---|---|
| packages | No | |
| revision | Yes | |
| documents | Yes | |
| completeness | Yes | |
| reason_codes | No | |
| opportunity_id | Yes | |
| linked_documents | No | |
| collected_evidence | No | |
| opportunity_number | No | |
| latest_history_revision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructive, idempotent, and open-world signals, and the description adds useful behavioral context: it returns a manifest with official URLs but does not read or analyze the documents themselves. It does not mention auth, rate limits, or whether data is live/cached, but the openWorldHint and non-contradictory annotations lower the burden.
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 tightly written sentences with no filler. The trigger condition is front-loaded, the return scope is specific, and the exclusion list is compact and highly informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, scope, exclusions, and return contents, and an output schema exists to document return values. A small gap is the lack of explicit notes on authentication or error/empty-result behavior, but for a single-parameter manifest tool this is largely 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?
The single parameter has 100% schema coverage, including a pattern, min/max length, and a clear description of opportunity_id as an official Grants.gov ID. The tool description reinforces the grant-opportunity context but adds no parameter-specific semantics beyond the schema, 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 that the tool returns a manifest of official documents for a U.S. federal grant opportunity, including current revisions and completeness status. It names specific document types and download URLs, and the 'does not read/assess/predict/draft/submit' clause helps distinguish it from analyze and submit siblings.
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?
It opens with an explicit 'Use this when the user needs to know...' trigger covering document lists, revision currency, and completeness. It also explicitly lists what the tool does not do, so an agent knows not to use it for reading documents, eligibility assessment, award prediction, drafting, or submission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_federal_grantsSearch federal grantsAInspect
Use this when the user needs to find current or forecasted U.S. federal grant opportunities by topic. It returns official identifiers and source URLs for follow-up analysis. Do not use it to decide eligibility, predict an award, write an application, or submit anything.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum results, from 1 to 20 | |
| query | Yes | Topic or phrase such as community oral health |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| query | Yes | |
| opportunities | Yes | |
| sourceFreshness | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint false, openWorldHint true, idempotentHint false, destructiveHint false. The description adds that results are 'current or forecasted' and returns 'official identifiers and source URLs', which is useful context beyond annotations. It doesn't contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary use case, then exclusions. No filler words, 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 an output schema exists, return values are covered. The description covers when to use, what it returns, and explicit non-uses. It lacks pagination or limit details but those are in the schema. It's complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both query and limit have descriptions. The description reinforces the 'by topic' usage for query but doesn't add syntax or format beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'find' with a resource 'federal grant opportunities' and a scope 'by topic'. It also specifies the output: 'official identifiers and source URLs', which distinguishes it from analysis siblings like analyze_federal_grant.
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?
It explicitly says 'Use this when the user needs to find...' and lists clear exclusions: 'Do not use it to decide eligibility, predict an award, write an application, or submit anything.' It doesn't name alternative tools, but the when-not guidance is explicit and covers non-use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_federal_grant_profile_v2_betaTest an actual non-personal profile during the free betaAIdempotentInspect
Use this opt-in free-beta tool only when the user wants to test opportunity 359701 against current actual non-personal organization, project, and readiness facts. The user must explicitly attest that the facts are current, explicitly confirm intent to apply to this opportunity, and consent to storing the resulting pointer-only pack for 30 days. The raw profile, names, contact details, identifiers, narratives, documents, and credentials are not stored. Missing facts remain NEEDS_INPUT. It does not determine legal eligibility, predict an award, draft, or submit an application.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | Yes | ||
| request_id | Yes | Caller-generated UUID used only for idempotent replay | |
| opportunity_id | Yes | ||
| consent_to_store_pointer_only_result | Yes | ||
| attest_current_actual_non_personal_facts | Yes | ||
| attest_intends_to_apply_to_opportunity_359701 | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| pack | Yes | |
| proof | No | |
| stored | Yes | |
| schemaVersion | Yes | |
| profileInputStored | Yes | |
| storageDisposition | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses concrete persistence behavior: a pointer-only pack is stored for 30 days, while raw profiles, names, contact details, identifiers, narratives, documents, and credentials are not stored. It also explains open-world handling with 'Missing facts remain NEEDS_INPUT' and clarifies the tool's non-submission, non-prediction, non-eligibility behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core use condition and every subsequent sentence adds distinct value: attestation requirements, storage/privacy details, open-world behavior, and explicit non-goals. There is no filler or redundant restating of the tool name.
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 complex beta tool with a large input schema and output schema, the description covers the essential selection criteria, user attestations, data retention behavior, missing-facts semantics, and non-goals. The output schema already handles return-value expectations, so the description does not need to repeat them.
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 only 17%, so the description carries real weight. It explains the meaning behind the three boolean attestation/consent parameters, and it characterizes the 'profile' parameter as organization, project, and readiness facts. The remaining request_id is already documented in the schema, and opportunity_id is constrained by a const value that also appears 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 states a specific verb and resource: the user wants to test opportunity 359701 against current actual non-personal organization, project, and readiness facts. It clearly differentiates this tool from the analyze/search siblings and explicitly clarifies that it does not draft or submit an application despite the 'submit' in the tool name.
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 explicit when-to-use guidance ('only when the user wants to test opportunity 359701') and lists mandatory attestation and consent prerequisites. It also states what the tool does not do, such as determining legal eligibility or submitting an application. However, it does not name alternative sibling tools for those excluded use cases.
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.
4 tool updates
- Added
analyze_nofo_requirements - Added
compare_grant_amendments - Added
get_grant_document_manifest - Added
submit_federal_grant_profile_v2_beta
2 tool updates
- Changed
analyze_federal_grant2 fields changed- added
Output schema / properties / officialRecordFreshnessAdded value: +{ + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "schemaVersion", - "chargeable", - "resultCompleteness", - "recommendation", - "reasonCodes", - "opportunity", - "organization", - "hardGates", - "productRelevance", - "funding", - "programs", - "unresolved", - "sources", - "limitations" -]New value: +[ + "schemaVersion", + "chargeable", + "resultCompleteness", + "recommendation", + "reasonCodes", + "opportunity", + "organization", + "hardGates", + "productRelevance", + "funding", + "programs", + "unresolved", + "sources", + "limitations", + "officialRecordFreshness" +]
- Changed
search_federal_grants2 fields changed- added
Output schema / properties / sourceFreshnessAdded value: +{ + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "query", - "count", - "opportunities" -]New value: +[ + "query", + "count", + "opportunities", + "sourceFreshness" +]
3 tool updates
- First observed
analyze_federal_grant - First observed
get_federal_grant_evidence_pack - First observed
search_federal_grants
Related MCP Connectors
Find U.S. federal grants and return cited hard-gate and award-history evidence packs.
Resolve a federal award and buy bounded USAspending contract lifecycle and end-date evidence.
Search verified-open US grants (federal, state, foundation). Read-only MCP for AI agents.
U.S. federal grant discovery, details, fit scoring, briefs, and shortlist checks via x402.
Related MCP Servers
- 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 AI agents and grant software to discover current U.S. federal grants without an API key, offering search, official detail, transparent fit scoring, sourced briefs, and deterministic shortlist preflight calls that settle in USDC on Base via x402.MIT
- AlicenseNot gradedqualityDmaintenanceEnables research of federal contract awards and competitive landscape analysis using the USASpending.gov API. Supports searching for contracts, analyzing recipients, tracking spending trends, and identifying market opportunities in government contracting.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and analyzing Australian Commonwealth grant opportunities and awarded grants from grants.gov.au, including recipient lookups and coverage checks.2 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.