OpenGrant UK grants
Server Details
Search UK grant schemes and funders: deadlines, awards, eligibility and official guidance links.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: search returns grant schemes, count returns a number, get_grant retrieves a grant by UUID, get_example_grant retrieves a showcase grant's full record, get_funder retrieves a funder profile, and list_example_grants lists fixed examples. Descriptions explicitly guide when to use one over another (e.g., count says 'Use search_grants to see the schemes themselves').
All tool names follow a consistent snake_case verb_noun pattern: count_matching_grants, get_example_grant, get_funder, get_grant, list_example_grants, search_grants. The verbs (count, get, list, search) are used predictably with their objects.
Six tools is well-scoped for a read-only UK grants data API. Each tool covers a distinct query need (search, count, get grant, get funder, examples) without redundancy or bloat.
The surface covers core read operations: searching, counting, retrieving grants and funders, and accessing examples. Minor gaps exist, such as no dedicated funder search/list tool (get_funder only looks up by name/slug/number) and no keyword search explicitly mentioned, but agents can work around these.
Available Tools
6 toolscount_matching_grantsARead-onlyIdempotentInspect
Count open, rolling and forthcoming UK grant schemes matching optional filters, with the same rules as search_grants. Returns a number and a link to the matching search on the website. Use search_grants to see the schemes themselves.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords, e.g. a funder or programme name or a topic such as 'community energy'. Optional. | |
| theme | No | Cause area. Optional. | |
| region | No | UK nation or English region the applicant is in. Optional. | |
| organisation | No | Type of applicant. Optional. | |
| closes_before | No | Only schemes whose next deadline is on or before this date (YYYY-MM-DD, UK date). Schemes without a deadline are then left out. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/openWorld, so the bar is lower, yet the description still adds real context: the counted population is limited to open, rolling and forthcoming schemes, the counting rules mirror search_grants, and with no output schema it discloses the return shape (a number plus a website search link). It does not discuss rate limits or empty-result behavior, but this is solid 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?
Three short sentences, front-loaded with the action and scope, followed by return value and the sibling hand-off. No filler and nothing buried.
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 a 5-parameter filter surface but full schema coverage and no output schema, the description supplies what structure can't: the counted population, the delegate for counting rules, and the return format. It is complete enough to call correctly; only marginally more detail on what 'matching' means for deadline-less rolling schemes would improve it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five filters including enums and the date format are already documented in the schema. The description only says 'optional filters' and defers to search_grants' rules, adding no per-parameter meaning beyond structured data. 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?
Specific verb ('count') plus a precisely scoped resource ('open, rolling and forthcoming UK grant schemes matching optional filters'), and it explicitly separates itself from search_grants. An agent can distinguish it from every sibling without opening a schema.
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 names the alternative tool and the condition that selects it: 'Use search_grants to see the schemes themselves.' Combined with the explicit scope restriction (only open/rolling/forthcoming schemes), the agent knows both when this is appropriate and when to route elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_example_grantARead-onlyIdempotentInspect
Read one showcase grant's full record by UUID. For any other grant use get_grant, which returns its public facts.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint), so the description only needs to add context. It does so by framing the output as the 'full record' versus get_grant's 'public facts', implying depth and possibly privileged data. It does not mention auth requirements or whether the record can be partially populated.
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 tight sentences with zero filler, and the primary purpose is front-loaded before the sibling routing instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read with no output schema, the description plus annotations give enough to call it correctly and interpret the result as a full record. Missing only peripheral detail such as error behavior for a non-showcase UUID.
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?
One parameter with 0% schema description coverage, but format=uuid in the schema already communicates the key type. The description's 'by UUID' is real but minimal semantics; it adds nothing about whether the UUID is the grant ID, a showcase ID, or where to obtain it.
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 (Read), resource (one showcase grant's full record), and the lookup key (UUID). It explicitly distinguishes itself from the sibling get_grant rather than leaving the agent to infer the difference.
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?
Gives both the when ('one showcase grant') and the when-not plus alternative ('For any other grant use get_grant, which returns its public facts'). Routing between this tool and its closest sibling is spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_funderARead-onlyIdempotentInspect
Read a UK funder's public profile: type, charity or company number, website, register description and income, published 360Giving totals, its open, rolling and forthcoming schemes and its recently closed ones, each with its URL. Look a funder up by OpenGrant slug (from a funderUrl), UK charity number, or name (returns the closest matches if there is more than one).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Funder name or part of it, e.g. 'Gannochy' | |
| slug | No | Slug from https://opengrant.co.uk/funders/{slug} | |
| charity_number | No | Registered charity number (England & Wales, Scotland or Northern Ireland), e.g. '1160879' or 'SC003133' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world, so the bar is lower; the description adds real substance about the return payload (published 360Giving totals, open/rolling/forthcoming/recently closed schemes with URLs). It omits pagination, rate limits and empty-result behavior, but is well beyond the annotation baseline.
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 action verb, then a dense but relevant enumeration of return fields, followed by lookup-key guidance. No filler, though the returned-field list is long enough to be slightly weighty.
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 full burden of explaining return contents and it does so thoroughly, plus it explains the multi-key lookup semantics. An agent has everything needed to call and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description adds meaning by tying slug to a funderUrl source and clarifying that a name query is fuzzy and may return multiple closest matches. That fuzzy-match behavior is not 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?
Specific verb (Read) plus precise resource (a UK funder's public profile), and it enumerates exactly what is returned (type, numbers, website, income, 360Giving totals, schemes). It is clearly distinct from the sibling grant-retrieval 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 the three lookup keys (OpenGrant slug, charity number, name) and the fallback behavior for ambiguous names ('returns the closest matches if there is more than one'). No explicit when-not guidance or named alternatives, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_grantARead-onlyIdempotentInspect
Read the public facts for one grant scheme by its OpenGrant id (the UUID in https://opengrant.co.uk/opportunities/{id}). Works for open, forthcoming and recently closed schemes; a scheme whose deadline has passed is reported as closed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | OpenGrant grant id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and openWorld, so the safety profile is covered. The description adds non-obvious behavior: expired schemes are not an error but are returned with a closed status, which an agent could not infer from the annotations or schema.
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 tight sentences with no filler. The core action and identifier are front-loaded, and the state-coverage caveat follows compactly.
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 one-parameter read tool with no output schema, the description covers identity, input sourcing and lifecycle handling. It could say a bit more about what 'public facts' comprises if the response shape matters, but nothing essential to correct invocation 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 goes further by explaining that the id is the UUID appearing in the public opportunity URL, giving an agent a concrete way to obtain or validate the 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?
States a specific verb ('Read') and resource ('the public facts for one grant scheme') and pins it to the OpenGrant id. The singular-scope wording cleanly separates it from the list/search/count siblings without needing to name them.
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 clear applicability context: open, forthcoming and recently closed schemes are all valid, and expired schemes still resolve (reported as closed). It does not, however, name an alternative sibling (e.g. search_grants for discovery) or state exclusions for non-existent or private schemes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_example_grantsARead-onlyIdempotentInspect
List up to three showcase grants whose full record (summary, criteria and contacts) is public. These are fixed examples, not search results; use search_grants to find schemes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of examples to return (default 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so safety is covered; the description adds that the set is static and capped at three, which is genuinely useful behavior an agent could not infer. It does not describe ordering or what happens if fewer than three exist, but that gap is small given the annotation coverage.
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 filler, and the scoping constraint plus the alternative are front-loaded. 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?
With no output schema, the description compensates by naming the returned record contents (summary, criteria and contacts) and confirming the examples are public. For a one-optional-parameter list tool, nothing needed for correct invocation 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% and the single optional limit parameter is fully documented in the schema (min 1, max 3, default 3). The description restates the cap of three but adds no syntax or meaning beyond what the schema already provides, so the 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?
States a specific verb (list) and resource (showcase grants) with a hard cap of three, and explicitly separates itself from search_grants by noting these are fixed examples rather than search results.
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?
Gives an explicit routing rule: use this tool for fixed showcase examples, use search_grants to find schemes. An agent can choose between the two without opening either schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_grantsARead-onlyIdempotentInspect
Search open, rolling and forthcoming UK grant schemes (deadline not yet passed) and return their public facts, soonest deadline first: funder, status, deadline, award range, where it applies, who can apply, the official guidance link and OpenGrant's canonical URL. Results are sorted soonest deadline first. Use closes_before for 'closing this month' questions. These are the same free facts listed in https://opengrant.co.uk/llms-full.txt; detailed criteria and application steps are on the funder's own guidance page (officialGuidanceUrl). Always tell users to confirm deadlines and eligibility there before applying. Set include_recently_closed to also find schemes that closed in the last 90 days (e.g. to answer 'what was the deadline for X'). deadline is a UK date (YYYY-MM-DD) when the source gave no time, otherwise an ISO instant; deadlineUk is the same in words. Page through results with offset; total is the full count.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords, e.g. a funder or programme name or a topic such as 'community energy'. Optional. | |
| limit | No | Maximum results to return (default 10). `total` reports how many match. | |
| theme | No | Cause area. Optional. | |
| offset | No | Skip this many results, for paging (default 0) | |
| region | No | UK nation or English region the applicant is in. Optional. | |
| organisation | No | Type of applicant. Optional. | |
| closes_before | No | Only schemes whose next deadline is on or before this date (YYYY-MM-DD, UK date). Schemes without a deadline are then left out. | |
| include_recently_closed | No | Also return schemes that closed in the last 90 days (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and openWorld, so the safety profile is covered. The description adds genuinely new behavior: default sort order (soonest deadline first), page model via offset with total as full count, data provenance (same free facts as the llms-full.txt, detailed criteria live on officialGuidanceUrl), and a usage caveat to confirm deadlines/eligibility with the funder. It stops short of stating rate limits or failure modes, which is a minor gap rather than a serious one.
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, scope and sort order are front-loaded, and most sentences carry distinct information (closes_before hint, provenance, paging, date formats). The one waste is the duplicated sorting claim, stated once in the opening clause and again as 'Results are sorted soonest deadline first', plus a slightly long final stretch of format notes.
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 8 all-optional params, no output schema and no nested objects, the description still tells an agent what a result contains, its ordering, how to page it, how the deadline fields differ, and how to answer closed-scheme questions. Nothing needed to call the tool 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 coverage is 100%, so the baseline is 3, but the description meaningfully extends it: it clarifies the closes_before intent ('closing this month'), the offset/total paging contract, include_recently_closed's 90-day window, and the deadline vs deadlineUk format distinction (UK date when the source gave no time, otherwise an ISO instant) that the schema does not explain.
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 + resource + scope: search UK grant schemes that are open, rolling or forthcoming with a deadline not yet passed. The scope qualifier ('deadline not yet passed') and the enumeration of returned fields let an agent distinguish it from get_grant, count_matching_grants and the example/list siblings without opening a schema.
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?
Gives concrete when-to-use routing: 'Use closes_before for closing-this-month questions' and 'Set include_recently_closed ... to answer what was the deadline for X'. It also implies the search-vs-count split via 'total is the full count', but it never explicitly names count_matching_grants/get_grant as the alternatives, so the routing is clear rather than exhaustive.
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.
6 tool updates
- First observed
count_matching_grants - First observed
get_example_grant - First observed
get_funder - First observed
get_grant - First observed
list_example_grants - First observed
search_grants
Related MCP Connectors
Search 380+ New Zealand community grant funders, deadlines and application questions. No login.
Search 1,300+ live Canadian funding opportunities — grants, tax credits, accelerators, and loans.
Search Grants.gov funding opportunities and read full records: eligibility, awards, deadlines.
Search 31,000+ open US grants, federal contracts, and foundations. Checked daily, free tier.
Related MCP Servers
- AlicenseAqualityDmaintenanceReal-time search of Japanese government subsidies and grants (official jGrants data): deadlines, amounts, eligibility, filterable by prefecture.2MIT
- 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
- AlicenseAqualityDmaintenanceProvides access to FluentLab's funding database, enabling users to search for funding opportunities and retrieve document checklists required for specific funding programme applications.13 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.