Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

MatchAwards

by matchawardsversion 1.1.6i★ –iComputer or cloud
Registry nameio.github.matchawards/matchawards-mcp

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://matchawards.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "matchawards": {
      "command": "uvx",
      "args": [
        "matchawards-mcp"
      ],
      "env": {
        "MATCHAWARDS_API_BASE": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http matchawards https://matchawards.com/mcp

Or run it on your computer

claude mcp add matchawards --env MATCHAWARDS_API_BASE=your-value -- uvx matchawards-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "matchawards": {
      "url": "https://matchawards.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "matchawards": {
      "command": "uvx",
      "args": [
        "matchawards-mcp"
      ],
      "env": {
        "MATCHAWARDS_API_BASE": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "matchawards": {
      "type": "http",
      "url": "https://matchawards.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "matchawards": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "matchawards-mcp"
      ],
      "env": {
        "MATCHAWARDS_API_BASE": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://matchawards.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MATCHAWARDS_API_BASE env
    Base URL of the MatchAwards API. Leave unset to use https://matchawards.com; set only for development.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • search_contracts

    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), ope

  • search_grants

    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 tr

  • search_jobs

    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 ti

  • get_opportunity

    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

  • lookup_naics

    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 co

  • search_awards

    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)

  • get_company

    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 an

  • assess_opportunity

    Use this when the user asks if one opportunity is a good fit for them, whether to bid, or wants a bid brief: days left, set-aside match, similar past awards at the same agency, the firms that usually win such work and the usual award value. Pass the id from a search result, and o

  • find_teaming_partners

    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 Matc

  • my_matches

    Use this when the user asks for their own matches: open contracts for their business. It needs a linked MatchAwards account and uses that account's NAICS codes and state; without a linked account it asks the user to link one. Options: type (federal or state), ignore_state (true:

  • show_results

    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.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account matchawards, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 774 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 11 tool descriptions and found no hidden instructions to the AI

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7247 servers in this category
  • Published to the registry more recently than 97% of the other 7247 servers in this category
  • Basic checks equal to or better than 100% of the other 7247 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is MatchAwards safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.1.6) reached the registry yesterday.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated today
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated last month
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

MatchAwards MCP server

*MatchAwards gives AI agents direct access to continuously updated government and business contracts, grants, jobs, awards and collaboration opportunities.*

This is the Model Context Protocol server for MatchAwards. It lets Claude, Cursor, VS Code and other MCP clients search US government contract opportunities, grants and jobs, and past contract and grant awards. It only reads data, and it needs no account and no API key.

Tools

ToolWhat it returnsExample prompt
search_contractsFederal and state contract opportunities. Filters: NAICS (up to 10 codes), state, keyword, set-aside, federal or state only, posted within N days, open only, agency (by name), 1 to 50 results, paging."Find open roofing contracts in Virginia posted in the last week."
search_grantsFederal grant and funding opportunities. Filters: NAICS, keyword, posted within N days, open only, 1 to 50 results, paging (grant notices carry no state)."Are there open broadband grants?"
search_jobsJob postings from the last 30 days. Filters: NAICS, state, keyword, posted within N days, 1 to 50 results, paging."Show electrician jobs in Texas from the last 7 days."
get_opportunityThe full record of one opportunity: the search row plus its description, published points of contact (name and title) and, where MatchAwards has them, AI-generated notes (ai: fit, reasoning, subcontracting and large-prime angles, summary), labelled as AI-generated."Who do I contact about the second result?"
lookup_naicsNAICS codes from words ("cybersecurity") or from a 2 to 6 digit code prefix, with each code's page on matchawards.com. 1 to 25 codes."What NAICS code covers cybersecurity consulting?"
search_awardsPast federal contract awards and grant awards: awardee (name, UEI, DUNS), amount, date, agency, NAICS, set-aside, place, solicitation, contract and CFDA numbers, links to matchawards.com and to SAM.gov or USAspending. Filters: type, NAICS, agency (by name), state, awardee name, UEI, keyword, awarded within N days (up to 1,095), 1 to 50 results, paging."Who won VA contracts under NAICS 541512 in the last year?"
get_companyOne firm's award history by UEI: names, location (city, state, country), contract and grant totals, first and last award dates, top NAICS codes and agencies, the 10 most recent awards. No contact details."Show the award history of UEI C3KXNLTAAY98."
assess_opportunityA qualification brief on one opportunity: days left (US Eastern), open or closed, set-aside and NAICS (and whether they match the user's my_set_aside and my_naics), the AI-generated notes, the 5 newest similar awards (same NAICS at the same agency, or all agencies when that agency has none; the newest 150 at most from the last 3 years, and sample says which dates were read and whether that was all of them), the top 5 firms that won similar work (by count, then total), the quartiles of their award amounts and a coverage note."Should we bid on the first result? We're NAICS 336413, small business."
find_teaming_partnersUp to 10 firms that won similar awards, from the newest records read (sample; same NAICS in the opportunity's state, then at its agency; the NAICS anywhere when neither returns any and award requests are left), de-duplicated by UEI, ranked by count, then the most recent, then the total, each with a why line written from the records. Firms without a UEI in the records are listed with uei: null, and the note says their history can't be looked up. role (sub, prime, any) puts smaller or larger typical awards first among firms with the same count. Public award data only: no contacts, no profile links."Who could we team with on that Air Force notice?"

The agency filter takes a name. The server looks it up among MatchAwards' agencies (exact name first, then names that start with it, then the rest in the API's order) and filters by the best match only, for now; the result's note names that agency and lists up to three other matches (one department can have several agency accounts), and when nothing matches, the search covers all agencies and the note says so. Lookups are cached for 10 minutes.

Award records may be incomplete (federal awards especially), so every award result says so. The two brief tools describe firms as having won similar work, never as the incumbent; they make at most 1 opportunity request and 6 award requests per call (at most 3 per query, shared by the queries), within 6 seconds, and when either limit cuts the lookup short they answer with what they read and a warning. Their sample says how many award records the figures rest on, their dates, and whether every matching record was read. A grant award's title is its recipient's name, so the model is asked to head it with the awardee name and CFDA number instead.

Every tool is read-only and needs no account (except my_matches, a hosted tool that exists only with account linking on; see Linked accounts): each declares readOnlyHint, idempotentHint, a title and securitySchemes: [{"type": "noauth"}] (in _meta). Results are structured: each tool publishes an outputSchema and returns structuredContent, with the same JSON as text for clients that read only text. Every result carries a url on matchawards.com (and a sam_url for federal notices), and the server asks the model to show them as markdown links. Links to matchawards.com carry utm_source, utm_medium and utm_campaign parameters naming the AI host the request came from (for example utm_source=chatgpt); links to other sites are left unchanged.

Changes in 1.1.6
  • Rate limits (hosted): only tool calls count in the per-client limit, now 60 per minute and 20 per 5 seconds (the MatchAwards API's own per-address limit; was 30 and 10 for every request), 240 per minute per IPv6 /48. Handshake and listing requests, which coding agents such as Codex repeat before every call, have their own budget of 600 per minute and 120 per 5 seconds (MATCHAWARDS_PROTOCOL_PER_MIN, MATCHAWARDS_PROTOCOL_BURST), with 6000 per minute for all clients together (MATCHAWARDS_PROTOCOL_GLOBAL_PER_MIN, the only one that applies to ChatGPT's addresses). Rejections count as rate_limit_protocol and rate_limit_protocol_global. A body that does not arrive within 10 seconds gets 408 (timeout).
  • The Codex CLI (User-Agent codex-mcp-client/...) is its own family, codex, in the usage metrics. Its links keep utm_source=mcp.
Changes in 1.1.5
  • Go-links (hosted, MATCHAWARDS_GO_LINKS=1): an opportunity's sam_url and an award's source_url are given as the record's https://matchawards.com/go/ / link, which redirects to the same SAM.gov or USAspending page and counts the hand-off. A record without a MatchAwards id or page keeps its plain link. Off by default.
Changes in 1.1.4
  • search_contracts: the first page of a NAICS search that found something tells the model it may offer, once per conversation, a free MatchAwards account that sends new matches for those codes by email, with a sign-up link carrying the host's UTM parameters. my_matches never offers it.
  • MATCHAWARDS_CHATGPT_SIGNIN=0 (hosted, linking on): while ChatGPT's connection offers no sign-in, my_matches answers ChatGPT without the challenge (ChatGPT shows one only as an internal error): sign-in isn't available there yet, search by NAICS codes instead. Counted as outcome signin_unavailable.
Changes in 1.1.3
  • my_matches without a linked account: when the app gives the user no way to sign in, the model says plainly that signing in to MatchAwards isn't available there yet (not an error), asks what the business does, finds the codes with lookup_naics and searches with search_contracts.
Changes in 1.1.2
  • No NAICS codes given: the instructions have the model ask what the user's business does (or its codes) and find the codes with lookup_naics, in every mode. With linking on, my_matches on a profile without codes asks the same, searches with the codes found (keeping the profile's state and set-aside) and offers the match-settings link to save them.
  • "Nothing here needs an account" is in the instructions only with linking off; with linking on it contradicted my_matches.
  • The keyword hint says keyword search matches whole words in titles, and to try another form of the word.
Changes in 1.1.1
  • Hosted server: MATCHAWARDS_API_MAX_IN_FLIGHT (default 16) caps the requests to the public API in flight at once for the whole server. A request waits up to 5 seconds for a free slot (less when the tool's own time limit is nearer), then the tool answers "busy, retry" without calling the API. The per-minute API budget is spent only once a slot is held.
Changes in 1.1.0
  • Tool choice: assess_opportunity is described as the tool for fit, bid/no-bid and bid-brief questions, and get_opportunity points those questions to it (contracts and grants only).
  • Keyword hint: a contract, grant or award search by keyword with no NAICS code and only a few rows says in its note that keyword search matches titles only and points to lookup_naics.
  • Hosted server metrics: tool calls by User-Agent family, rows returned per list tool, MatchAwards API timing per endpoint and outcome, API requests per tool call, distinct ChatGPT conversations and first-seen ChatGPT users. Stats show the empty-result rate per tool; the ledger gains a rows column, added at open.
  • Hosted server: optional account linking and the my_matches tool (see Linked accounts). Off unless MATCHAWARDS_AUTH_ISSUER is set; with it off nothing else changes.
Changes in 1.0.4
  • The result card renders in Claude: its _meta.ui.domain is left out for Claude, which accepts only its own sandbox domain; other hosts still get https://matchawards.com.
Changes in 1.0.3
  • Hosted server: usage-stat rows are kept 180 days by default (was 365), set by MATCHAWARDS_USAGE_RETENTION_DAYS.
Changes in 1.0.2
  • Cards come from a new tool, show_results, which the model calls once with the ids it picked; the search tools return data only. The card (results-v2.html) expands a row in place and has an "Ask about this" button.
  • Results filtered by naics say which requested codes matched: matched_naics (the record's own codes) and, on contract notices, ai_matched_naics (codes MatchAwards' AI suggested).
  • Links to matchawards.com carry UTM parameters naming the AI host.
  • Hosted server: the shared limit is 1200 requests per minute, and /metrics adds tool latency, distinct-caller and client counts.
Changes in 1.0
  • search_by_naics is removed: search_contracts, search_grants and search_jobs take the same naics filter on its own.
  • find_contacts is removed: get_opportunity returns the published contacts with the rest of the record.
  • Results are structured output (outputSchema plus structuredContent). Fields the API adds later appear in results only once the schema declares them. get_opportunity returns ai (AI-generated notes, labelled as such) where MatchAwards has them, else null.
  • Tool annotations are closed-world (openWorldHint: false): the tools read the MatchAwards catalog only.
  • New tools: lookup_naics, search_awards, get_company, assess_opportunity and find_teaming_partners; search_contracts takes an agency name.

Cards

Hosts that render MCP Apps (ChatGPT, Claude) get one inline card per answer: after searching, the model calls show_results with up to 10 contract or grant ids it picked, and the card lists up to 8 of them with title, agency, place, a federal/state/grant badge, the deadline (days left, closed, or no fixed deadline), set-a

Only the beginning is shown; read the rest in the repo

Ask PopNx