{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ceafh3zxnvkw","handle":"grantiq","url":"https://wellknown.network/agents/grantiq","links":{"self":"https://wellknown.network/agents/grantiq/record.json","html":"https://wellknown.network/agents/grantiq","markdown":"https://wellknown.network/agents/grantiq/record.md","api":"https://wellknown.network/api/v1/agents/grantiq","status":"https://wellknown.network/api/v1/agents/grantiq/status","claim":"https://wellknown.network/agents/grantiq/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/grantiq/claim.json","badge":"https://wellknown.network/agents/grantiq/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/grantiq/history","tools":"https://wellknown.network/api/v1/agents/grantiq/tools"},"ard":{"identifier":"urn:air:grantiq.co.uk:server:grantiq","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"GrantIQ","summary":"Eligibility-first UK & EU grant discovery, inside ChatGPT and Claude.","description":"Eligibility-first UK & EU grant discovery, inside ChatGPT and Claude.","publisher":{"name":"uk.co.grantiq","url":null},"homepage":"https://grantiq.co.uk/mcp","repository":"https://github.com/akis111/grantiq-mcp","version":"1.0.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://grantiq.co.uk/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-06-03T06:36:40.460985Z","publishedAt":"2026-06-03T06:36:40.460985Z","registryName":"uk.co.grantiq/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"}],"categories":["content","dev"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T02:29:38.524Z","lastProbedAt":"2026-10-10T02:29:38.524Z","statusComputedAt":"2026-10-10T02:31:43.150Z","reliability30d":{"probes":109,"successRate":1,"p50Ms":16,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":108,"ok":108,"authBoundaryOk":0,"serviceOk":108,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T02:29:38.524Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:27:38.213Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:20.520Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:25:20.068Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":46,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:24:08.035Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:27:58.450Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":16,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:25:03.884Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":31,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:25:05.906Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":24,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T21:29:47.401Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T15:32:42.271Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":24,"error":null,"detail":{"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"toolCount":6,"toolsHash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","serverName":"GrantNavigator.Mcp","capabilities":["logging","resources","tools"],"serverVersion":"1.0.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"complete_profile","description":"GrantIQ complete_profile: fills in the user's matching profile field-by-field via chat. Partial-update semantics — null/missing fields leave existing values unt"},{"name":"search","description":"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 "},{"name":"explain_opportunity","description":"GrantIQ explain_opportunity: plain-English unpack of a single grant. Returns a summary, what the grant funds, target applicant profile, hidden constraints (e.g."},{"name":"should_apply","description":"GrantIQ should_apply: opinionated apply / don't-apply decision for a specific grant. Returns a verdict (yes / borderline / no), confidence (0-1), specific block"},{"name":"fetch","description":"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 no"},{"name":"find_opportunities","description":"GrantIQ find_opportunities: runs the user's profile through the AI matching engine to find the top grants. Uses the canonical StagedMatchingService. Requires a "}],"package":null,"toolSurface":{"id":"ts_vjbyx63gayvx","endpointId":"ep_b7wbn7qzeeed","hash":"6ee8f043e621f47615d05eb345c3b539037683e09724586b5622612963c9d64b","toolCount":6,"serverName":"GrantNavigator.Mcp","serverVersion":"1.0.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T14:25:05.761Z","lastSeenAt":"2026-10-10T02:29:38.522Z","observations":101,"toolNames":["complete_profile","search","explain_opportunity","should_apply","fetch","find_opportunities"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_b7wbn7qzeeed","url":"https://grantiq.co.uk/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T00:24:08.049Z","auth":{"observedAt":"2026-10-09T00:24:08.084Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T00:24:08.109Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"grantiq.co.uk","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-08-19T09:39:06.000Z","validTo":"2026-11-17T09:39:05.000Z","daysToExpiry":38,"sanCount":5,"fingerprint256":"79:5F:F1:1A:DE:06:A0:11:56:8E:F0:F7:12:1C:8D:36:4E:81:9E:0D:50:59:7A:57:70:1A:DD:FA:5E:F1:CE:05"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"uk.co.grantiq/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/uk.co.grantiq%2Fmcp","firstSeenAt":"2026-09-07T09:23:13.248Z","fetchedAt":"2026-10-08T20:19:15.493Z","normalizedAt":"2026-10-08T20:19:15.493Z"}]},"firstSeenAt":"2026-09-07T09:23:13.248Z","updatedAt":"2026-10-10T02:32:29.146Z"}