mcp-sam-govBLOCK
Keyless-first MCP server — 150 tools for US federal + state/local (SLED) government contracting, spending, regulation & partner vetting. SAM.gov, USAspending, Grants.gov, OFAC, FDIC, EPA, CourtListener + 45 more. No API key. Honesty-hardened.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
$4 trillion of public federal data, one `npm install` away.
The most comprehensive keyless-first MCP server for US federal and state/local (SLED) contracting + spending + regulation + partner vetting. 153 tools across 54 data sources — keyless-first: only 4 sources (Census business-patterns, FRED, BEA, and DOL's data endpoint) need a free key; the other 50 need none. Works today, in any AI agent.
Independent project — not affiliated with, endorsed by, or sponsored by SAM.gov, the U.S. General Services Administration (GSA), or any government agency.
[](https://www.npmjs.com/package/@cliwant/mcp-sam-gov) [](https://registry.modelcontextprotocol.io/v0/servers?search=cliwant) [](https://glama.ai/mcp/servers/cliwant/mcp-sam-gov) [](./LICENSE) [](https://github.com/cliwant/mcp-sam-gov/actions/workflows/daily-smoke.yml) [](https://insiders.vscode.dev/redirect/mcp/install?name=sam-gov&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cliwant%2Fmcp-sam-gov%22%5D%7D) [](https://kiro.dev/launch/mcp/add?name=sam-gov&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40cliwant%2Fmcp-sam-gov%22%5D%7D)
English · 한국어 · 日本語
See it in action
👤 user Find active SAM.gov solicitations under NAICS
da30bd343e34OBSERVED · 2026-10-10Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add mcp-sam-gov --env SAM_GOV_API_KEY=${SAM_GOV_API_KEY} --env CENSUS_API_KEY=${CENSUS_API_KEY} --env FRED_API_KEY=${FRED_API_KEY} --env BEA_API_KEY=${BEA_API_KEY} -- npx -y @cliwant/[email protected]Exposed tools (114)
111 read · 2 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
arcgis_feature_query | read | Query rows from a curated US-government ArcGIS REST feature layer (keyless) — the QUERY companion to arcgis_hub_discover_datasets (which discovers Hub datasets). A large amount of SLED procurement/GIS data lives on ArcGIS. First payload: the **DC Office of Contracting & Procurement |
arcgis_hub_discover_datasets | read | Discover ArcGIS Hub datasets by keyword — the SLED/GIS open-data layer that Socrata and CKAN do NOT cover (keyless; hub.arcgis.com/api/v3/datasets). Input |
bea_regional_data | read | Regional (county / state / MSA) GDP by industry and personal income from the BEA Regional Economic Accounts (apps.bea.gov/api/data, dataset |
bls_oews_wages | read | BLS OEWS occupational wage/employment benchmarking by area × occupation × datatype (keyless; api.bls.gov). Builds validated 25-char series IDs from structured inputs and batches them into one POST — NO year input (OEWS serves only the latest annual release). Inputs: |
bls_qcew | read | BLS QCEW (Quarterly Census of Employment & Wages) — county×NAICS market-size / wages / location-quotient (keyless; data.bls.gov/cew Open Data Access CSV, un-rate-limited). Inputs: |
bls_timeseries | read | Fetch one or more BLS time-series over a year range (keyless v1 default; optional free BLS_API_KEY lifts to v2; api.bls.gov POST). At least one of |
bonfire_list_organizations | read | List US governments on the Bonfire (Euna) eProcurement platform — the directory for bonfire_search_opportunities (keyless). Bonfire hosts thousands of US state/local governments |
bonfire_search_opportunities | read | List a government |
census_geocode_address | read | Resolve a one-line US address → matched address(es) + the Census GEOGRAPHIES for set-aside / place-of-performance analysis (US Census Geocoder, keyless; geocoding.geo.census.gov/geocoder/geographies/onelineaddress). Input: |
census_geographies_by_coordinates | read | Resolve a longitude/latitude point → the Census GEOGRAPHIES at that point, no address parsing (US Census Geocoder, keyless; geocoding.geo.census.gov/geocoder/geographies/coordinates). For a caller that already holds coordinates. Input |
ckan_discover_datasets | read | Find CKAN datastore resource ids by keyword via package_search (keyless). Input |
ckan_query | read | Query rows from an allowlisted CKAN datastore resource (keyless; state/city spend/checkbook/procurement/vendor tables on the CKAN Action API). VA eVA PO lines: host=data.virginia.gov resourceId=3c7f1bde-35b0-4fbf-b89c-978a19124d53. Full map: read resource samgov://data-map/state-local. Input |
clinicaltrials_facet_counts | read | Aggregate EXACT per-value study counts over the WHOLE ClinicalTrials.gov registry for 1..11 whitelisted ENUM fields (keyless; clinicaltrials.gov/api/v2/stats/field/values). Input |
clinicaltrials_get_study | read | Fetch ONE clinical study by its NCT id (keyless; clinicaltrials.gov/api/v2/studies/{nctId}). Input |
cms_dmepos_suppliers | read | Look up Medicare DMEPOS (Durable Medical Equipment) SUPPLIERS — supplier identity plus aggregate Medicare figures: HCPCS codes billed, beneficiaries served, claims, services, submitted / Medicare-allowed / Medicare-paid amounts (CMS |
cms_facility_directory | read | Medicare/Medicaid-certified healthcare facilities by type — nursing homes, home health agencies, hospices, or dialysis facilities — with name, address, city, state, zip, and ownership (CMS provider-data, keyless; data.cms.gov datastore-query API, four datasets). Input: |
cms_hospital_compare | read | Look up Medicare-certified hospitals by state and/or facility-name fragment — location, type, ownership, emergency-services flag, and CMS star rating (CMS Hospital Compare |
cms_medicare_provider_services | read | Medicare Part-B provider utilization — HCPCS services rendered, beneficiaries served, and submitted / Medicare-allowed / Medicare-paid amounts (CMS |
cms_query_dataset | read | Query a CMS Open Payments DKAN datastore distribution by datasetId + index (keyless; openpaymentsdata.cms.gov). Returns { datasetId, index, results (mode), fields:[{name,type,mysqlType,description}], rows:[...verbatim...] } + honest _meta. ★HONESTY: |
cms_revoked_providers | read | Search CMS |
congress_get_bill | read | Fetch ONE Congress.gov bill by id via /v3/bill/{congress}/{billType}/{billNumber} (api.data.gov keyed; DATA_GOV_API_KEY or DEMO_KEY). Input |
congress_search_bills | read | Search Congress.gov BILLS/legislation (api.data.gov keyed; DATA_GOV_API_KEY or DEMO_KEY). Input optional |
cve_lookup | read | Look up NIST NVD CVE records (keyless; services.nvd.nist.gov CVE API 2.0) — exact by |
datagov_search_datasets | write | Search the data.gov DATASET CATALOG for federal open datasets across all publishing agencies (api.gsa.gov v4 Catalog API, keyed — DATA_GOV_API_KEY or the shared DEMO_KEY) — the replacement for the CKAN package_search endpoint data.gov RETIRED in 2025, restoring federal dataset DISCOVERY. Input |
ecfr_get_section | destructive | Get the FULL in-force text of ONE CFR section by citation (the companion to ecfr_search, which returns only snippets). Input titleNumber (1–50) + section (e.g. |
ecfr_list_titles | read | List all 50 CFR titles with name + last_amended_on date. Use to discover what |
echo_facility_report | read | Fetch the EPA ECHO Detailed Facility Report (DFR) for ONE facility by its FRS RegistryID (keyless) — the per-facility compliance / enforcement / inspection / permit deep-dive for competitor or acquisition-target due diligence. Input |
edgar_company_concept | read | One filer × one XBRL concept × complete reported time-series (keyless; data.sec.gov companyconcept), including amendment/restatement history. Sits between edgar_company_facts (many concepts, one filer) and edgar_xbrl_frames (one concept, all filers). start=null for INSTANT concepts. Input: |
edgar_company_facts | read | Curated XBRL financial facts for a filer (keyless, from data.sec.gov companyfacts). Input |
edgar_company_filings | read | A company |
edgar_daily_filing_index | read | Per-day sibling of edgar_filing_index. Per-day cross-filer SEC filing index (keyless; www.sec.gov EDGAR daily-index master.YYYYMMDD.idx) — reads ONE calendar day |
edgar_filing_index | read | Bulk sweep — per-filer edgar tools need a CIK. Bulk cross-filer SEC filing index for a quarter (keyless; www.sec.gov EDGAR full-index master.idx). Reads the WHOLE quarter |
edgar_full_text_search | read | Full-text search across EDGAR filings, 2001-present (keyless, efts.sec.gov). Input |
edgar_lookup_cik | read | Resolve a company ticker or name to its 10-digit SEC CIK (keyless, via SEC company_tickers.json). Input |
edgar_xbrl_frames | read | Keyless cross-filer XBRL cross-section (SEC EDGAR frames, data.sec.gov). In ONE call, return EVERY filer |
epa_tri_facilities | read | Look up EPA Toxics Release Inventory (TRI) reporting facilities by state / facility-name / county — an environmental-footprint / place-of-performance screen (EPA Envirofacts, keyless; data.epa.gov/efservice/tri_facility). Input: |
fac_get_findings | read | Drill into audit-RISK findings for an entity from the Federal Audit Clearinghouse (keyless via api.data.gov DEMO_KEY; api.fac.gov PostgREST |
fac_search_audits | read | Search entity Single Audit summaries from the Federal Audit Clearinghouse (keyless via api.data.gov DEMO_KEY; api.fac.gov PostgREST |
far_clause_lookup | read | Authoritative FAR/DFARS clause text + its PRESCRIPTION (the |
far_compliance_matrix | read | Turn a solicitation |
far_search | read | FAR/DFARS-scoped semantic search — the |
fdic_bank_failures | read | Historical FDIC-insured bank failures & assistance transactions (keyless; api.fdic.gov/banks/failures). CERT links a failure back to fdic_search_institutions / fdic_institution_financials. Filters: |
fdic_branch_deposits | read | FDIC branch-deposit footprint — the Summary of Deposits (keyless FDIC BankFind, api.fdic.gov/banks/sod): the annual June-30 branch-office deposit distribution ( |
fdic_industry_summary | read | FDIC banking-sector ANNUAL AGGREGATES — total assets, deposits, net income, equity & net interest income + institution/office/branch/employee counts for the whole US OR one state, split by charter class (keyless; api.fdic.gov/banks/summary). Filters (all optional): |
fdic_institution_financials | read | Quarterly financial time-series for ONE FDIC-insured institution by certificate number (keyless FDIC BankFind, api.fdic.gov/banks/financials). Input |
fdic_search_institutions | read | Search the FDIC-insured-institution directory (keyless FDIC BankFind, api.fdic.gov/banks/institutions) — a regulated-entity directory for B2G counterparty / bank due-diligence. Structured filters: |
fed_register_get_document | read | Fetch full detail for a Federal Register document by number. Returns title, abstract, citation, publication_date, effective_on, raw_text_url (for the full body), CFR references — everything needed to ground a regulation citation. |
fed_register_list_agencies | read | List all Federal Register agencies with slugs (needed for fed_register_search_documents). Use to resolve |
fed_register_public_inspection | read | Federal Register PUBLIC INSPECTION desk — documents FILED with the Office of the Federal Register but NOT YET published (a pre-publication LEADING INDICATOR, ~1-to-several days ahead of the official publication_date). mode: |
fed_register_search_documents | read | Search Federal Register documents (proposed rules, final rules, notices, presidential documents) by query / agency / type / date range. Use for regulatory-context queries ( |
fema_disaster_declarations | read | Look up FEMA disaster / emergency declarations by state, type, incident, year, or date (keyless OpenFEMA, dataset DisasterDeclarationsSummaries v2, ~70k rows). Structured filters (module-built into an OData $filter; each LIVE-VERIFIED to narrow): |
fema_search_public_assistance | read | Search FEMA Public Assistance funded projects — federal emergency-assistance spend to state/local/tribal applicants (keyless OpenFEMA, dataset PublicAssistanceFundedProjectsDetails v2, ~800k rows). Structured filters (module-built into an OData $filter; each LIVE-VERIFIED to narrow): |
fpds_search_awards | read | Search FPDS-NG federal contract AWARD ACTIONS (keyless ATOM) — the AUTHORITATIVE system-of-record for contract actions (each modification is its own transaction), the source USAspending.gov derives from (and lags 1-2 days). Structured filters ONLY, AND-combined (NO raw query — a typo |
fred_series_observations | read | Fetch a FRED series |
govinfo_get_package | read | Fetch ONE GovInfo package |
govinfo_search_packages | read | Search GovInfo packages in a collection modified since a date (GPO-authoritative bulk publications; api.data.gov keyed). Input |
grants_get_opportunity | read | Fetch full detail for a single grant opportunity by id. Returns found:true with description, agency, posting/response/archive dates, award_ceiling, award_floor, estimated_funding, expected_number_of_awards, applicant_types, funding_instruments, CFDA programs. |
gsa_perdiem_rates | read | Look up GSA Federal Travel PER-DIEM rates — the max lodging + Meals & Incidental Expenses (M&IE) reimbursement ceilings for official U.S. government travel (api.gsa.gov /travel/perdiem/v2, keyed — DATA_GOV_API_KEY or the shared DEMO_KEY). Input: EITHER |
hts_lookup | write | Look up US import-tariff classification + duty rates from the USITC Harmonized Tariff Schedule (keyless; hts.usitc.gov/reststop/search). A single |
lda_search_filings | read | Search US Senate LDA (Lobbying Disclosure Act) filings — who is paid how much to lobby which federal agency on which issue (lda.senate.gov/api/v1/filings, KEYLESS — anonymous access works; optional free LDA_API_KEY only raises the rate limit). Filters (all optional): |
nhtsa_complaints | read | Look up NHTSA consumer COMPLAINTS for a specific vehicle — owner-filed safety complaints with the affected component, crash/fire flags, injury/death counts, and incident/filing dates (NHTSA /complaints/complaintsByVehicle; api.nhtsa.gov). KEYLESS — no API key is required or accepted. Input: |
nhtsa_recalls | read | Look up NHTSA vehicle safety RECALLS for a specific vehicle — the manufacturer |
nist_800_53_controls | read | Look up NIST SP 800-53 Rev 5 security & privacy CONTROLS (keyless) — the requirement backbone for FedRAMP / CMMC / RMF compliance work. Complements cve_lookup + cisa_kev_lookup. Retrieve by |
nonprofit_financials | read | Fetch ONE US tax-exempt nonprofit |
nppes_lookup_provider | read | Keyless CMS/HHS NPPES NPI Registry — every US healthcare provider (NPI-1 individual + NPI-2 organization). EXACT-NPI mode (when |
nsf_get_award | read | Fetch ONE NSF award by its numeric award id (keyless; api.nsf.gov/services/v1/awards.json). Input |
nsf_search_awards | read | Search awarded NSF research-grant awards (keyless; api.nsf.gov/services/v1/awards.json), joinable to SAM/USAspending via ueiNumber/parentUeiNumber. Filters: keyword (MULTI-WORD is OR-tokenized — |
ofac_screen_entity | read | Keyless OFAC denied-party sanctions screening — the legally-required leg that SAM exclusions does NOT cover (31 CFR ch. V, strict-liability). Screens a |
open_checkbook_search | read | Row-level vendor-payment search over a curated US-government **Socrata Open Expenditures** checkbook portal (keyless) — a SLED spending source. Some govs run Socrata |
opengov_search_solicitations | read | List a government |
regulations_get_docket | read | Fetch ONE Regulations.gov docket by id via /v4/dockets/{docketId} (api.data.gov keyed; DATA_GOV_API_KEY or DEMO_KEY) — the detail view where |
regulations_search_dockets | read | Search Regulations.gov DOCKETS — the rulemaking/nonrulemaking CONTAINER that groups every document + comment under one regulatory action (api.data.gov keyed; DATA_GOV_API_KEY or the shared DEMO_KEY). Input |
regulations_search_documents | read | Search Regulations.gov rulemaking DOCUMENTS (rules, proposed rules, notices) — the flagship of the api.data.gov keyed source (JSON:API; DATA_GOV_API_KEY or the shared DEMO_KEY). Input |
sam_attachment_url | read | Build the public download URL for an attachment resourceId. The URL returns a 303 redirect to a signed S3 URL — fetch with redirect: |
sam_fetch_description | read | Return the full description / RFP body text for a notice as plain text. Useful when sam_get_opportunity returned a description URL instead of inline body, or for an LLM-friendly text dump. |
sam_get_opportunity | read | Fetch full detail for a single SAM.gov notice by 32-char hex noticeId. Returns title, agency, solicitation #, POCs, response deadline, attachments (with download URLs), inline description body. Call BEFORE drafting bid/no-bid or compliance work. |
sam_integrity_lookup | read | Keyless ONE-CALL integrity screen — |
sam_lookup_notice_fields | read | BATCH-complete a sam_search_opportunities page in ONE call from the GSA daily bulk CSV (keyless). The keyless HAL list endpoint NULLS each result |
sam_lookup_organization | read | Resolve a SAM.gov federal-organization id to its canonical fullParentPathName (e.g. |
sam_search_opportunities | read | Search SAM.gov federal contracting opportunities (keyless HAL). Returns up to 50 active notices with title, agency, NAICS, noticeId. Use for discovery — narrow with NAICS / agency / set-aside / state. |
sam_search_shaping | read | PRE-SOLICITATION shaping radar (keyless HAL). Surfaces Sources Sought / Presolicitation / Special Notices BEFORE the RFP exists — the free, real-time analogue of paid agency-forecast feeds. Closes the pre-solicitation lifecycle gap: catch a requirement while it |
sam_search_wage_determinations | read | Find the Service Contract Act (SCA) or Davis-Bacon Act (DBA) wage determination(s) for a locality (keyless SAM SGS). For a Davis-Bacon lookup pass state + county + constructionType (e.g. |
sba_size_standard | read | SBA small-business size standard for a 6-digit NAICS (keyless sba.gov naics.json). Answers |
search_gov_domains | read | Search the authoritative US .gov domain registry (CISA get.gov) — resolve which ORGANIZATION owns a .gov domain, enumerate federal agencies, and MAP SLED entities (state/county/city/school-district/special-district/tribal) for market targeting. Keyless. scope |
socrata_discover_datasets | read | Find Socrata dataset 4x4 ids by keyword via the Socrata catalog (keyless, api.us.socrata.com). Input |
tableau_view_csv | read | Fetch a curated US-government **Tableau Server Guest** view |
treasury_avg_interest_rates | read | Average interest rate the US Treasury pays by security type/description (keyless Treasury Fiscal Data). Returns record_date, securityType, securityDescription, avgInterestRatePercent (percent, number|null). |
treasury_debt_to_penny | read | Daily total US public debt outstanding ( |
treasury_monthly_statement | read | Monthly Treasury Statement (MTS table 1, keyless): federal receipts, outlays, and deficit/surplus by month. Returns record_date, classification, grossReceipts, grossOutlays, deficitSurplus (USD, number|null). |
usas_autocomplete_naics | read | Autocomplete NAICS codes by free-text. ANTI-HALLUCINATION GUARD — call this when the user mentions a NAICS theme but no specific code (e.g. |
usas_autocomplete_recipient | read | Autocomplete recipient names. ANTI-HALLUCINATION — confirm a recipient |
usas_disaster_spending | read | Disaster / emergency-fund spending BY GEOGRAPHY — obligations or outlays tagged to one or more Disaster Emergency Fund Codes (DEFC: COVID-19, IIJA, etc.), broken out per state / county / congressional district (keyless USAspending disaster/spending_by_geography). Answers |
usas_get_agency_budget_function | read | Budget function breakdown for an agency × fiscal year. Returns the agency |
usas_get_agency_profile | read | Get full agency profile by toptier code (3-4 digits, from usas_lookup_agency). Returns mission, abbreviation, website, subtier_agency_count, congressional_justification_url. |
usas_get_award_detail | read | Fetch full detail for a single award by generatedInternalId (from usas_search_individual_awards). Returns period_of_performance (start/end/potential_end), base_and_all_options, set-aside type, competition extent, number_of_offers — the per-award fields the search endpoint omits. |
usas_get_recipient_profile | read | Full recipient detail by recipient_id (from usas_search_recipients). Returns alternate_names (M&A history), DUNS, UEI, parent linkage, business_types, location, total_amount, total_transactions. |
usas_glossary | read | USAspending glossary of 151 federal-spending terms. Use to confirm terminology ( |
usas_list_disaster_codes | read | List the Disaster Emergency Fund Codes (DEFC) — the supplemental-appropriation tags (COVID-19 relief, IIJA/infrastructure, and other emergency laws) that usas_disaster_spending filters on. Keyless USAspending references/def_codes. Returns the COMPLETE code set (no pagination): each |
usas_list_toptier_agencies | read | List all toptier federal agencies with toptier_code, abbreviation, slug, current-FY obligations. Use for |
usas_lookup_agency | read | Resolve a user-friendly agency reference ( |
usas_naics_hierarchy | read | Navigate the NAICS hierarchy (2→4→6 digit) + active-contract count per code. No naicsFilter ⇒ the top-level 2-digit sectors. With naicsFilter=<code> ⇒ that node is in |
usas_search_agency_spending | read | Spending broken down by awarding agency. Use for |
usas_search_awards | read | Aggregate share-of-wallet on USAspending. Given an agency × NAICS × fiscal year, returns top recipients by total obligated $ ONLY — per-recipient award COUNTS are NOT returned by this endpoint ( |
usas_search_awards_by_recipient | read | Pull every contract a specific recipient has won within an agency × NAICS slice. Use when the user asks |
usas_search_cfda_spending | read | Spending broken down by CFDA grant program code. Use for grant analysis — |
usas_search_federal_account_spending | read | Spending broken down by federal account / Treasury Account Symbol (TAS). Use to map money to the actual budget line item (e.g. |
usas_search_individual_awards | read | Line-item federal contracts on USAspending. Returns specific awards (recipient + $ + sub-agency + state + description). Use AFTER usas_search_awards when the user wants |
usas_search_psc_spending | read | Spending broken down by Product Service Code (PSC). Use for |
usas_search_recipients | read | Search USAspending recipient list with parent/child/recipient hierarchy. Returns recipients with id, duns, uei, level (P=parent, C=child, R=recipient), total_amount. Use for |
usas_search_recompetes | read | Recompete radar — federal contracts whose CURRENT period of performance ends inside a window around today (default -90d .. +18mo), sorted soonest-first. Use for |
usas_search_state_spending | read | Spending broken down by state / territory. Use for |
usas_search_subagency_spending | read | Break down a parent agency |
usas_search_subawards | read | Enumerate federal subawards (subcontracts), optionally filtered by SUBAWARDEE name. Use for |
usas_spending_over_time | read | Time-series aggregation of federal CONTRACT spending (award types A/B/C/D — grants, IDVs, loans, and other obligation types are EXCLUDED, matching the other usas_search_*_spending tools; disclosed in _meta). Group by fiscal_year / quarter / month, filter by agency / NAICS / set-aside. Use for |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | FAIL |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (8 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (14)
**Never post anything yourself** — the server only builds the link; the human opens and submits it. The repo is public, so never put secrets, personal data, or sensitive query values in `summary` (and
console.log(`✓ disclosure-tokenizer lint: 0 whitespace-only multi-token disclosure splits across ${files.length} src files (the only sanctioned tokenizer is tokenizeForDisclosure; ${optOuts.length} alconst text = body.replace(/^/, ""); // strip a leading UTF-8 BOM if present
const text = body.replace(/^/, ""); // strip a leading UTF-8 BOM if present
ecfr_get_section
.c8rc.json
.mcpbignore
.nojekyll
of AWS S3; an unverifiable/hidden redirect target is rejected). Internal IPs, cloud-metadata endpoints (`169.254.169.254`),
@modelcontextprotocol/sdk, unpdf, zod, @anthropic-ai/mcpb, @types/node, c8, tsx, typescript
- **`feedback` tool** (143rd tool, keyless): returns a PREFILLED GitHub new-issue link (`kind` = bug / feature / wrong_output) for the human to open and submit. The server never posts — no token, no a
**Nothing is ever posted automatically.** The server has no token and no account — it only *builds the link*; **you** open and submit it. Prefilled links carry only the tool name, error kind, and serv
fault-injection-test.mjs
- **Optional API keys** (for sources such as Census, FRED, BEA, DOL, and a few others that offer higher limits with a free key) are read from your local environment variables and are sent **only** to
Gates applied: critical_finding, no_behavioural_pass, undeclared_transfer.
da30bd343e34full audit observations/trust-audit/mcp-server/cliwant__mcp-sam-gov.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | da30bd343e34 | BLOCK | D | 69 | first audit |
Questions
What is the mcp-sam-gov MCP server?
Keyless-first MCP server — 150 tools for US federal + state/local (SLED) government contracting, spending, regulation & partner vetting. SAM.gov, USAspending, Grants.gov, OFAC, FDIC, EPA, CourtListener + 45 more. No API key. Honesty-hardened.
What tools does mcp-sam-gov expose?
114 in total: 111 read-only, 2 that write, and 1 that can delete or overwrite (ecfr_get_section). Every one is listed on this page with its risk.
Is mcp-sam-gov safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does mcp-sam-gov need?
It reads BEA_API_KEY, BLS_API_KEY, CENSUS_API_KEY, COURTLISTENER_API_TOKEN, DATA_GOV_API_KEY, DOL_API_KEY, FRED_API_KEY, LDA_API_KEY, NVD_API_KEY, OPENFDA_API_KEY, SAM_GOV_API_KEY and SOCRATA_APP_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does mcp-sam-gov run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @cliwant/mcp-sam-gov at 1.17.0.
How current is this page?
The grade is for one exact copy of the source (da30bd343e34), read on 2026-10-10. The repository is watched and re-audited when it changes.