Model Context Protocol server exposing U.S. government procurement data (grants.gov, SAM.gov, USASpending.gov) as searchable MCP tools over stdio. Provides full-text search, agency intelligence, and cross-source procurement analysis via local SQLite mirror.
Server has 9 well-named, read-only tools with consistent verb_noun naming (search_*, get_*, list_*). All tools have descriptions (avg 156 chars, within baseline 34-392). Input schemas are present and properly typed with required fields declared. However, output schemas are completely undocumented, LLMs cannot plan downstream calls or extract structured data. Parameter descriptions lack constraints (no enums for set_aside codes, no min/max for limit/days). Error handling is minimal; no recovery guidance or actionable error messages visible in code. No tool annotations (readOnlyHint, idempotentHint). Missing pagination details despite tools returning lists.
Get a full intelligence profile for a federal agency: open grants, open SAM notices, total historical awards, top recipients. Useful for competitive analysis before bidding.
Fetch a single grants.gov opportunity by its opportunity ID.
Fetch a single SAM.gov contract notice by its notice ID.
List grants.gov opportunities closing within the next N days, ordered by close date. Use this to find urgent application deadlines.
List SAM.gov opportunities filtered by set-aside type. Common codes: SDVOSB (Service-Disabled Veteran-Owned), WOSB (Women-Owned), SBA (8a), HZC (HUBZone), SBP (Small Business).
Full-text search USASpending.gov award records. Returns past awards with recipient, agency, amount, and date range.
Output schemas completely undocumented. No tool returns a documented structure. LLMs cannot plan multi-step calls or extract required fields for chaining.
Parameter constraints missing. 'set_aside' accepts free-form strings instead of enum (SDVOSB|WOSB|SBA|HZC|SBP). 'limit' and 'days' lack min/max bounds. LLMs will hallucinate invalid values.
No pagination metadata in schemas. Tools return lists but lack offset/limit/total_count documentation. Large result sets will blow context windows.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Full-text search grants.gov opportunities in the local SQLite mirror. Returns matching grants with title, agency, close date, award range, and synopsis.
Full-text search SAM.gov contract opportunities in the local SQLite mirror. Returns matching notices with title, agency, NAICS code, set-aside type, and response deadline.
Show the last sync timestamp and record counts for each data source (grants.gov, SAM.gov, USASpending.gov). Use this to understand how fresh the local data is.
No tool annotations. All tools are read-only but lack readOnlyHint. Agents cannot distinguish safe from destructive operations.
Error handling code not visible. No recovery guidance, actionable error messages, or error classification (retryable vs fatal) evident in provided source.