Skip to content

MatchAwards

by matchawards · remote · local (pypi) · no sign-in to list tools · v1.0.4 · published by GitHub user matchawards

Search US government contracts, grants and jobs from matchawards.com. Read-only, no key.

Changes · 1

10 tools: 1 change things and 9 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 matchawards https://matchawards.com/mcp

Tools

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

10 tools

Changes things 1Claude Code: ask
  • assess_opportunityUse this when the user asks whether to bid on one opportunity, or wants a qualification brief on it: days left, set-aside, AI fit notes, similar past awards, the firms that typical…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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use this when the user asks whether to bid on one opportunity, or wants a qualification brief on it: days left, set-aside, AI fit notes, similar past awards, the firms that typically win such work and the usual award value. Pass the id from a search result, and optionally my_naics (up to 10 codes) and my_set_aside to check the fit. Similar awards come from MatchAwards' award records for the same NAICS at the same agency, or at all agencies when that agency has none (basis says which); sample gives the dates covered and whether every matching record was read, so state that span rather than a longer one. Award records may be incomplete, so say so; ai text is AI-generated, so label it. Never call a firm the incumbent: these are firms that won similar work. Example: id="117412688283576625". Print url, sam_url and each award's url and source_url as markdown links. Do not use for searching (search_contracts, search_grants), for finding partners (find_teaming_partners) or for job postings.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
Only reads 9Claude Code: allow
  • find_teaming_partnersUse this when the user wants possible teaming partners, subcontractors or primes for one opportunity: firms that won similar awards in the same state or at the same agency.No findings

    Why it is in this group

    • The name "find_teaming_partners" says "find": a word for reading.
    Description, as the server wrote it
    Use this when the user wants possible teaming partners, subcontractors or primes for one opportunity: firms that won similar awards in the same state or at the same agency. Pass the id from a search result, and optionally role (sub, prime or any). Returns up to 10 firms from MatchAwards' award records (same NAICS in the opportunity's state, then at its agency, else anywhere; sample gives the dates covered and whether every matching record was read), ranked by how many similar awards they won, each with a why line; get_company(uei) shows the history of a firm with a uei. No contact details. Award records may be incomplete, so say so; ai_subcontracting is AI-generated, so label it. Never call a firm the incumbent. Example: id="117412688283576625". Print the opportunity's url and sam_url as markdown links. Do not use for searching awards in general (search_awards), for one firm's history (get_company) or for job postings.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_companyUse this when the user wants one firm's government award history and its UEI is known, e.g.No findings

    Why it is in this group

    • The name "get_company" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user wants one firm's government award history and its UEI is known, e.g. from a search_awards row. Returns the firm's name and other spellings, location (city, state, country), totals for contract and grant awards, first and last award dates, top NAICS codes and agencies, and its 10 most recent awards. No contact details. Award records may be incomplete, so say so. Example: uei="C3KXNLTAAY98". Print each recent award's url and source_url as markdown links. Do not use for finding firms by name or NAICS (search_awards) or for contact details (none are available).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • get_opportunityUse this when the user wants the details of one search result, or who to contact about it.No findings

    Why it is in this group

    • The name "get_opportunity" says "get": a word for reading.
    Description, as the server wrote it
    Use this when the user wants the details of one search result, or who to contact about it. Pass the id from a search result. Returns the result's row plus its description (up to 2000 characters), published points of contact (name and title only) and, when MatchAwards has them, ai: AI-generated notes on fit, subcontracting and large-prime angles and a summary. AI text is AI-generated: label it as such whenever you quote it. Example: id="117402307943537453". Print url, and sam_url for federal notices, as markdown links. Do not use for searching (search_contracts, search_grants, search_jobs) or for contact details beyond the published names and titles.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • lookup_naicsUse this when the user describes a line of work in words and a NAICS code is needed, or asks what a code or code prefix covers.No findings

    Why it is in this group

    • The name "lookup_naics" says "lookup": a word for reading.
    Description, as the server wrote it
    Use this when the user describes a line of work in words and a NAICS code is needed, or asks what a code or code prefix covers. query is words (2 to 100 characters; common terms such as cybersecurity or janitorial list their usual codes first) or 2 to 6 digits (every six-digit code starting with them). limit is 1 to 25, default 10. Pass the codes as naics to search_contracts, search_grants, search_jobs or search_awards. Print each opportunities_url that is set as a markdown link. Do not use for searching opportunities or awards themselves (the search tools take the codes).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • search_awardsUse this when the user asks who won government contracts or grants: past awards by NAICS, agency, state, awardee name or UEI, with amounts and dates.No findings

    Why it is in this group

    • The name "search_awards" says "search": a word for reading.
    Description, as the server wrote it
    Use this when the user asks who won government contracts or grants: past awards by NAICS, agency, state, awardee name or UEI, with amounts and dates. Filters: type (contract_award, grant_award or any), naics (up to 10 codes), agency (a name; the note says which agency it matched), state, awardee (part of a name), uei, keyword (matched in the title; a grant award's title is its recipient's name), awarded_within_days (1 to 1095, default 365), limit (1 to 50, default 20). If has_more is true, call again with cursor=next_cursor and the same filters. Example: naics="541512", agency="Department of Veterans Affairs". Pass several NAICS codes in one call. Award records may be incomplete, so say so. Head a grant award with its awardee name and CFDA number, not its title. Pass an awardee's uei to get_company for its full history. Print each award's url and source_url as markdown links. Do not use for open opportunities to bid on (search_contracts, search_grants) or for one firm's history when its UEI is known (get_company).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • search_contractsUse this when the user wants US federal or state government contract opportunities to bid on: bids, RFPs, solicitations, set-asides.No findings

    Why it is in this group

    • The name "search_contracts" says "search": a word for reading.
    Description, as the server wrote it
    Use this when the user wants US federal or state government contract opportunities to bid on: bids, RFPs, solicitations, set-asides. Filters: naics (up to 10 codes), state, keyword (title only), set_aside (federal only), type (federal or state), posted_within_days (1 to 180), open (default true), agency (a name; the note says which agency it matched), limit (1 to 50, default 20). If has_more is true, call again with cursor=next_cursor and the same filters. Example: naics="238160", state="VA", keyword="roof". Pass several NAICS codes in one call. Print each result's url, and sam_url for federal notices, as markdown links. Do not use for grants (search_grants), jobs (search_jobs) or one result's details (get_opportunity). When you are done searching, call show_results once with the best ids; it shows them as a card the user can pick from.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • search_grantsUse this when the user wants US federal grants or funding opportunities.No findings

    Why it is in this group

    • The name "search_grants" says "search": a word for reading.
    Description, as the server wrote it
    Use this when the user wants US federal grants or funding opportunities. Filters: naics (up to 10 codes), keyword (title only), posted_within_days (1 to 180), open (default true: open grants of any age), limit (1 to 50, default 20). Grant notices carry no state. If has_more is true, call again with cursor=next_cursor and the same filters. Example: keyword="broadband". Pass several NAICS codes in one call. Open status may lag for grants that closed recently, so check response_deadline. Print each result's url as a markdown link. Do not use for contracts to bid on (search_contracts) or jobs (search_jobs). When you are done searching, call show_results once with the best ids; it shows them as a card the user can pick from.

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • search_jobsUse this when the user is looking for a job, or for hiring signals, among postings from the last 30 days.No findings

    Why it is in this group

    • The name "search_jobs" says "search": a word for reading.
    Description, as the server wrote it
    Use this when the user is looking for a job, or for hiring signals, among postings from the last 30 days. Filters: naics (up to 10 codes), state, keyword (title only), posted_within_days (posted within the last 1 to 30 days, default 30), limit (1 to 50, default 20). Rows carry title, agency (the employer), state, city, posted_at and url. If has_more is true, call again with cursor=next_cursor and the same filters. Example: keyword="electrician", state="TX". Pass several NAICS codes in one call. Print each result's url as a markdown link. Do not use for contracts (search_contracts) or grants (search_grants).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true
  • show_resultsUse this last, after searching, to show the user the opportunities you picked as a card.No findings

    Why it is in this group

    • The name "show_results" says "show": a word for reading.
    Description, as the server wrote it
    Use this last, after searching, to show the user the opportunities you picked as a card. Pass up to 10 ids from search_contracts or search_grants results, best first. Keep your reply to a short summary; the card shows the rows. Ids from search_jobs or search_awards are not shown. Do not use to search (search_contracts, search_grants) or for one result's details (get_opportunity).

    Annotations the server declares

    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • readOnlyHint: true

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.0.4. Values in angle brackets are yours to fill in.

claude mcp add --transport http matchawards https://matchawards.com/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__matchawards__search_contracts",
      "mcp__matchawards__search_grants",
      "mcp__matchawards__search_jobs",
      "mcp__matchawards__get_opportunity",
      "mcp__matchawards__lookup_naics",
      "mcp__matchawards__search_awards",
      "mcp__matchawards__get_company",
      "mcp__matchawards__find_teaming_partners",
      "mcp__matchawards__show_results"
    ],
    "ask": [
      "mcp__matchawards__assess_opportunity"
    ],
    "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 matchawards. Review it before you use it.