# GrantIQ

> Eligibility-first UK & EU grant discovery, inside ChatGPT and Claude.

- name: uk.co.grantiq/mcp
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 89/100
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/uk.co.grantiq%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/uk.co.grantiq%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "grantiq": {
      "type": "http",
      "url": "https://grantiq.co.uk/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-140d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: complete_profile (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); find_opportunities (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 944 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 944 tokens to load them all
- tool set hash: b25ff4987606a82a47ca44cfcb5178a2
- badge: [![protogrid quality](https://protogrid.dev/badge/uk.co.grantiq/mcp.svg)](https://protogrid.dev/servers/uk.co.grantiq/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://grantiq.co.uk/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `complete_profile`: GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values untouched. Server filters beneficiary/mission tags to canonical taxonomies. After this returns saved=true, call find_opportunities to see matches.
- `explain_opportunity`: GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g. state aid, consortium requirements), application mechanics (stages, duration, key dates), structured eligibility essentials, and provenance citations. Cached after first call per grant; sub-50ms thereafter.
- `fetch`: GrantIQ fetch: return the full record for a single grant by id. The id must come from a prior `search` call. Returns 'not found' when the grant is unknown OR not currently open/visible — there is no leak between those cases.
- `find_opportunities`: GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a complete profile (Location, OrgType, etc.).
- `search`: GrantIQ search: find UK & EU grants matching a free-text query. Returns a ranked list of grant references (id, title, funder, deadline, amounts) the caller can pass to the `fetch` tool for full detail. Results are limited to currently-open, AI-enriched grants — closed, suspended and unpublishable rows are never returned.
- `should_apply`: GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific blockers, an effort estimate with confidence band, competition-risk label (or 'unknown' when funder data is absent), and the structured evidence behind it. Requires the caller's profile to be set via a prior find_opportunities call or web sign-up.
