Skip to content

ukintel.uk — UK company, tender and grant intelligence

by ukintel.uk · remote · no sign-in to list tools · v1.3.0 · published by uk.ukintel

Companies House, Find a Tender and Find a Grant as paid JSON for agents. USDC via x402, no signup.

Final · 2Changes · 7

13 tools: 2 do something that can't be undone, 7 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ukintel https://api.ukintel.uk/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Can't be undone 2Claude Code: ask
  • uk_grants_matchSend a project profile (what it is, who you are, where, how much you need) and get back the live UK grants it could actually get - ranked eligible-first with a per-criterion pass/f…No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send a project profile (what it is, who you are, where, how much you need) and get back the live UK grants it could actually get - ranked eligible-first with a per-criterion pass/fail table for every match, from criteria parsed once at ingest from each grant's own eligibility text. Ineligible grants are excluded and counted, never dressed up as options. Deterministic rules; no language model touches the verdicts. Costs $0.15 USDC per call (x402, Base mainnet). Returns: result = { considered, matches[] of { grant summary + eligibility { band eligible|uncertain, score, criteria[{code,requirement,pass,detail}], missing[], flags[] } , relevance }, excluded{ineligible, closed} }.
  • uk_tenders_fit_scoreSend a supplier profile (what you do, keywords, regions, value band, certifications) and get the best-fitting live UK tenders, each scored 0-100 by deterministic published rules ac…No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Send a supplier profile (what you do, keywords, regions, value band, certifications) and get the best-fitting live UK tenders, each scored 0-100 by deterministic published rules across five factors - relevance, value fit, geography, timeline, buyer history - each with its numerator AND denominator so you can re-weight client-side, plus a what-to-emphasise note on the top matches. Rules score; a model never does. Costs $0.20 USDC per call (x402, Base mainnet). Returns: result = { considered, matches[] of { ...notice brief..., fit: { score, band strong|possible|weak, factors{ relevance/of, value_fit/of_v, geography/of_g, timeline/of_t, buyer_history/of_b }, flags[], rules_version }, emphasise } }.
Changes things 7Claude Code: ask
  • uk_company_fcaIs this UK company regulated by the Financial Conduct Authority?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Is this UK company regulated by the Financial Conduct Authority? Returns register status, a permissions summary and any warnings - sold separately from the full verdict because fintech-vetting agents often want only this. Costs $0.02 USDC per call (x402, Base mainnet). Returns: result.fca = { checked, regulated, frn, firm_name, status, permissions_summary, warnings[], note }. When the register is unavailable, checked=false and the reason is named - never a 500.
  • uk_company_profileOne UK company as clean structured JSON: status, incorporation date, company type, SIC codes, registered office, accounts and confirmation-statement due dates with overdue booleans…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One UK company as clean structured JSON: status, incorporation date, company type, SIC codes, registered office, accounts and confirmation-statement due dates with overdue booleans, and officer counts. Sourced live from Companies House. Costs $0.02 USDC per call (x402, Base mainnet). Returns: result = { name, company_number, status, type, incorporated, registered_office, sic_codes[], accounts{}, confirmation_statement{}, officers{ active, total, resigned_last_12m }, age_years }.
  • uk_company_verdictShould an agent trust this UK company?No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Should an agent trust this UK company? Returns a 0-100 verdict and low_risk/caution/high_risk band, with every rule that fired named in the response and the register value that triggered it: STATUS_DISSOLVED, STRIKE_OFF_ACTIVE, ACCOUNTS_OVERDUE, NO_ACTIVE_DIRECTORS, OFFICER_CHURN, FS_SIC_NOT_FCA and 9 more. Rules are deterministic and published, so you can audit the verdict or re-weight it. Never model-scored. Costs $0.10 USDC per call (x402, Base mainnet). Returns: Everything the profile returns, plus verdict = { score 0-100, band low_risk|caution|high_risk, flags[{code,detail}], fca{}, narrative }.
  • uk_funder_dossierWho actually funds things like yours: one UK funder's giving history aggregated from the 360Giving open-data corpus - grants made, total and typical award, size distribution, yearl…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Who actually funds things like yours: one UK funder's giving history aggregated from the 360Giving open-data corpus - grants made, total and typical award, size distribution, yearly pattern, most recent named awards - plus any of their grant schemes live on Find a Grant right now. Licences are respected per dataset (share-alike data is excluded from the numbers, and every recent-award row carries its source licence). Costs $0.20 USDC per call (x402, Base mainnet). Returns: result = { funder{name,ids}, match_quality, giving { grants_made, total_awarded_gbp, years, size_distribution_gbp{min,p25,median,p75,max,mean}, yearly{}, typical_award_gbp }, recent_awards[] (each with licence + publisher), live_grants_now[], coverage }.
  • uk_grant_eligibilityOne grant, one project: a deterministic eligibility verdict with the full criteria table - each criterion quoted from the grant's own eligibility text, marked pass/fail/undeclared …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One grant, one project: a deterministic eligibility verdict with the full criteria table - each criterion quoted from the grant's own eligibility text, marked pass/fail/undeclared - plus what is missing to firm it up and indicative funding. Criteria are parsed once at ingest, never guessed at request time; if the full text is not parsed yet the verdict uses Find a Grant's listing fields, flagged PARTIAL_CRITERIA, and criteria_provenance says so. Costs $0.15 USDC per call (x402, Base mainnet). Returns: result = { grant{name,funder,window,amounts,source_url}, criteria[{code,requirement,pass,detail}], missing[], failed[], indicative_funding, criteria_provenance{source,complete,parsed_at,eligibility_text_available} }, verdict = { score, band eligible|uncertain|ineligible, flags[] }.
  • uk_healthLiveness and upstream health.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Liveness and upstream health. Free, because frameworks probe before they route money. Free. Returns: status, version, network, upstreams{}, rules_version, warnings[].
  • uk_tender_briefOne tender as a full agent-ready dossier: parsed requirements summary, buyer, value, complete timeline with working-days-remaining, lots, document links, submission route and the o…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    One tender as a full agent-ready dossier: parsed requirements summary, buyer, value, complete timeline with working-days-remaining, lots, document links, submission route and the official notice URL. CPV codes are null when the source release carries none - we report the register, we never guess. Costs $0.10 USDC per call (x402, Base mainnet). Returns: result = { ocid, title, buyer, value, stage, published, deadline, days_remaining, region, cpv, summary, description, lots, documents[], submission_url, timeline{}, source{} }.
Only reads 4Claude Code: allow
  • uk_previewA genuine, freshly-computed sample so an agent can see the exact response shape before spending anything.No findings

    Why it is in this group

    • The name "uk_preview" says "preview": a word for reading.
    Description, as the server wrote it
    A genuine, freshly-computed sample so an agent can see the exact response shape before spending anything. Default: a real company verdict, rotating daily. Add ?wing=tenders for a real live-tender brief, or ?wing=grants for a real grant eligibility verdict - all rotating daily. Every response carries the same envelope: query, result, verdict, confidence, as_of, sources, attribution, notice, cost. Free. Returns: The identical envelope returned by the paid endpoints: /v1/company/{number}/verdict by default, /v1/tenders/{ocid}/brief with ?wing=tenders, /v1/grants/{id}/eligibility with ?wing=grants.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http ukintel https://api.ukintel.uk/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ukintel__uk_preview",
      "mcp__ukintel__uk_company_search",
      "mcp__ukintel__uk_tenders_search",
      "mcp__ukintel__uk_grants_search"
    ],
    "ask": [
      "mcp__ukintel__uk_health",
      "mcp__ukintel__uk_company_profile",
      "mcp__ukintel__uk_company_verdict",
      "mcp__ukintel__uk_company_fca",
      "mcp__ukintel__uk_tender_brief",
      "mcp__ukintel__uk_tenders_fit_score",
      "mcp__ukintel__uk_grants_match",
      "mcp__ukintel__uk_grant_eligibility",
      "mcp__ukintel__uk_funder_dossier"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ukintel. Review it before you use it.