Small Business Funding Finder
Server Details
Searches live federal grant listings on Grants.gov and reads full opportunity details.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
search_grants and grants_closing_soon both list opportunities with overlapping filters, so an agent might choose the wrong one for a general search. get_grant and eligibility_explainer are clearly distinct. Descriptions help clarify the intended use, but the boundary is not crisp.
Two tools use a verb_noun pattern (get_grant, search_grants) while two are noun phrases (grants_closing_soon, eligibility_explainer). All are snake_case and readable, but the structural convention is mixed.
Four tools are well-scoped for a read-only funding discovery server: search, detail retrieval, a temporal view, and a reference explainer. Each tool earns its place without bloat.
The surface covers the core read-only lifecycle: search, get details, track deadlines, and decode eligibility codes. Minor gaps like standalone agency or category listing tools are not critical since search filters handle them.
Available Tools
4 toolseligibility_explainerExplain eligibility codesARead-onlyIdempotentInspect
Decode Grants.gov applicant eligibility codes (such as 23, 12 or 99) in plain words: the official label, what it means, who counts, what to watch out for, and the source for each, with an as-of date. Give codes, applicant types (such as small_business), or nothing for the full table of 17 codes. Static reference with no network access. Informational, not legal advice.
| Name | Required | Description | Default |
|---|---|---|---|
| codes | No | ||
| applicant_types | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-open-world, and the description reinforces this with 'Static reference with no network access,' plus adds value the annotations cannot: an as-of date, sourcing per code, and an 'informational, not legal advice' disclaimer. It does not, however, describe output shape or size 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?
Front-loaded with the core action and the return contents, then the input modes, then the safety disclaimer. Dense but nearly every clause earns its place; only the parenthetical examples add mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description compensates by enumerating exactly what each result contains (label, meaning, who counts, cautions, source, as-of date). Combined with the input modes and the static/no-network note, an agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage the description carries the burden, and it does: 'codes' are numeric eligibility codes (examples 23, 12, 99), 'applicant_types' are named categories (example small_business), and passing neither yields the full 17-code table. It stops short of explaining how codes and applicant_types combine when both are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (decode/explain) and resource (Grants.gov applicant eligibility codes) and immediately distinguishes itself from the sibling search/retrieval tools (get_grant, search_grants, grants_closing_soon) by being a static code-to-meaning reference. Examples (23, 12, 99) make the subject 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?
Explicitly tells the agent what to pass: 'Give codes, applicant types ... or nothing for the full table of 17 codes,' which covers the three input modes. It lacks an explicit when-not / alternative-tool statement, but the context is clear enough for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_grantGet a grant listingARead-onlyIdempotentInspect
Get one Grants.gov listing in full by opportunity id (the digits at the end of a listing URL) or opportunity number. Returns status, agency, posted and close dates (or forecast dates), award ceiling and floor, total program funding, expected number of awards, cost sharing, every eligible applicant type in plain words, the additional eligibility text, award instruments, categories, Assistance Listings, the agency contact, the description (about 1,500 characters, or 6,000 with detail "full"), document folders and the official URL. Cached for 60 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | "summary" (default) or "full" for a longer description. | |
| opportunity_id | No | ||
| opportunity_number | No | The funding opportunity number, for example NOAA-NMFS-AK-2026-33268 or PA-27-100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new behavioral context: a 60-minute cache and the size of the returned description field (~1,500 vs 6,000 characters with detail 'full'). It doesn't cover not-found/error 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?
Purpose and lookup keys are front-loaded in the first clause, with the return-field inventory after and the cache note last. The single sentence inventories many fields but each item is concrete and non-redundant, so it stays informative rather than padded.
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 carries the return-value burden and does so exhaustively (status, dates, funding, eligibility, contacts, documents, official URL), plus caching. It omits what happens when neither identifier is supplied or when the id doesn't exist, which matters given zero required 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 67%, and the description compensates for the gaps: it decodes opportunity_id ('digits at the end of a listing URL') and explains the practical effect of the detail enum (description length). opportunity_number's semantics are still left largely to the schema's example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get one Grants.gov listing in full') and pins down the lookup key (opportunity id or opportunity number). The singular 'one ... listing' cleanly distinguishes it from the sibling search_grants, which lists many.
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?
Explains where the identifier comes from ('the digits at the end of a listing URL') and gives a format example for the number, so an agent can tell which input it must already have. It does not explicitly state when to prefer this over search_grants or eligibility_explainer, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
grants_closing_soonGrants closing soonARead-onlyIdempotentInspect
List posted Grants.gov opportunities whose application deadline falls within the next 1 to 120 days (default 30), soonest first, with days left counted in Eastern Time. Takes the same keyword, applicant type, category, instrument, agency and Assistance Listing filters as search_grants. Listings with no close date or a placeholder close date are left out.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results to return, 1 to 50. Default 25. | |
| agency | No | An agency code (USDA, HHS-NIH11, DOI-FWS) or name ("Fish and Wildlife", "Rural Business"). A department code includes all of its sub-agencies. | |
| keyword | No | Words to search for in listing titles and text, for example "rural energy" or "STEM education". | |
| categories | No | Grants.gov category codes: AG Agriculture, AR Arts, BC Business and Commerce, CD Community Development, CP Consumer Protection, DPR Disaster Prevention and Relief, ED Education, ELT Employment, Labor and Training, EN Energy, ENV Environment, FN Food and Nutrition, HL Health, HO Housing, HU Humanities, IIJ Infrastructure Investment and Jobs Act, IS Information and Statistics, ISS Income Security and Social Services, LJL Law, Justice and Legal Services, NR Natural Resources, O Other, OZ Opportunity Zone Benefits, RD Regional Development, RT Recreation and Tourism, ST Science and Technology, T Transportation. | |
| eligibility | No | Applicant types to match, such as small_business, nonprofit_501c3, nonprofit_other, tribal_government, city_or_township_government, individual. A listing matches when it is open to any of them. | |
| instruments | No | Kinds of award to include. | |
| within_days | No | Days ahead to look. Default 30. | |
| assistance_listing | No | Assistance Listing (formerly CFDA) number, for example 10.868. | |
| include_unrestricted | No | When eligibility is set, also include Unrestricted (code 99) listings, which are open to any applicant type. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive), but the description adds real behavioral detail: results are sorted soonest-first, days-left is computed in Eastern Time, and listings with missing or placeholder close dates are silently excluded. That last exclusion is a genuine data-quality caveat an agent would otherwise not know.
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 core behavior (window, default, ordering, timezone) before the filter-parity and exclusion details. No filler; every clause conveys a distinct constraint.
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 still conveys the return shape (ordered listings with a days-left field counted in ET), the default window, and the exclusion rule, while annotations cover the safety profile. Nothing needed to call it correctly 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 description coverage is 100%, so the schema already documents all 9 parameters thoroughly. The description adds only that filters mirror search_grants and reiterates the within_days default; the baseline 3 is appropriate when the schema carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (posted Grants.gov opportunities) plus the defining scope: deadline within 1-120 days, default 30, soonest first. This is clearly distinguishable from search_grants, which it names as the filter-compatible sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'closing soon' framing and the 1-120 day window make the use case clear, and it explicitly says it accepts the same filters as search_grants, which helps an agent route between the two. It does not state when NOT to use it (e.g., use search_grants for deadline-agnostic search), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_grantsSearch federal grantsARead-onlyIdempotentInspect
Search live federal funding opportunities on Grants.gov. Results come from Grants.gov, and users must confirm every detail on the official listing before applying; each result carries its listing link. Filter by keyword, applicant type (small businesses, 501(c)(3) and other nonprofits, tribes, local governments, individuals and more), category, award instrument, agency, Assistance Listing number, status (posted by default, or forecasted) and close date range. Returns the total matches and each listing with id, number, title, agency, posted and close dates, days left and URL. Sort by relevance (default with a keyword), closing_soonest (default without one) or newest. Results are cached for 10 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| limit | No | Results to return, 1 to 50. Default 20. | |
| agency | No | An agency code (USDA, HHS-NIH11, DOI-FWS) or name ("Fish and Wildlife", "Rural Business"). A department code includes all of its sub-agencies. | |
| offset | No | Results to skip, for the next page. Default 0. | |
| status | No | posted (open now, default), forecasted (announced but not yet open) or both. | |
| keyword | No | Words to search for in listing titles and text, for example "rural energy" or "STEM education". | |
| categories | No | Grants.gov category codes: AG Agriculture, AR Arts, BC Business and Commerce, CD Community Development, CP Consumer Protection, DPR Disaster Prevention and Relief, ED Education, ELT Employment, Labor and Training, EN Energy, ENV Environment, FN Food and Nutrition, HL Health, HO Housing, HU Humanities, IIJ Infrastructure Investment and Jobs Act, IS Information and Statistics, ISS Income Security and Social Services, LJL Law, Justice and Legal Services, NR Natural Resources, O Other, OZ Opportunity Zone Benefits, RD Regional Development, RT Recreation and Tourism, ST Science and Technology, T Transportation. | |
| eligibility | No | Applicant types to match, such as small_business, nonprofit_501c3, nonprofit_other, tribal_government, city_or_township_government, individual. A listing matches when it is open to any of them. | |
| instruments | No | Kinds of award to include. | |
| closes_after | No | Only listings closing on or after this date, YYYY-MM-DD. | |
| closes_before | No | Only listings closing on or before this date, YYYY-MM-DD. | |
| assistance_listing | No | Assistance Listing (formerly CFDA) number, for example 10.868. | |
| include_unrestricted | No | When eligibility is set, also include Unrestricted (code 99) listings, which are open to any applicant type. Default true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds substantial context beyond them: data provenance (Grants.gov), the requirement that users confirm details on the official listing, per-result listing links, default status and default sort rules, and a 10-minute cache. These are exactly the behavioral traits an agent cannot get from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and data source, then filters, returns, sort, and caching in a logical order. It is dense with almost no filler, though it is on the longer side for a single paragraph.
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 properly describes the return shape (total matches plus each listing's id, number, title, agency, dates, days left, URL). Combined with 92% schema coverage and complete annotations, an agent has everything needed to call and interpret the call.
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 92%, so the schema carries most parameter meaning (baseline 3). The description adds value by stating behavioral defaults the schema leaves unstated, notably that status defaults to posted and that sort defaults to relevance when a keyword is present and closing_soonest when it is not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (live federal funding opportunities on Grants.gov), with scope and data source made explicit. It does not name a sibling to distinguish against (e.g., grants_closing_soon or get_grant), but the filter and return detail make the purpose 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?
Usage is implied through the enumerated filters and defaults (status posted by default, sort behavior with/without a keyword), but there is no explicit when-to-use-this-vs-alternatives guidance despite three sibling tools existing. An agent must infer that this is the general search versus get_grant for a single listing.
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
- First observed
eligibility_explainer - First observed
get_grant - First observed
grants_closing_soon - First observed
search_grants
Publisher details
- Operator
- Modern Mustard Seed · Publisher source
- Operator website
- https://modernmustardseed.com · Publisher source
- Vendor relationship
- First-party
- Trust center
- Not available
- Restrictions
- Not applicable
Related MCP Connectors
Search open and upcoming US federal grant opportunities on Grants.gov and get full grant details.
Search Grants.gov funding opportunities and read full records: eligibility, awards, deadlines.
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.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables searching US federal funding opportunities across all agencies, reading full grant records with eligibility, award amounts, deadlines, and NOFO attachments, and decoding filter codes via keyless access to Grants.gov.279 npm2Apache 2.0
- 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.1MIT
- AlicenseAqualityBmaintenanceEnables searching SBIR/STTR and federal grant data from Grants.gov, NIH RePORTER, and the NSF Award Search API, including open opportunities, funded projects, similar-project matching, and SBIR/STTR totals by year, agency, and state, with a source URL attached to every result. It is read-only, requires no accounts or API keys, and stores no user data.51MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.