US federal spending, contracts, SAM.gov notices, FAR clauses and SBIR awards, in plain English.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: Bearer <your SpendQuery API key> for a higher daily limit. Works without a key on the free tier.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Browse what the government buys, with contract spend. kind: psc (products and services) | naics (industries). No group and no query -> the groups (PSC: services by letter, e.g. D = IT services, R = professional support; products by 2 digits, e.g. 84 = clothing and individual equipment; NAICS: 2-digit sectors), largest first. group -> the codes in it. query -> codes whose name contains the words. Default year: last complete fiscal year. Use a code or its name in a plan's psc / naics filter.
psc (products and services) or naics (industries).
A group to list the codes in: a PSC letter or 2-character group (e.g. "D", "84") or a 2-digit NAICS sector (e.g. "54").
Most rows to return, 1-200.
Words in a code's name, e.g. "body armor", "janitorial".
Federal fiscal year (October-September), e.g. 2025; default the last complete one.
Browse what the government buys, with contract spend. kind: psc (products and services) | naics (industries). No group and no query -> the groups (PSC: services by letter, e.g. D = IT services, R = professional support; products by 2 digits, e.g. 84 = clothing and individual equipment; NAICS: 2-digit sectors), largest first. group -> the codes in it. query -> codes whose name contains the words. Default year: last complete fiscal year. Use a code or its name in a plan's psc / naics filter.
| Argument | Type | Description |
|---|---|---|
| kind | string | psc (products and services) or naics (industries). |
| group | any | A group to list the codes in: a PSC letter or 2-character group (e.g. "D", "84") or a 2-digit NAICS sector (e.g. "54"). |
| limit | integer | Most rows to return, 1-200. |
| query | any | Words in a code's name, e.g. "body armor", "janitorial". |
| fiscal_year | any | Federal fiscal year (October-September), e.g. 2025; default the last complete one. |
{
"type": "object",
"title": "browse_codesArguments",
"properties": {
"kind": {
"enum": [
"psc",
"naics"
],
"type": "string",
"title": "Kind",
"default": "psc",
"description": "psc (products and services) or naics (industries)."
},
"group": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Group",
"default": null,
"description": "A group to list the codes in: a PSC letter or 2-character group (e.g. \"D\", \"84\") or a 2-digit NAICS sector (e.g. \"54\")."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 50,
"description": "Most rows to return, 1-200."
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "Words in a code's name, e.g. \"body armor\", \"janitorial\"."
},
"fiscal_year": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fiscal Year",
"default": null,
"description": "Federal fiscal year (October-September), e.g. 2025; default the last complete one."
}
}
}What SpendQuery can answer: data coverage, metrics, dimensions (with examples and whether they apply to contracts or assistance), analyses, the QueryPlan JSON schema, planning rules and example question -> plan pairs. Call this first (no arguments): the federal catalog. section: "states" (state, county and city checkbooks in brief: each jurisdiction, their dimensions, rules and examples), "state:<CODE>" (one jurisdiction in full, e.g. "state:MA"), "rules" (every planning rule), "examples" (every worked example) or "full" (everything).
| Argument | Type | Description |
|---|---|---|
| section | any | Omit for the federal catalog. "states" (state, county and city checkbooks in brief), "state:<CODE>" for one jurisdiction in full (e.g. "state:MA"), "rules", "examples" or "full". |
{
"type": "object",
"title": "get_catalogArguments",
"properties": {
"section": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Section",
"default": null,
"description": "Omit for the federal catalog. \"states\" (state, county and city checkbooks in brief), \"state:<CODE>\" for one jurisdiction in full (e.g. \"state:MA\"), \"rules\", \"examples\" or \"full\"."
}
}
}One FAR or DFARS section's full text (paragraphs), its part and subpart, the sections it refers to and the ones referring to it, and Federal Register rules changing its part. Cite it as FAR <section> (or DFARS) with the as-of date in source.
| Argument | Type | Description |
|---|---|---|
| section* | string | A FAR or DFARS section number, e.g. "52.204-21", "19.502-2" or "252.204-7012". |
{
"type": "object",
"title": "get_far_sectionArguments",
"required": [
"section"
],
"properties": {
"section": {
"type": "string",
"title": "Section",
"description": "A FAR or DFARS section number, e.g. \"52.204-21\", \"19.502-2\" or \"252.204-7012\"."
}
}
}One SAM.gov contract notice as SpendQuery's brief sees it, no AI: the decision card (what the buyer needs, blockers, unknowns, a next step; each line labelled record / files / unknown), the timeline of the buy (planned buy, the contract it follows, earlier and newer notices, the award and the contract it became, each link confirmed / likely / possible) and what changed between versions of its public files. notice_id: from run_plan lists of contract_opportunities, or the id in a SAM.gov notice URL.
| Argument | Type | Description |
|---|---|---|
| notice_id* | string | A SAM.gov notice id: the 32-character hex id in a SAM.gov notice URL (sam.gov/opp/<id>/view) or from run_plan's contract_opportunities rows, e.g. "0a1b2c3d4e5f60718293a4b5c6d7e8f9". |
{
"type": "object",
"title": "get_noticeArguments",
"required": [
"notice_id"
],
"properties": {
"notice_id": {
"type": "string",
"title": "Notice Id",
"description": "A SAM.gov notice id: the 32-character hex id in a SAM.gov notice URL (sam.gov/opp/<id>/view) or from run_plan's contract_opportunities rows, e.g. \"0a1b2c3d4e5f60718293a4b5c6d7e8f9\"."
}
}
}Describe the work in plain words -> the NAICS codes buyers actually use for it (codes on SAM.gov notices whose titles have the words and on federal contracts described with them), each with its SBA size standard.
| Argument | Type | Description |
|---|---|---|
| description* | string | The work in plain words, e.g. "commercial janitorial and floor care" or "drone mapping surveys". |
{
"type": "object",
"title": "naics_finderArguments",
"required": [
"description"
],
"properties": {
"description": {
"type": "string",
"title": "Description",
"description": "The work in plain words, e.g. \"commercial janitorial and floor care\" or \"drone mapping surveys\"."
}
}
}Run a QueryPlan (see get_catalog.plan_schema). Returns status (ok | clarify | unsupported | error), a one-paragraph answer, columns, rows (max 100), the SQL that ran, caveats and how names were resolved to codes.
| Argument | Type | Description |
|---|---|---|
| plan* | object | A QueryPlan object in business terms, following get_catalog's plan_schema, e.g. {"intent": "aggregate", "metric": "obligations", "group_by": ["agency"], "fiscal_years": [2025], "filters": [{"dimension": "award_category", "values": ["contract"]}]}. |
{
"type": "object",
"title": "run_planArguments",
"required": [
"plan"
],
"properties": {
"plan": {
"type": "object",
"title": "Plan",
"description": "A QueryPlan object in business terms, following get_catalog's plan_schema, e.g. {\"intent\": \"aggregate\", \"metric\": \"obligations\", \"group_by\": [\"agency\"], \"fiscal_years\": [2025], \"filters\": [{\"dimension\": \"award_category\", \"values\": [\"contract\"]}]}.",
"additionalProperties": true
}
}
}SBIR and STTR awards since 1983 from SBA's SBIR.gov records, and who received them: totals, awards by year (Phase I / II), by agency, the companies with the most, and the latest awards (company, title, agency, phase, amount, year). Filters: agency (as SBIR.gov names it, e.g. "Department of Defense"), phase ("Phase I" or "Phase II"), program ("SBIR" or "STTR"), state (the winner's), q (words in the award title), company_uei, since (first award year). open_topics: also the SBIR/STTR solicitations open now (SAM.gov and Grants.gov). SBIR.gov counts awards by award year; USAspending (run_plan) counts money by fiscal year, so the two differ.
| Argument | Type | Description |
|---|---|---|
| q | any | Words in the award title, e.g. "hypersonic" or "battery". |
| phase | any | The award phase: Phase I or Phase II. |
| since | any | First award year to count, e.g. 2020. |
| state | any | The winner's two-letter state code, e.g. "VA". |
| agency | any | The awarding agency as SBIR.gov names it, e.g. "Department of Defense", "National Science Foundation". |
| program | any | The program: SBIR or STTR. |
| company_uei | any | A winner's 12-character UEI, e.g. "ZFN2JJXBLZT3". |
Look up codes and official names. kind: agency | bureau | state | county | naics | psc | program. Matches names (substring, case-insensitive) or code prefixes. Plans can use either the names or the codes.
| Argument | Type | Description |
|---|---|---|
| kind* | string | What to look up: agency, bureau (sub-agency), state, county, naics (industry), psc (product or service code) or program (Assistance Listing). |
| limit | integer | Most rows to return, 1-50. |
| query* | string | Words in the name, or the code itself, e.g. "veterans affairs", "541511", "D302". |
{
"type": "object",
"title": "search_codesArguments",
"required": [
"kind",
"query"
],
"properties": {
"kind": {
"enum": [
"agency",
"bureau",
"state",
"county",
"naics",
"psc",
"program"
],
"type": "string",
"title": "Kind",
"description": "What to look up: agency, bureau (sub-agency), state, county, naics (industry), psc (product or service code) or program (Assistance Listing)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"description": "Most rows to return, 1-50."
},
"query": {
"type": "string",
"title": "Query",
"description": "Words in the name, or the code itself, e.g. \"veterans affairs\", \"541511\", \"D302\"."
}
}
}Search the FAR and the DFARS (48 CFR chapters 1 and 2, as codified in the eCFR): sections whose title or text has every word, or a section number (e.g. 52.219-14) straight to it. reg: FAR | DFARS to limit. Returns section numbers, titles and a snippet; read one with get_far_section. The codified text lags the Revolutionary FAR Overhaul's class deviations.
| Argument | Type | Description |
|---|---|---|
| reg | any | Limit to one regulation: FAR or DFARS; omit for both. |
| query* | string | Words that must all appear in the section's title or text (e.g. "limitations on subcontracting"), or a section number (e.g. "52.219-14"). |
{
"type": "object",
"title": "search_farArguments",
"required": [
"query"
],
"properties": {
"reg": {
"enum": [
"FAR",
"DFARS",
null
],
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reg",
"default": null,
"description": "Limit to one regulation: FAR or DFARS; omit for both."
},
"query": {
"type": "string",
"title": "Query",
"description": "Words that must all appear in the section's title or text (e.g. \"limitations on subcontracting\"), or a section number (e.g. \"52.219-14\")."
}
}
}State, county and city government bids and contracts (not federal awards), from the governments that publish them as open data: Los Angeles (the City, LA County, LADWP, LAUSD, airports, port, Metro), New York City, San Francisco, Washington DC, Chicago, Cook County, Austin, Detroit, Richmond, Sacramento, Baton Rouge, Montgomery County MD, Delaware, Texas DOT, California state departments (Cal eProcure), SUNY construction, E-Rate and others. kind: "open" (taking responses, soonest due first), "planned" (forecasts: TxDOT's planned lettings, Illinois CDB, San Diego County), "awarded" (contracts first awarded in the last year: who won, net amounts) or "current" (in force today, soonest ending first: the re-bids). q: words in the title or description; state: two-letter code (open and planned bids); source: one source key from the reply's sources. Coverage is partial: no tool has every state, county and city; say so when the place asked about isn't covered. Each row links to the government's own record (source_url).
| Argument | Type | Description |
|---|---|---|
| q | any | Words in the title or description, e.g. "roofing" or "janitorial". |
| kind | string | open (taking responses, soonest due first), planned (forecasts), awarded (contracts first awarded in the last year) or current (in force today, soonest ending first). |
| limit | integer | Most rows to return, 1-50. |
| state | any | Two-letter state code, e.g. "TX" (open and planned bids). |
| source | any |
Find award recipients (companies, universities, governments) by name or UEI. Returns each registration's UEI, parent, listed-company ticker (if matched) and its OWN obligations across loaded years, largest first. A parent's money sits on its units, so a parent UEI's own obligations can be small or negative: for a company's total use run_plan with a company filter (name or ticker). A UEI that is a parent also returns parent_rollup (its units).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Most rows to return, 1-50. |
| query* | string | A company or recipient name, or a 12-character UEI, e.g. "booz allen" or "ZFN2JJXBLZT3". |
{
"type": "object",
"title": "search_recipientsArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"description": "Most rows to return, 1-50."
},
"query": {
"type": "string",
"title": "Query",
"description": "A company or recipient name, or a 12-character UEI, e.g. \"booz allen\" or \"ZFN2JJXBLZT3\"."
}
}
}SBA small business size standards (13 CFR 121.201, the eCFR table): a NAICS code, a code prefix (5415) or industry words -> receipts ($ millions) or employees, exceptions and footnotes, and the programs that use them.
| Argument | Type | Description |
|---|---|---|
| query* | string | A 6-digit NAICS code (e.g. "541511"), a code prefix (e.g. "5415") or industry words (e.g. "custom software"). |
{
"type": "object",
"title": "size_standardArguments",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"description": "A 6-digit NAICS code (e.g. \"541511\"), a code prefix (e.g. \"5415\") or industry words (e.g. \"custom software\")."
}
}
}For 6-digit NAICS codes (and an optional agency): the shared contract vehicles (GWACs, multiple-award IDIQs, GSA Schedule, BPAs) carrying last complete year's contract money in those codes, the share through each and who each is reserved for (read from its name).
| Argument | Type | Description |
|---|---|---|
| naics* | array | One or more 6-digit NAICS codes, e.g. ["541511", "541512"]. |
| agency | any | An agency to limit to, by name or code, e.g. "Department of Veterans Affairs" or "036". |
{
"type": "object",
"title": "vehicle_matchArguments",
"required": [
"naics"
],
"properties": {
"naics": {
"type": "array",
"items": {
"type": "string"
},
"title": "Naics",
"description": "One or more 6-digit NAICS codes, e.g. [\"541511\", \"541512\"]."
},
"agency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agency",
"default": null,
"description": "An agency to limit to, by name or code, e.g. \"Department of Veterans Affairs\" or \"036\"."
}
}
}| open_topics | boolean | Also list the SBIR/STTR solicitations open now (SAM.gov and Grants.gov). |
{
"type": "object",
"title": "sbir_awardsArguments",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null,
"description": "Words in the award title, e.g. \"hypersonic\" or \"battery\"."
},
"phase": {
"enum": [
"Phase I",
"Phase II",
null
],
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Phase",
"default": null,
"description": "The award phase: Phase I or Phase II."
},
"since": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Since",
"default": null,
"description": "First award year to count, e.g. 2020."
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null,
"description": "The winner's two-letter state code, e.g. \"VA\"."
},
"agency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agency",
"default": null,
"description": "The awarding agency as SBIR.gov names it, e.g. \"Department of Defense\", \"National Science Foundation\"."
},
"program": {
"enum": [
"SBIR",
"STTR",
null
],
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Program",
"default": null,
"description": "The program: SBIR or STTR."
},
"company_uei": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Company Uei",
"default": null,
"description": "A winner's 12-character UEI, e.g. \"ZFN2JJXBLZT3\"."
},
"open_topics": {
"type": "boolean",
"title": "Open Topics",
"default": false,
"description": "Also list the SBIR/STTR solicitations open now (SAM.gov and Grants.gov)."
}
}
}| One source key from the reply's sources, e.g. "txdot", "nyc", "lacity". |
{
"type": "object",
"title": "search_local_bidsArguments",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null,
"description": "Words in the title or description, e.g. \"roofing\" or \"janitorial\"."
},
"kind": {
"enum": [
"open",
"planned",
"awarded",
"current"
],
"type": "string",
"title": "Kind",
"default": "open",
"description": "open (taking responses, soonest due first), planned (forecasts), awarded (contracts first awarded in the last year) or current (in force today, soonest ending first)."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"description": "Most rows to return, 1-50."
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null,
"description": "Two-letter state code, e.g. \"TX\" (open and planned bids)."
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source",
"default": null,
"description": "One source key from the reply's sources, e.g. \"txdot\", \"nyc\", \"lacity\"."
}
}
}