MCP Sam Gov vs Next Devtools MCP

A side-by-side look at the MCP Sam Gov and Next Devtools MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

MCP Sam Gov logoMCP Sam GovDeveloper Tools · Local subprocess (stdio)Keyless MCP — 36 tools for SAM.gov, USAspending, Federal Register, eCFR, Grants.gov.64GoodAuth: not declaredNext Devtools MCP logoNext Devtools MCPDeveloper Tools · Local subprocess (stdio)Official Next.js MCP server for coding agents. Provides runtime diagnostics, route inspection, dev server logs, docs search, and upgrade guides. Requires Next.js 16+ dev server for full runtime features.86ExcellentAuth: no auth required

Verdict: choose MCP Sam Gov for developer tools work as a local process; choose Next Devtools MCP for developer tools as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

MCP Sam Gov logoChoose MCP Sam Gov when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like sam_search_opportunities, sam_search_shaping, sam_get_opportunity.
Explore MCP Sam Gov

Next Devtools MCP logoChoose Next Devtools MCP when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like nextjs_index, nextjs_call, nextjs_docs.
Explore Next Devtools MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMCP Sam Gov logoMCP Sam GovNext Devtools MCP logoNext Devtools MCP
CategoryDeveloper ToolsDeveloper Tools
Quality signal64/100 · Good86/100 · Excellent
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNo auth required
PricingNot declaredFree
Required env varsNone listedNone listed
Verified ownerCommunity listing Verified
GitHub stars13832
Directory activity 0 views 0 installs 0 upvotes 9 views 0 installs 1 upvotes
Tools1534

Tools & capabilities

MCP Sam Gov tools 153

  • sam_search_opportunitiesSearch 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_shapingPRE-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's still shapeable (submit capabilities, influence NAICS/set-aside/PWS). Defaults to noticeType ['r','p','s']; opt into k/i/u for combined-synopsis / intent-to-bundle / J&A tells. Each notice carries noticeTypeCode (rank r/p over s), postedDate, responseDeadline + daysUntilResponse (null when no deadline — counted, not hidden), and a uiLink. HONEST KEYLESS LIMITS: naics/setAside/placeOfPerformance are null in the list rows (call sam_get_opportunity(noticeId) for those); and a responseDeadlineFrom/To window is applied CLIENT-SIDE over the fetched page (the feed ignores rdlfrom/rdlto) and disclosed in _meta. data.totalRecords is the TRUE server-side count for the type+facet filter.
  • sam_get_opportunityFetch 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_fetch_descriptionReturn 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_attachment_urlBuild the public download URL for an attachment resourceId. The URL returns a 303 redirect to a signed S3 URL — fetch with redirect:'follow' to get the file bytes.
  • sam_fetch_attachment_textExtract the TEXT of a SAM notice attachment (the actual RFP / SOW / Q&A / wage tables) by its download URL — so an AI can read the real solicitation, not just its metadata. Give it a sam_get_opportunity attachments[].url (resourceLinks). Keyless. Handles PDF (via pdfjs) + text/HTML; returns { format, text, pages, filename, sizeBytes, truncated, extracted }. HONEST: a DOCX / binary that can't be read keyless returns text:null + a note (never fabricated); a corrupt/encrypted PDF returns text:null + an extractionError note (never a crash); a DOWN fetch throws a retryable upstream_unavailable (never empty text); a 404 throws not_found. Only sam.gov / api.sam.gov URLs are fetched (SSRF hygiene). maxChars caps the text (default 200000) and truncation is disclosed.
  • sam_lookup_organizationResolve a SAM.gov federal-organization id to its canonical fullParentPathName (e.g. 'VETERANS AFFAIRS, DEPARTMENT OF.VETERANS AFFAIRS, DEPARTMENT OF.245-NETWORK CONTRACT OFFICE 5'). Use when sam_get_opportunity returned only an organizationId.
  • sam_lookup_notice_fieldsBATCH-complete a sam_search_opportunities page in ONE call from the GSA daily bulk CSV (keyless). The keyless HAL list endpoint NULLS each result's naics/setAside/place-of-performance/responseDeadline/type; this tool returns those fields for 1..100 noticeIds at once (naicsCode, setAside + setAsideCode, popState/popCity/popZip/popCountry, responseDeadline, type, active, title) from a cached on-disk CSV index, instead of one sam_get_opportunity detail call per notice. OFF BY DEFAULT (no forced 226 MB download): enable by setting SAM_GOV_CSV_CACHE (a cache dir) or SAM_GOV_ENABLE_CSV=1 — when disabled the tool returns data.enabled:false + a structured 'how to enable' note (never fake data, no network). HONEST: _meta carries the CSV last-modified + index build time (freshness), a noticeId absent from the current snapshot returns found:false + nulls with an explicit 'not in current CSV snapshot' disclosure (never faked), a cold first call discloses 'index warming', and a download/parse failure is a structured retryable error (never a silent empty). setAsideCode (e.g. 'SBA') matches sam_get_opportunity's setAside; the snapshot can lag live by up to ~24h — confirm real-time-critical fields with sam_get_opportunity.
  • usas_search_awardsAggregate 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 (`awards`/`totalAwards` are null, not 0); for real per-recipient contract counts use usas_search_awards_by_recipient (its _meta.totalAvailable) or usas_get_recipient_profile. Use for competitive landscape ('who wins at VA in 541512?').
  • usas_search_individual_awardsLine-item federal contracts on USAspending. Returns specific awards (recipient + $ + sub-agency + state + description). Use AFTER usas_search_awards when the user wants 'show me the actual contracts'. Each result includes a generatedInternalId for usas_get_award_detail follow-ups.
  • usas_search_subagency_spendingBreak down a parent agency's spending by sub-agency / office. Surfaces which office holds the budget (e.g. VA OI&T vs VHA, DoD vs Army vs DISA).
  • usas_lookup_agencyResolve a user-friendly agency reference ('VA', 'Veterans Affairs', 'DHS') to USAspending's canonical toptier name + 4-digit code. ALWAYS call this FIRST if the user uses an abbreviation — other USAspending tools require the canonical name.
  • +141 more on the listing page

Next Devtools MCP tools 4

  • nextjs_indexDiscover running Next.js dev servers and list each one's runtime MCP tools.
  • nextjs_callCall a runtime tool on a discovered server (errors, routes, logs, Server Actions).
  • nextjs_docsGateway.** Point the agent at version-accurate docs in `node_modules/next/dist/docs/`.
  • browser_evalGateway.** Point the agent at the [`agent-browser`](https://github.com/vercel-labs/agent-browser) CLI for browser automation.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

MCP Sam Gov

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-sam-gov": {
      "command": "npx",
      "args": [
        "-y",
        "@cliwant/mcp-sam-gov"
      ]
    }
  }
}

Next Devtools MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "vercel-next-devtools-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "next-devtools-mcp@latest"
      ]
    }
  }
}

Frequently asked questions

MCP Sam Gov is categorized under Developer Tools and uses a local stdio subprocess. Next Devtools MCP belongs to Developer Tools and uses a local stdio subprocess. Pick MCP Sam Gov for developer tools work and Next Devtools MCP for developer tools.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

MCP Sam Gov has no declared pricing — check the project's own site. Next Devtools MCP is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add mcp-sam-gov and vercel-next-devtools-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, MCP Sam Gov has a quality signal of 64/100 (Good) with 0 views, 0 installs and 13 GitHub stars. Next Devtools MCP has 86/100 (Excellent) with 9 views, 0 installs and 832 GitHub stars.