Skip to main content
Glama
cliwant

mcp-sam-gov

by cliwant

open_checkbook_search

Read-only

Search US government vendor payments from Socrata Open Checkbook portals. Filter by year, vendor, department, expense category, sort, and paginate.

Instructions

Row-level vendor-payment search over a curated US-government Socrata Open Expenditures checkbook portal (keyless) — a SLED spending source. Some govs run Socrata's 'Open Expenditures/Open Checkbook' product, whose public dashboard fronts a keyless app-proxy at {host}/api/checkbook_data.json. First portal: sd = State of South Dakota Open Checkbook (~740,980 vendor-payment rows, ~$8.41B, the ~3 most-recent fiscal years). Inputs: portal (allowlist ENUM — SSRF core), year/vendor/org/expenseCategory (EXACT-match filters), sortBy/sortOrder, limit(1..1000)/offset. Returns { portal, rows:[{vendor, amount, payment_date, org1, expense_category, description, fund, invoice, payment_id}] } + honest _meta. HONESTY: totalAvailable = the API's own count (the REAL filtered total — matches the product's totals.json, e.g. 740,980 unfiltered / 109,887 for org=TRANSPORTATION — NEVER a page length); amount = number|null (a real $0 is 0, an absent value is null, never a fabricated 0); an EXACT-match filter miss ⇒ honest count:0; a deep offset past the end ⇒ returned:0 with the real count preserved; a 429/5xx/timeout THROWS; a non-{data:[],count} body ⇒ schema_drift. ★Only the ~3 most-recent fiscal years are exposed (NOT full history — disclosed). ★The underlying Socrata SODA dataset is login-gated and is NEVER touched — only the public app-proxy the dashboard itself uses. SSRF: fixed allowlist host + assertion + redirect:error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
orgNoDepartment filter (org1, EXACT match, e.g. 'TRANSPORTATION' → 109,887).
yearNoFiscal-year filter (EXACT match), e.g. '2025'. Default 'All Years' = the exposed ~3-year window (NOT full history).
limitNoRows per page, 1..1000, default 25.
offsetNo0-based offset (snapped to a page×limit boundary; the served offset is disclosed). totalAvailable = the real match count, NOT a page length.
portalYesThe curated Open-Checkbook portal (SSRF allowlist enum). 'sd' = State of South Dakota Open Checkbook (~740,980 vendor payments, ~$8.41B, ~3 most-recent fiscal years).
sortByNoSort field. Pair with sortOrder.
vendorNoVendor name filter (EXACT match, e.g. 'US BANK NA' → 917). A partial/misspelled value returns an honest count:0.
sortOrderNoSort direction (default desc when sortBy is set).
expenseCategoryNoExpense-category filter (EXACT match, e.g. 'CONTRACTUAL SERVICES').
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Exceeds annotations by detailing honesty contracts (exact-match count, null amounts, offset behavior), SSRF protection, schema drift handling, and data recency (only 3 fiscal years). No contradictions with readOnlyHint and openWorldHint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information-dense but structured with bullet points. Could be slightly tighter but front-loads purpose and key details. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input/output format, corner cases (misses, deep offsets), error handling (429/5xx), and data limitations. No output schema, but description compensates with return structure and honesty notes. Complete for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and description adds meaning for each parameter: exact-match behavior, example values, portal allowlist, page snapping, and default behaviors. Adds value beyond schema fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool is a row-level vendor-payment search for Socrata Open Checkbook portals, specifically the State of South Dakota example. Distinct from siblings which cover other data sources (USASpending, SAM, etc.) — unique verb+resource combination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for finding vendor payments from state checkbook portals, with explicit example (SD). No exclusions but context suggests it's for SLED spending data. Lacks explicit 'use when' vs alternatives like socrata_query.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cliwant/mcp-sam-gov'

If you have feedback or need assistance with the MCP directory API, please join our Discord server