gov-data-mcp
This server exposes 114 US government open-data tools as an MCP server, with 12 dedicated high-traffic tools plus search/describe/run access to the full catalog.
Environmental due diligence: 20-layer site scorecards, EPA contamination/Phase I ESA screens, RCRA/TRI/UST/LUST/Brownfields, drinking-water violations, lead and PFAS.
Airspace & drones: batch FAA LAANC and no-fly verdicts, special use airspace, stadium TFRs, national-defense TFRs.
Energy & grid siting: transmission line/substation/power plant proximity, serving utility and ISO/RTO, interconnection queues across 7 ISOs, solar/wind/BESS siting.
Banking & lending health: FDIC/NCUA rollups, peer cohorts, CRE concentration, deposit outflow, enforcement trackers, HMDA, SBA loan data.
Flood, fire & geohazards: FEMA NRI risk profiles, NFIP/levee/landslide/seismic/wildfire screens.
Wetlands & water law: NWI wetlands proximity, NHD surface-water Section 404/WOTUS screens, impaired waters, aquifer and water-rights tools.
Real estate & parcels: owner-of-record lookups from assessor rolls (Cook County, Philadelphia, NYC), deed transfers, HUD, distressed-property signals.
Licensing & workforce: verify 19 professional boards across 9 states, OIG exclusions, NPI cross-walks, roster screening.
Discovery & catalog: search all 114 tools by keyword/agency/topic, inspect full input schemas, and run any tool dynamically.
Reliability: every result carries a run ID and Apify console URL, failed runs are never presented as clean results, and upstream failures fail loudly rather than producing false negatives.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gov-data-mcpCheck environmental risk at 1200 Broadway, Denver"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gov-data-mcp
116 US government open-data tools, as one MCP server.
EPA, FEMA, USGS, NOAA, FAA, USACE, FDIC, HUD, NRCS, HRSA, CMS, county assessor rolls and state licensing boards — all reachable as agent-callable tools, all reading directly from official government APIs and bulk files. No scraping, no HTML parsing, no rate-limit roulette.
mcp-name: io.github.malonestar/gov-data-mcp
npx gov-data-mcpInstall
You need a free Apify API token from console.apify.com/settings/integrations. Apify's free tier includes monthly platform credit that covers evaluating every tool here.
Claude Desktop / Claude Code / Cursor
{
"mcpServers": {
"gov-data": {
"command": "npx",
"args": ["-y", "gov-data-mcp"],
"env": { "APIFY_TOKEN": "apify_api_..." }
}
}
}Claude Desktop reads claude_desktop_config.json; Claude Code reads .mcp.json in your project; Cursor reads .cursor/mcp.json. The block is identical in all three.
Related MCP server: mcp-brasil
What you get
12 dedicated tools for the highest-traffic questions, callable directly:
Tool | Answers |
| 20-layer go / caution / no-go verdict for one coordinate |
| Phase I ESA database search at ASTM E1527-21 distances |
| Part 107 LAANC and airspace verdicts, batched |
| Nearest transmission line, substation, serving utility, ISO/RTO |
| Generator interconnection queues across 7 ISOs |
| Bank and credit-union health with real peer cohorts |
| County and census-tract natural-hazard risk |
| NWI wetlands within a radius, with decode columns |
| Clean Water Act §404 surface-water screen |
| SDWA violations, lead, PFAS occurrence |
| Assessor-roll owner of record for an address |
| 19 professional licensing boards across 9 states + OIG exclusions |
Plus three tools that reach the other 104:
search-gov-data-tools— find a tool by keyword, agency or topicdescribe-gov-data-tool— full input schema for any tool in the catalogrun-gov-data-tool— run any tool in the catalog
The catalog is bundled, so discovery costs nothing. Ask your agent "what government data tools do you have for flood risk?" and it will search all 116.
Example prompts
Screen 1200 Broadway, Denver CO for environmental risk under ASTM E1527-21 and tell me which findings fall inside the standard's search distance.
I'm siting a 40 MW solar project at 41.88, -93.10. Check grid proximity, prime farmland, wetlands, critical habitat and the interconnection queue, then tell me what would kill the project.
Can I fly a Part 107 mission at these six coordinates, and which ones need a DroneZone authorization rather than LAANC?
Which Texas banks show the 2006 CRE-concentration guidance flagged on both prongs?
How it works
Each tool is a published Apify Actor that this server invokes through the Apify API. The server starts the run, waits for a terminal state, and returns the rows.
Billing is to your own Apify account at each actor's published pay-per-result rate, listed on its Store page. Free-tier credit covers evaluation. A run that fails bills nothing beyond a fractional actor-start charge.
Every result carries the run_id and a console.apify.com URL, so any claim an agent makes from this server can be traced back to the exact run that produced it.
No Apify account? Agents can pay per run with x402
Every tool in this catalog is eligible for Apify's agentic payments: an agent with a funded Coinbase Agentic Wallet (USDC on Base, $1 minimum) buys a prepaid Apify token over the x402 protocol and uses it as APIFY_TOKEN — no account, no billing setup, no API key. The ready-made skill is apify.it/x402-awal:
npx -y awal auth login <email> # one-time wallet auth
npx awal x402 pay 'https://agi.apify.com/protocols/x402/prepaid-tokens?amount=5¤cy=usd' --max-amount 5000000 --json
# → returns a bearer token; export it as APIFY_TOKEN and start this server as usualThe prepaid balance is an absolute spending cap and expires after 14 days. Every tool here charges only per result — none pass platform usage through, none require full permissions, and none run in Standby mode, which are the three things that make an Actor ineligible. Prices are in the catalog (usdPer1000Results on every search hit), so an agent can see the cost before spending.
On honest answers
These actors are built around one rule: a failure must never be presentable as "nothing was found." That distinction matters most in exactly the cases people use this for — telling a buyer a property is clear of contamination, telling a pilot an airspace is uncontrolled, telling a lender a borrower is unlicensed.
So this server:
reports
run_statuson every call, and never attaches arowskey to a run that did not succeeddistinguishes "the run SUCCEEDED and the source genuinely matched nothing" from "the run failed" in the response text, explicitly
retries transient Apify 429/5xx, then fails loudly saying the platform failed and no conclusion should be drawn about the government source
treats an unknown tool name as a catalog miss, never as an empty result
The underlying actors carry the same discipline: per-source status on every row, null meaning not checked rather than checked and negative, live drift assertions that fail the run when an upstream silently truncates, and pagination guards on sources that answer HTTP 200 with a partial payload. Each actor's Store page documents the specific traps it defends against.
Coverage
116 tools, every one reading an official US government API or bulk file. The MCP server exposes 15 of them directly — twelve named tools plus search-gov-data-tools, describe-gov-data-tool and run-gov-data-tool, which reach the rest — because agents choose badly when handed more than about twenty tools.
Each entry links to its full input/output schema, pricing and worked examples.
Contamination & environmental due diligence (18)
epa-airtoxscreen-cancer-risk-screener · epa-contaminated-site-screener · epa-drinking-water-quality-screener · epa-ghgrp-emitter-screener · epa-impaired-waters-303d-screener · epa-nonattainment-air-permit-screener · epa-rcra-corrective-action-cleanup-monitor · epa-rcra-hazwaste-generator-rollup · epa-repowering-brownfield-to-solar-site-finder · epa-sole-source-aquifer-screener · epa-tri-facility-release-rollup · epa-tsca-cdr-chemical-site-screener · erns-nrc-release-incident-screener · fuds-defense-site-screener · historic-land-use-sic-contaminant-screener · site-due-diligence-bundle · state-tank-spill-registry-screener · usgs-historical-topo-records-review
Flood, fire, quake & ground hazard (13)
calfire-fhsz-screener · cbrs-coastal-barrier-screener · fema-nri-county-risk-profile · fema-repetitive-loss-flood-market-screener · karst-sinkhole-risk-screener · nfip-flood-loss-risk-screener · noaa-slr-inundation-threshold-screener · noaa-storm-events-peril-climatology · usace-levee-flood-risk-screener · usgs-bedrock-geology-lithology-screener · usgs-landslide-proximity-screener · usgs-seismic-design-screener · wildfire-asset-exposure-screener
Habitat, wetlands, protected & historic land (9)
blm-sage-grouse-siting-screener · fws-critical-habitat-screener · fws-wetlands-proximity-screener · nhd-surface-water-404-screener · noaa-efh-consultation-screener · nrhp-historic-place-screener · padus-protected-lands-screener · tribal-land-jurisdiction-screener · wild-scenic-river-proximity-screener
Energy siting, grid & pipelines (14)
blm-mining-claims · blm-solar-siting-area-screener · boem-offshore-wind-lease-tracker · cdfi-nmtc-lowincome-energy-bonus-screener · eia-v2-site-energy-economics · energy-corridor-368-screener · hifld-grid-proximity-screener · interconnection-queue-tracker · ira-energy-community-bonus-screener · nrel-pvwatts-solar-resource-scorer · ntad-gas-pipeline-proximity-screener · oil-gas-well-permits · orphaned-well-proximity-screener · uswtdb-turbine-proximity-screener
Farmland, soil & water (5)
ssurgo-soil-suitability-screener · usda-cdl-farmland-siting-screener · usgs-groundwater-depth-screener · usgs-nwis-streamflow-monitor · water-rights-availability-screener
Banking, lending & credit (8)
bank-enforcement-tracker · fdic-branch-network-churn-rollup · fdic-ncua-health-rollup · fdic-sod-deposit-market-share-rollup · fdic-structure-change-delta-monitor · fhlbank-membership-delta-monitor · hmda-fair-lending-disparity-rollup · sba-loan-portfolio-explorer
Securities, audit, pensions & sanctions (8)
adcvd-trade-remedy-tracker · consolidated-screening-list-delta · fec-campaign-finance-delta · pbgc-pension-failure-monitor · pcaob-auditor-engagement-monitor · reg-cf-lifecycle-monitor · ria-registration-delta-monitor · short-interest-ftd-monitor
Licensing, exclusion & workforce screening (10)
city-business-license-leads · gleif-ownership-graph · hrsa-clinician-workforce-monitor · hrsa-shortage-designation-monitor · kyb-company-verifier · license-verifier · liquor-license-new-openings-tracker · medicaid-exclusion-screener · realtor-license-roster-delta · sos-registry-monitor
Real estate, parcels, deeds & leads (9)
absentee-owner-lead-list-builder · acris-deed-transfer-intel · childcare-provider-leads · distressed-property-signal-stacker · hud-affordable-housing-explorer · hud-qct-lihtc-boost-screener · hud-section8-contract-expiration-monitor · nyc-landlord-registry-lead-list · parcel-owner-lookup
Infrastructure, transport & airspace (9)
bts-airline-ontime-delay-climatology · dod-mirta-military-installation-siting-screener · faa-drone-airspace-checker · fhwa-nbi-bridge-risk-monitor · gsa-site-scanning-auditor · national-tunnel-inventory-risk-monitor · nhtsa-vpic-vin-decoder · nid-dam-risk-monitor · ntad-fra-rail-crossing-risk-screener
Health, clinical & drug supply (7)
cdc-nndss-outbreak-monitor · clinical-trials-meta-search · cms-open-payments · cms-part-d-prescriber-delta · drug-shortage-delta-monitor · nadac-price-movers · usmin-mine-feature-proximity-screener
Patents, IP & company data (4)
npm-package-health-scorer · ptab-trial-tracker · sbom-vulnerability-rollup · uspto-patent-lapse-fto-monitor
Labor & enforcement (2)
dol-enforcement-rollup · warn-layoff-aggregator
Development
npm install
npm test # offline suite, no network
node tools/mutate.cjs # re-injects known defects, asserts the suite catches them
npm run catalog -- <apify-token> # regenerate src/catalog.json from the live APILicense
MIT
Available Tools
15 toolsdescribe_gov_data_toolA
Return the full input schema and documentation for any one of the 114 tools in the catalog. Call this before run_gov_data_tool so the input is correctly shaped.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | The tool name, e.g. "noaa-slr-inundation-threshold-screener". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The word 'Return' implies a read-only, side-effect-free operation, and the description explicitly frames it as a preparatory step. It does not mention potential complications, but the simplicity and clarity suffice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the purpose and usage without redundancy. Every word adds value, and the structure front-loads the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a single parameter and no output schema, the description fully covers what the tool does (returns schema/docs), when to use it (before running another tool), and why (correct input shaping). No critical information is missing for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a parameter description and example. The description adds context about the catalog size (114 tools), clarifying that 'tool' must be one of these, which is beyond the schema. This enriches the parameter's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the full input schema and documentation for any catalog tool, using a specific verb ('Return') and resource ('any one of the 114 tools'). It distinguishes itself from siblings like run_gov_data_tool and search_gov_data_tools by its meta-informational role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance to call this tool before run_gov_data_tool to shape input correctly, giving a clear when-to-use context. However, it does not mention when not to use it or alternative tools like search_gov_data_tools, so it lacks full exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
epa-contaminated-site-screenerA
Phase I ESA & Environmental Due Diligence: EPA Database Search. Environmental due diligence by address: an environmental database report over EPA Superfund/NPL, RCRA CORRACTS/TSD/generators, TRI, UST, LUST, Brownfields, NPDES, AIR, TSCA and RMP, scored at ASTM E1527-21 search distances, plus on-site Superfund and AUL boundary checks. No API key. Reads live from the official government source. Store page: https://apify.com/malonestar/epa-contaminated-site-screener
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | "assets" (default) runs a multi-database Phase I ESA-style regulatory-records screen on your addresses/coordinates — one billable row per nearby EPA-listed site (across Superfund, RCRA, TRI, UST, LUST and Brownfields). "inventory" instead dumps the raw list of EPA SEMS/Superfund sites for the states you pick — one billable row per site. Example: "assets". | |
| assets | No | Locations to screen against EPA contaminated-site databases. Each item is EITHER {"address": "...", "label": "..."} (geocoded via the free Census geocoder) OR {"lat": <number>, "lon": <number>, "label": "...", "state": "<2-letter, OPTIONAL>"}. The "state" hint is no longer required with lat/lon — Superfund is now also screened spatially against the EPA FRS SEMS point layers, which need no state. Supplying "state" additionally pulls that state's full Envirofacts SEMS roster for wider non-NPL coverage. One dataset row (one billable check) is produced per site hit found within the radius; assets with no hits return a single "clear" row. If EVERY asset fails input validation the run FAILS and nothing is billed. Example: [{"lat":39.8037,"lon":-104.9986,"state":"CO","label":"Denver industrial parcel (lat/lon input)"},{"address":"5980 Lipan St, Denver, CO 80221","label":"Denver industrial parcel (address input)"}]. | |
| states | No | 2-letter US state codes (e.g. ["CO", "NJ"]) whose EPA SEMS/Superfund site records to list. Required when Mode = inventory. Ignored in assets mode (state is derived automatically per-asset). | |
| onlyNpl | No | Inventory mode only: when true, keep only sites currently on (or part of) the National Priorities List — the actual Superfund program sites. When false, include all SEMS site statuses. Default false. Applied by default if omitted: false. | |
| astmMode | No | Assets mode only. Adds ONE extra "astm_summary" row after each asset's normal rows, scoring this actor's databases against the ASTM E1527-21 Sec. 8.2.1 standard search distances. The refined table splits RCRA into its three real ASTM line items — CORRACTS 1.0 mi, TSD 0.5 mi, LQG/SQG/VSQG generators 0.25 mi — resolved from EPA ECHO, alongside NPL 1.0 mi, SEMS-CERCLIS 0.5 mi, LUST 0.5 mi, UST 0.25 mi and Brownfields 0.5 mi (TRI has no ASTM search distance and is excluded). Results come as flat CSV-safe columns (astm_npl_flag, astm_rcra_corracts_flag, ...) plus a nested object, with an astm_refined_verdict. Automatically widens the underlying fetch to 1 mile; your normal per-hit rows still respect radiusMiles unchanged. Screening aid only — not a substitute for an ASTM E1527-21 Phase I ESA. Default false. Example: true. Applied by default if omitted: false. | |
| programs | No | Which EPA program databases to include. The six defaults: SUPERFUND (NPL/SEMS), RCRA (hazardous-waste handlers, now classified into CORRACTS / TSD / generator), TRI (Toxics Release Inventory), UST (underground storage tanks), LUST (leaking USTs), BROWNFIELD (ACRES/FRS). Four additional opt-in programs come from the SAME EPA ECHO response at no extra upstream call: NPDES (Clean Water Act discharge permits), AIR (Clean Air Act permitted sources), TSCA (incl. PCB handlers), RMP (Risk Management Plan chemical-accident facilities). Leave EMPTY to screen the original six only — that keeps row counts and cost identical to previous versions. Ignored in inventory mode. Example: ["SUPERFUND","RCRA","TRI","UST","LUST","BROWNFIELD","NPDES","AIR","TSCA","RMP"]. | |
| maxResults | No | Safety cap on total dataset rows produced across the run: max site hits emitted (assets mode) or max SEMS site rows (inventory mode). Applied by default if omitted: 1000. | |
| radiusMiles | No | Distance from each asset within which EPA-listed sites are counted and reported across all selected programs. Accepts fractional miles (0.1-50) so you can screen at the ASTM E1527-21 standard search distances directly: 1.0 mi (NPL / RCRA CORRACTS), 0.5 mi (SEMS-CERCLIS, RCRA TSD, LUST, Brownfields), 0.25 mi (registered UST, RCRA generators). Default 1 mile covers the widest ASTM distance. Example: 1. | |
| onlyWithCoords | No | Inventory mode only: when true (default), drop SEMS records with no latitude/longitude. Coordinate coverage varies sharply by state — measured 2026-07: 3% of Texas SEMS records carry coordinates, 16% California, 48% Colorado, 60% New Jersey, 77% New York, while NPL-track records are ~96-100% geocoded everywhere. Set false to see the full raw roster including un-mappable rows. Example: true. | |
| includeBoundaries | No | Assets mode only. Runs two extra point-in-polygon queries per asset to answer "is this property ON a Superfund site?" (on_superfund_site, superfund_site_name, superfund_epa_url) and "is it inside a published EPA Superfund institutional-control / activity-and-use-limitation boundary?" (institutional_control_flag, institutional_control_description). These are true boundary intersections, not distance-to-centroid. Note EPA publishes ~2,114 NPL site polygons but only ~165 IC polygons nationally, so a false IC result means "not inside a published federal Superfund IC", NOT "no AUL exists". Adds no dataset rows and no billing. Default true. Example: true. | |
| maxHitsPerProgram | No | Assets mode only: cap on the number of nearest site hits reported per program per asset (keeps output and billing bounded near dense industrial areas). The nearest sites are kept. Default 50. Range 1-1000. Example: 50. | |
| strictDataCompleteness | No | Assets mode only. Reserved for callers that must not accept partial coverage. Regardless of this setting, every row already carries programs_screened / programs_failed / data_complete, and an asset whose databases ALL failed is reported as result_type "error" — never as a "clear" result. If every database fails for every asset the run FAILS so nothing is billed. Default false. Applied by default if omitted: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so admirably. It discloses billing behavior ('one billable row per nearby EPA-listed site'), failure modes ('If EVERY asset fails the run FAILS and nothing is billed'), data limitations (AUL boundary caveat), and the non-substitute disclaimer for ASTM E1527-21. It also explains how 'astmMode' widens fetches and affects rows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-structured and front-loaded. It opens with a clear purpose, then explains modes, then parameter details. Every sentence adds value, including caveats and examples. While not terse, the length is justified by the tool's complexity (12 parameters, two modes). It avoids redundancy with the schema by adding context rather than repeating definitions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, no output schema, no annotations), the description is remarkably complete. It explains both operational modes, output row structures, billing implications, error conditions, data limitations, and default behaviors. It even offers concrete examples in the 'assets' parameter. Everything an agent needs to decide when and how to invoke the tool is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description enriches all 12 parameters beyond the schema. It explains the 'mode' values in detail, distinguishes between address and lat/lon 'assets' formats, details 'programs' defaults and opt-ins, maps 'radiusMiles' to ASTM distances, and provides real-world data completeness stats for 'onlyWithCoords'. This adds significant meaning beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Phase I ESA & Environmental Due Diligence: EPA Database Search.' It specifies the resource (EPA contaminated-site databases) and the action (screening locations against them). It distinguishes from siblings by its focus on contaminated-site due diligence and mentions both modes (assets and inventory), which clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong usage context: it says 'Environmental due diligence by address' and explains the two modes ('assets' for screening, 'inventory' for listing sites). It doesn't explicitly name alternatives, but the purpose is so distinct that siblings (e.g., water quality, wetlands) are clearly excluded. It also gives guidance like 'No API key' and 'Reads live from the official government source.' Lacking explicit 'do not use when...' statements, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
epa-drinking-water-quality-screenerA
EPA Drinking Water Quality Screener - Violations, Lead & PFAS. Screen any US coordinate for the public water system serving it: SDWA health-based violations, Lead & Copper Rule 90th-percentile results and UCMR5 PFAS detections - the evidence base behind the LCRI (Nov 1, 2027) and PFAS NPDWR (Apr 26, 2027) deadlines. Never clears a source that did not answer. Reads live from the official government source. Store page: https://apify.com/malonestar/epa-drinking-water-quality-screener
| Name | Required | Description | Default |
|---|---|---|---|
| assets | No | Sites to screen, each {"lat": <number>, "lon": <number>, "label": "<your name for the site>"}. Each location is matched against EPA's mapped community water system service areas to identify the serving public water system. A location with no mapped service area returns an explicit NO_SERVICE_AREA row (likely a private well), never a false clear. Example: [{"lat":43.0125,"lon":-83.6875,"label":"Flint MI - lead action level exceedance"},{"lat":40.9793,"lon":-74.1165,"label":"Ridgewood NJ - PFAS detections"},{"lat":39.7392,"lon":-104.9903,"label":"Denver CO - control"}]. | |
| pwsids | No | Optional. Screen specific public water systems by 9-character EPA PWSID (for example ["MI0002310"]) without a coordinate lookup. Combined with any locations supplied above. Example: []. | |
| maxAssets | No | Safety cap on how many locations are screened in one run. Locations beyond the cap are reported in the log and not billed. Example: 250. | |
| includeLead | No | Fetch Lead and Copper Rule 90th-percentile tap results and join them to their monitoring periods, so the reported value is dated rather than undated. Example: true. | |
| includePfas | No | Screen the system against EPA's UCMR5 occurrence dataset (1.9 million results, 29 PFAS analytes plus lithium). Turn off for a faster run when PFAS is out of scope. Example: true. | |
| simulateOutage | No | Diagnostic seam for verifying failure behaviour. Forces one or all EPA sources to fail so you can confirm the actor reports the source as unavailable and never publishes a false clear. Leave as none for normal use. Example: "none". | |
| violationYears | No | How many years back counts as a recent health-based violation for the screening flags. The full violation history is still summarised regardless. Set 0 to disable the window. Example: 10. | |
| refreshPfasCache | No | Re-download and re-index the UCMR5 occurrence file even if the cached index already matches EPA's current published vintage. Normally unnecessary: the cache is keyed to the file's Last-Modified header and rebuilds itself whenever EPA republishes. Example: false. | |
| runBudgetSeconds | No | Total time budget for all upstream requests including retries. Requests stop rather than retry past this budget, so a long EPA outage fails loudly instead of hanging. Example: 900. | |
| includeViolations | No | Fetch the system's full Safe Drinking Water Act violation history from EPA SDWIS and roll it up (health-based, monitoring/reporting, treatment technique, Lead & Copper Rule, public-notification tier). Example: true. | |
| includeEnforcement | No | Fetch the system's SDWIS formal enforcement action history and report the count and most recent action. Example: true. | |
| maxViolationDetails | No | How many individual health-based violation records to include in the health_based_violation_details array on each row, newest first. Counts are never truncated. Example: 25. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several critical behaviors: it never clears a source that did not answer, reads live from official government sources, describes caching and refresh behavior, and explains the retry budget and failure handling via simulateOutage. This is strong transparency given no annotations are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and repetitive, repeating phrases like 'Never clears a source that did not answer' and including extensive legal context. It is structured as a single dense paragraph, which hampers quick scanning and comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides rich context on purpose, data sources, regulatory deadlines, and failure modes, but it omits any description of the output format or structure. Given no output schema, this is a minor gap; the parameter descriptions fill most of the context need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 12 parameters have detailed descriptions with examples, edge cases (e.g., violationYears window, refreshPfasCache behavior, simulateOutage diagnostic), and explicit defaults, making semantics exceptionally clear beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's function as screening US coordinates for drinking water quality data, including SDWA violations, lead results, and PFAS detections, and distinguishes it from other environmental screeners by naming the specific data sources and regulatory context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for drinking water regulatory compliance checks (e.g., LCRI and PFAS deadlines) but does not explicitly compare to alternative tools; however, the specificity of the purpose is high enough to guide selection among sibling screeners.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faa-drone-airspace-checkerA
FAA Drone Airspace Checker - Batch LAANC & No-Fly Verdicts. Batch lat/lon to FAA UAS airspace verdicts: LAANC ceilings AND whether LAANC is actually offered, charted Class B/C/D/E surface areas, prohibited areas, national-defense TFR areas, special use airspace, NSUFR, stadium TFRs. Verdict is gated - it never reads clear when a layer did not answer. Reads live from the official government source. Store page: https://apify.com/malonestar/faa-drone-airspace-checker
| Name | Required | Description | Default |
|---|---|---|---|
| layers | No | Which FAA airspace layers to check each point against. Defaults to all eight. laanc_grid = UAS Facility Map LAANC ceilings; class_airspace = charted Class A/B/C/D/E airspace (ALWAYS queried - it is the check that distinguishes uncontrolled airspace from controlled airspace that has no LAANC grid, so excluding it would force every verdict to INCONCLUSIVE); prohibited_areas = P-areas like P-56; national_defense_tfr = national defense airspace TFR areas; special_use_airspace = Restricted/MOA/Alert/Warning/Danger areas; part_time_nsufr = part-time national security UAS flight restrictions; stadiums = stadium game-day TFR proximity (3 NM); recreational_flyer_sites = FAA-listed fixed flying sites. Example: ["laanc_grid","class_airspace","prohibited_areas","national_defense_tfr","special_use_airspace","part_time_nsufr","stadiums","recreational_flyer_sites"]. | |
| points | Yes | Locations to check, in WGS84 decimal degrees. Each item is either an object like {"lat": 39.86, "lon": -104.67, "label": "Site A"} (label optional; latitude/longitude aliases accepted) or a "lat,lon" string like "39.86,-104.67". One result row is produced per point, and one Result event is charged per row. Example: [{"lat":39.86,"lon":-104.67,"label":"Denver Intl (KDEN) - Class B, LAANC ceiling 0 ft"},{"lat":40.8296,"lon":-73.9262,"label":"Yankee Stadium NYC - LAANC 300 ft + stadium TFR"},{"lat":42.1708,"lon":-72.6375,"label":"Westover ARB (KCEF) - Class D, LAANC NOT offered"},{"lat":38.9072,"lon":-101.05,"label":"Rural western Kansas - MOA overhead, floor 500 ft AGL"},{"lat":47.2,"lon":-108.6,"label":"Rura…(truncated). | |
| maxPoints | No | Safety cap on the number of points checked (and billed) in one run. Points beyond the cap are skipped with a warning. Applied by default if omitted: 500. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses key behavioral traits: 'Verdict is gated - it never reads clear when a layer did not answer' and 'Reads live from the official government source.' It also notes billing per result row in the parameter description. This is valuable beyond a simple read/write hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, using just a few sentences to state purpose, key behavior, and source. It does list all layers, which is somewhat redundant with the schema but aids quick comprehension. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should clarify the response format. It mentions verdicts but does not state what the verdict object looks like (e.g., per-point results, layer-specific details). It covers batch limits and gating, but lacks explicit error handling or return structure, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already thoroughly documents all three parameters. The description adds no additional parameter-specific semantics beyond mentioning batch lat/lon, which is already in the points parameter description. Baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Batch lat/lon to FAA UAS airspace verdicts' with a specific list of layers. It distinguishes itself from sibling tools by focusing on drone airspace checks (LAANC, no-fly zones) rather than other government data domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (any drone airspace query), but does not explicitly discuss alternative tools or when not to use it. It mentions batch processing and live data, but lacks direct comparison to other tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fdic-ncua-health-rollupA
Bank & Credit-Union Financial Health API — FDIC/NCUA QoQ. Bank & credit-union financial-health API on keyless FDIC data (NCUA v1.1): unified per-institution assets, deposits, equity, ROA, ROE, NIM and asset quality, with quarter-over-quarter deltas, peer-percentile scoring, and derived health flags (deposit outflow, low ROA, rising NPL). Reads live from the official government source. Store page: https://apify.com/malonestar/fdic-ncua-health-rollup
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Every mode returns the SAME full field set — capital ratios, uninsured deposits, unrealized losses, CRE concentration, credit quality and quarter-over-quarter deltas. Mode changes the ordering only. snapshot = largest institutions first. delta = biggest quarter-over-quarter deposit move first (the headline run-risk signal). score = highest peer asset percentile first. stress = most health flags first, the triage view. Example: "stress". Applied by default if omitted: "snapshot". | |
| state | No | US state to scope the cohort, e.g. CA, TX, NY. Strongly recommended: it focuses the run and makes peer percentiles state-level. Empty = the entire country (slower; national peer scoring). Example: "TX". | |
| benchmark | No | Adds asset-weighted benchmark ratios and this bank's distance from them, in percentage points: benchmark_uninsured_deposit_ratio, benchmark_cre_to_tier1_pct, benchmark_unrealized_loss_to_equity_pct plus uninsured_vs_benchmark_pts, cre_vs_benchmark_pts, unrealized_vs_benchmark_pts. 'national' compares against all ~4,350 FDIC-insured banks; 'state' against the banks in your state. Costs exactly ONE extra request thanks to server-side aggregation — not a second full download. 'none' skips it. Example: "national". | |
| creGrowth | No | The 2006 interagency CRE guidance is TWO tests: construction >= 100% of capital, OR (CRE >= 300% of capital AND CRE grew >= 50% over 36 months). Leaving this on fetches the quarter from 12 quarters ago — one extra request — and fills cre_growth_36m_pct, cre_total_loans_36m_ago, cre_baseline_date and cre_guidance_prong, plus the cre_guidance_both_prongs flag. Turn it off to skip that request; the level tests still run. Example: true. | |
| maxAssets | No | Only include institutions with at most this many total assets, in thousands of dollars. 0 = no ceiling. Combine with minAssets to score within an asset-size peer band (e.g. community banks $250M–$1B). Applied by default if omitted: 0. | |
| minAssets | No | Only include institutions with at least this many total assets, in thousands of dollars (FDIC reports assets in $000s, so 1000000 = $1B). Use with maxAssets to build a peer band. 0 = no floor. Applied by default if omitted: 0. | |
| peerBasis | No | What counts as a 'peer' when computing peer_asset_percentile, peer_roa_percentile, peer_cre_percentile and peer_uninsured_percentile. 'cohort' scores against everything you pulled (a state cohort mixes a $27M agricultural bank with a $200B trust bank, so the percentile means little). 'business_line' uses the FDIC SPECGRP business-model peer group — the cut a bank examiner uses. 'asset_band' uses FFIEC-style size bands. 'community_bank' splits on the FDIC community-bank research flag. Groups with fewer than 5 institutions fall back to the full cohort rather than ranking a bank against two neighbours. Example: "business_line". Applied by default if omitted: "cohort". | |
| maxResults | No | Maximum number of institution-health records to return after filtering, scoring, and ranking. This is your cost cap: one record = one billable result. 500 covers a full mid-size state; TX has ~380 banks, CA ~180. Example: 500. Applied by default if omitted: 1000. | |
| priorItems | No | Optional. In delta mode, an array of institution rows from a previous run (each needs id, total_assets, total_deposits) to diff the current quarter against, instead of auto-fetching the prior quarter. Lets you compare two arbitrary runs. Applied by default if omitted: []. | |
| institutionType | No | Which institutions to include. 'bank' = FDIC-insured banks, fully supported, the only option that returns data today. 'credit_union' = NCUA — NOT AVAILABLE YET (ships in v1.3); selecting it alone fails the run immediately and bills nothing, rather than quietly handing back bank data. 'all' = runs the bank half now and picks up credit unions automatically the moment v1.3 lands. Example: "bank". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the transparency burden. It discloses keyless access, live reads from the official source, and derived health flags, which is useful behavioral context. But it does not mention operational traits like output size limits, pagination, rate limits, or write/read-only status; the cost per record is buried in a parameter description, not in the main description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense paragraph plus a store link; no filler or tautology. It front-loads the core purpose and key metrics and closes with a useful source reference. It could be slightly more structured (e.g., bullets) but is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the major return field categories (assets, deposits, equity, ROA, ROE, NIM, asset quality, health flags, deltas) and explaining the mode/benchmark concepts are deferred to schema. It gives enough domain context to understand what the tool returns, though it does not specify output shape or size bounds. For a 10-parameter tool, this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter has extensive meaning (examples, defaults, behavior, tradeoffs). The tool description itself adds no parameter-level detail, instead summarizing the domain. Per the baseline rule, with high schema coverage, a score of 3 is appropriate; the schema is doing the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific resource: a bank and credit-union financial-health API built on FDIC/NCUA data, with explicit mentions of metrics (ROA, ROE, NIM), quarter-over-quarter deltas, peer-percentile scoring, and health flags. This distinguishes it sharply from the environmental/geospatial sibling tools. The verb+resource structure is implicit ('API ... provides') but unambiguous and highly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool reads live government data and focuses on financial health, which implies when it would be appropriate (bank health analysis) versus the environmental screeners. However, it offers no explicit when-to-use or when-not-to-use guidance, no named alternatives, and no exclusion criteria. Usage context is present but only implied by the domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fema-nri-county-risk-profileA
FEMA NRI County Risk Profile — Asset Hazard Join. Join any asset (address, lat/lon, or county FIPS) to FEMA's National Risk Index hazard profile at county or census-tract resolution: composite risk score, expected annual loss, social vulnerability, resilience, and ranked top-3 hazards across all 18 FEMA perils. Reads live from the official government source. Store page: https://apify.com/malonestar/fema-nri-county-risk-profile
| Name | Required | Description | Default |
|---|---|---|---|
| assets | No | Locations to profile. Each item is EITHER {fips:"08031"} (5-digit county FIPS), OR {state:"Colorado", county:"Denver"}, OR {lat:39.7392, lon:-104.9903} (geocoded via the keyless FCC Census Block API). Add an optional "label" to identify each asset in the output. Leave empty to run inventory mode instead (see states/counties below). Example: [{"state":"Colorado","county":"Denver","label":"Denver HQ"},{"lat":29.9511,"lon":-90.0715,"label":"New Orleans warehouse"}]. | |
| states | No | Used only when Assets is empty. Return full NRI risk profiles for these US states (2-letter postal codes or full names, e.g. CO or Colorado) at the resolution set above (county or tract). Leave empty (with Assets also empty) to return a small nationwide sample bounded by Max results. | |
| counties | No | Used only when Assets is empty. Narrows the States filter above to specific bare county names (no "County"/"Parish" suffix), e.g. Denver. Applies at both county and tract resolution. | |
| maxResults | No | Maximum number of output records (each is one billed result). In asset mode this caps the number of assets processed; in inventory mode it bounds the row count returned (there are ~3,144 US counties and ~85,000 US census tracts total). Example: 500. | |
| resolution | No | Geographic resolution to join against: "county" (default — ~3,144 US counties) or "tract" (~85,000 US census tracts, finer-grained). Tract resolution only applies to lat/lon assets (geocoded to a tract via the FCC Census Block API) and to inventory-mode states/counties pulls; fips or state+county assets carry no tract signal and always use county data. If a tract lookup misses or the tract service errors, the record gracefully falls back to its county profile with resolution_used="county" (never fails the run). Example: "county". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that it reads live from the official government source, which is a behavioral trait. However, it does not disclose other behaviors like rate limiting, error handling, fallback mechanisms (e.g., tract-to-county fallback is only in parameter docs), or any side effects. Since no annotations are provided, the description carries the transparency burden but only partially satisfies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured paragraph that front-loads the main purpose and then lists key outputs. It is concise, avoids redundancy with the schema, and effectively communicates the tool's value without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the absence of an output schema, the description adequately covers the primary return values and the general use case. It does not delve into edge cases or limitations, but these are partially addressed in parameter descriptions. Overall, it provides sufficient context for an agent to understand when and how to use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description does not add any semantic information about parameters beyond what the input schema already provides. The schema descriptions are thorough (covering all parameters, defaults, and fallbacks), so the description does not need to repeat them. Given the high schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's core function: joining assets to FEMA's National Risk Index hazard profile, and enumerates the specific outputs (composite risk score, expected annual loss, social vulnerability, resilience, top-3 hazards). It also distinguishes itself from sibling tools by focusing on risk profiles and supporting multiple asset inputs. The reference to the store page reinforces its identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternative environmental screening tools, nor does it mention conditions that would favor this tool. While the purpose implies a scenario (e.g., needing FEMA risk data), no concrete usage criteria or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fws-wetlands-proximity-screenerA
USFWS Wetlands Proximity Screener - Section 404 Site Risk API. Wetland due-diligence API for site selection: per lat/lon site, wetland presence within radius, Cowardin classification codes/systems, wetland types, total acreage nearby and a Section 404 dredge-and-fill screening flag. USFWS National Wetlands Inventory open data. Reads live from the official government source. Store page: https://apify.com/malonestar/fws-wetlands-proximity-screener
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | Sites to screen for wetlands. Each entry is an object { "lat": number, "lon": number, "label": "optional name" }. Also accepts "lat,lon" strings or [lat, lon] arrays. One dataset row (one billed result) is produced per asset, even when no wetland is found; a bad entry yields an ERROR row and the run continues. Example: [{"lat":36.3736,"lon":-89.385,"label":"Reelfoot Lake, TN - site inside a mapped lake"},{"lat":35.2216,"lon":-75.6913,"label":"Cape Hatteras, NC - estuarine tidal marsh"},{"lat":45.8918,"lon":-123.9615,"label":"Cannon Beach, OR - marine shoreline"},{"lat":47.5,"lon":-99,"label":"Prairie pothole, ND - farmed and drained wetlands"},{"lat":39.7392,"lon":-104.9903,"label":"Denver, CO - urban infill, n…(truncated). | |
| maxResults | No | Maximum number of assets processed in one run (1-2000). One result row is emitted (and billed) per asset. Default 500. Applied by default if omitted: 500. | |
| radiusMeters | No | Radius around each asset used for the wetland-presence check, in meters (10-5000). Screened as a TRUE circle. Default 300 (~984 ft, roughly a parcel-scale buffer). Example: 300. | |
| computeNearestDistance | No | When on (default), the actor measures the true distance and bearing to the nearest NWI wetland polygon instead of reporting a largest-acreage proxy. Costs up to ~10 small extra requests per site. Turn off for very large batches; nearest_wetland_* then falls back to the largest-acreage feature and nearest_basis says so. Example: true. | |
| nearestSearchRadiusMeters | No | How far out to look for the nearest wetland, in meters (up to 8000). Independent of the screening radius, so a site can correctly read 'no wetland within 300 m' and still report the closest one 1,391 m away. Default 1609 (1 mile). Raised automatically to at least the screening radius. Example: 1609. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It mentions that the tool 'reads live from the official government source,' which is a useful behavioral trait. However, it does not disclose error handling, billing behavior, or potential limitations such as rate limits or data freshness. No contradiction exists, but the transparency is limited to a single trait, missing other important aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that front-load the core purpose and key output details. It includes a URL for additional information without bloat. Every sentence contributes value, making it well-structured and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although there is no output schema, the description clearly enumerates the key outputs (presence, codes, types, acreage, flag) and notes the live data source. It is sufficient for an agent to understand what the tool returns and its operational nature. Minor gaps like request limits or cost are covered in the parameter schema, so the description is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, meaning all parameters are well-documented in the schema itself. The main description does not add further parameter-level meaning, such as format or constraints. Per the rubric, with high schema coverage, the baseline is 3, and the description provides no additional context, so 3 is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a USFWS Wetlands Proximity Screener for Section 404 site risk, listing specific outputs like wetland presence, Cowardin codes, types, acreage, and a screening flag. It distinguishes itself from sibling tools by focusing specifically on wetlands via the NWI, which is a unique domain among the listed environmental screeners.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly frames it as a due-diligence tool for site selection, indicating when it should be used. It implies usage for wetland-related screening but does not explicitly state when to avoid it or mention alternative tools. The reference to live data from an official source adds credibility and a reason for preference. No direct comparison to siblings is provided, so a score of 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hifld-grid-proximity-screenerA
Transmission Line & Substation Distance API by Coordinates. For each lat/lon site: distance to the nearest transmission line (kV, owner, overhead/underground), nearest substation, nearest power plant, the serving utility and its ISO/RTO, plus generation and battery-storage MW nearby. Includes sub-100 kV. Data-center, renewable, BESS and EV siting. Reads live from the official government source. Store page: https://apify.com/malonestar/hifld-grid-proximity-screener
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | Sites to screen for grid access. Each entry is an object { "lat": number, "lon": number, "label": "optional name" }. Also accepts "lat,lon" strings or [lat, lon] arrays. One dataset row (one billed result) is produced per asset; a bad entry yields an ERROR row and the run continues. Example: [{"lat":39.017,"lon":-77.46,"label":"Ashburn VA data center site"},{"lat":33.4484,"lon":-112.074,"label":"Phoenix AZ site"}]. | |
| eiaApiKey | No | Optional. A free EIA API key (https://www.eia.gov/opendata/register.php) enables the state industrial and commercial electricity price columns. Everything else works without it — leave this empty and those two columns are simply null. One lookup per distinct state, not per site. | |
| maxResults | No | Maximum number of assets processed in one run (1-2000). One result row is emitted (and billed) per asset. Default 500. Applied by default if omitted: 500. | |
| radiusMiles | No | Radius around each asset to search for transmission lines, substations and power plants, in miles (1-50). Features beyond this distance are ignored. Default 5. Example: 10. Applied by default if omitted: 5. | |
| minVoltageKv | No | Optional. Only count/consider transmission lines at or above this many kV. Since v1.2 the underlying layer includes sub-100 kV sub-transmission (69/46/34.5 kV), so values below 100 are now meaningful — leave empty to include every line, or set 115/230 to screen for high-voltage access only. Lines with an unknown voltage are excluded when this is set. Does not filter substations or power plants. | |
| skipErrorRows | No | When true, assets that could not be screened are logged but not written to the dataset, so you are not billed for them. Default false, which keeps every asset accounted for as an ERROR row. Note that a run in which EVERY asset fails always fails outright and bills nothing, regardless of this setting. Applied by default if omitted: false. | |
| includePlanned | No | Advanced/opt-in. Also check a 'planned transmission line' scratch layer that carries NO owner/voltage/status metadata. It is NOT an authoritative planned-line dataset — the planned_line_nearby flag is a low-confidence 'a planned-line geometry exists nearby' hint only. Default false. Applied by default if omitted: false. | |
| includeUtility | No | Also resolve which retail electric utility serves each site, its ownership type, holding company, customer count and summer peak, plus the balancing authority and ISO/RTO (PJM, ERCOT, CAISO, MISO, SPP, ISO-NE, NYISO). Where service territories overlap, the largest utility by summer peak load is reported as primary. On by default — one extra lookup per site. Example: true. | |
| simulateOutage | No | Diagnostic seam for verifying the reliability behaviour on demand rather than waiting for a real outage. "none" (default) is a genuine no-op. "primary" forces the primary line layer to appear down; "drift" forces the live drift gate to measure a truncated layer (the run then fails and bills nothing); "gate" forces the drift probes to be unreachable; "both" combines primary and gate. Leave as none for normal use. Applied by default if omitted: "none". | |
| includePowerPlants | No | Also report the nearest power plant (name, distance, fuel, technology, capacity MW, EIA plant code) plus total generation, battery-storage, solar and wind MW within the radius. Sourced from EIA's monthly plant inventory. On by default — set to false to skip and speed up large batches. Example: true. | |
| includeSubstations | No | Also report the nearest electric substation (name, distance, max/min voltage, connected line count) plus substations within the radius. On by default — set to false to skip substation screening and speed up large batches. Example: true. | |
| allowTruncatedLineFallback | No | The transmission-line answer comes from a national layer of 94,619 lines. If that layer is unavailable, the only backup is a 2023 copy that contains NO line below 100 kV — 44.8% of the US grid, and the sub-transmission most mid-size solar, BESS and EV-charging projects actually interconnect to. At Storm Lake IA it reports the nearest line 2.545 mi away at 161 kV when the truth is 0.649 mi at 69 kV. By default (false) such a run FAILS and bills nothing. Set true to receive rows instead, in which every complete-universe field (nearest_line_distance_miles, lines_within_radius, max_voltage_within_radius_kv, ...) is null, grid_tier reads DEGRADED, and only the nearest_ge100kv_line_* columns are populated. Applied by default if omitted: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses several behavioral aspects: it reads live government data, explains billing per row, details failure modes (e.g., truncated line fallback, simulated outage diagnostics), and clarifies how optional flags affect output. This goes beyond basic annotations, though rate limits or exact failure conditions are not fully specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph that front-loads the main purpose and lists outputs. It is not overly verbose, though it includes many details. It is well-structured and avoids redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (12 parameters, no output schema), the description covers the core behavior, data sources, billing, and failure modes. It is reasonably complete, though it could briefly mention the expected output shape or typical use-cases more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides extensive per-parameter descriptions (coverage 100%). The description adds context about data sources (official government source) and overall purpose, but does not significantly enhance parameter understanding beyond the schema. Since schema coverage is high, the baseline is 3; the added context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's functionality: it calculates distances to transmission lines, substations, power plants, and utility/ISO information for given coordinates. It explicitly lists outputs and use cases (data-center, renewable, BESS, EV siting), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool versus alternatives (e.g., other proximity screeners). It implies suitability for grid-related siting through examples, but lacks direct comparative guidance or criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
interconnection-queue-trackerA
US Interconnection Queue Tracker - 7 ISO Queues & Deltas API. Normalize US ISO/RTO generator interconnection queues (SPP, MISO, NYISO, CAISO, PJM, ERCOT, ISO-NE) into one schema and track new, withdrawn, status-change and COD-slip deltas. For renewables developers, land agents, and energy consultants. Keyless. Reads live from the official government source. Store page: https://apify.com/malonestar/interconnection-queue-tracker
| Name | Required | Description | Default |
|---|---|---|---|
| isos | No | ISO/RTO codes to pull. Leave empty to pull ALL 7 live sources (SPP, MISO, NYISO, CAISO, PJM, ERCOT, ISO-NE) in one run. All 7 are keyless - no account or API key needed. An unrecognised code now FAILS the run before anything is billed, rather than being silently dropped (which used to fall through to "all seven"). Example: ["SPP"]. Applied by default if omitted: []. | |
| mode | No | snapshot = emit the current normalized queue, automatically annotated with monitor fields (is_new_since_last_run, status_changed, previous_status) vs. the actor's own self-managed KV snapshot, plus synthetic withdrawn and per-ISO iso_summary rows. delta = legacy manual mode: compare against a prior snapshot YOU supply (priorItems/priorKvKey) and emit only change rows (new / withdrawn / status_change / cod_slip). Applied by default if omitted: "snapshot". | |
| deltaOnly | No | Snapshot mode only. When true, suppress unchanged queue rows and emit ONLY new/status-changed rows, synthetic withdrawn rows, and one iso_summary roll-up row per ISO — ideal for a scheduled weekly/daily monitor run that only cares about what changed. When false (default), the full queue is emitted as before, PLUS the same withdrawn/iso_summary rows as free bonus monitoring signal. Applied by default if omitted: false. | |
| maxResults | No | Maximum number of queue records to fetch across ALL selected ISOs combined. The cap is applied in ISO order, so a low value truncates the last ISOs: any ISO that is cut short or never reached is marked iso_status=truncated / not_fetched on its iso_summary row and is excluded from withdrawn-project detection for that run. The default is deliberately low (500) so an unconfigured call cannot run away; raise it to about 20000 to pull the whole federation (~18,200 records). Applied by default if omitted: 500. | |
| priorItems | No | Delta mode: the prior run's unified queue items (the array of records this actor produced before). The diff is computed purely against these. Ignored in snapshot mode. Applied by default if omitted: []. | |
| priorKvKey | No | Delta mode alternative to priorItems: a key in this actor's key-value store holding the prior snapshot. When set, the current snapshot is also SAVED under this key so scheduled runs diff automatically against the previous run. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and provides useful behavioral context: it is keyless, reads live from official government sources, and normalizes/tracks deltas. It does not mention potential side effects like internal KV snapshot writes or rate limits, but the read-oriented framing is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core function, followed by audience, auth, and data-source context. The store link is a useful addition and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers domain, scope, audience, auth, and data source, and the schema supplies exhaustive parameter detail. There is no output schema and the description does not fully specify the response structure, but the normalized-queue/delta concept is enough to orient an agent reasonably well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the input schema already provides detailed semantics for all 6 parameters. The description adds overall domain context but no parameter-level detail beyond what the schema already contains, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Normalize', 'track') and names the exact resource ('US ISO/RTO generator interconnection queues') across all 7 ISOs. It clearly distinguishes the tool from sibling data tools by domain and functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The audience and context are clear ('renewables developers, land agents, energy consultants'; live US ISO queue monitoring and deltas), making the intended use obvious. It does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
license-verifierA
License Verification API — Nurses, MDs & OIG Exclusions. Primary source verification for US professional licenses. Search 19 state boards by name or license number: status, expiration, disciplinary actions. Cross-checks the NPPES NPI registry and screens the HHS-OIG exclusion list. Bulk roster screening. Reads live from the official government source. Store page: https://apify.com/malonestar/license-verifier
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City to filter licensees by. Not every board publishes a city column. | |
| name | No | Full-name search that works across every board (handles combined name fields). Use this if lastName/firstName return nothing. | |
| roster | No | Batch mode: verify a whole roster of professionals in one run. Each item: {firstName, lastName, state (optional — omit to search every board), profession (optional), middleName (optional, improves scoring)}. Emits one verdict row per entry with verdict, match_score, match_tier, NPI cross-walk, OIG exclusion screen and board-action status. Capped at 200 entries per run. Every verdict row is billable, including NOT_FOUND and INCONCLUSIVE_SOURCE_ERROR — a verified negative is the deliverable. | |
| states | No | State codes or explicit board IDs. A bare state code searches EVERY board in that state - e.g. "TX" covers TDLR trades AND the Board of Nursing (RN, LVN, APRN). Use a hyphenated ID to target ONE board: IL-IDFPR, CT-DCP, CO-DORA, TX-TDLR, TX-BON (RN), TX-LVN, TX-APRN, OR-CCB, OR-BCD, NY-RACING (horse racing only), NY-RE, NY-COS, NY-NOTARY, NY-APPRAISER, WA-DOH (health professions), WA-CPA, WA-CONTRACTOR, DE-DPR, VT-DFS. States: CO, CT, DE, IL, NY, OR, TX, VT, WA. Example: ["WA"]. | |
| lastName | No | Licensee last name (partial match). Example: "Threlkeld". Applied by default if omitted: "". | |
| firstName | No | Licensee first name (partial match). Supplying it raises match confidence sharply — first + last name exact is the threshold for a confident verdict. Example: "Judson". Applied by default if omitted: "". | |
| npiLookup | No | For each roster entry, look the person up in the federal NPI registry and use their self-reported state license number to pin down the exact board record. This is what turns 125 same-name candidates into one verified match, and it returns NPI, taxonomy and practice address. Applied by default if omitted: true. | |
| maxResults | No | Maximum number of license records to return per board. Each returned row is billable, so start small. Example: 10. Applied by default if omitted: 200. | |
| statusOnly | No | Return only license number, type, status, expiration, provenance and the OIG exclusion flags. Handy for recurring renewal monitoring. NOTE: this is the SAME price per row as a full record — it returns less data, not cheaper data. Applied by default if omitted: false. | |
| licenseType | No | e.g. "Registered Nurse", "Real Estate", "Cosmetology", "Professional Engineer". Boards without a license-type column skip this filter and say so in the log and in unsupported_filters. | |
| businessName | No | Business or DBA name to search (partial match). | |
| licenseNumber | No | Exact license number to verify. The most precise search available — use it when you have it. | |
| checkDiscipline | No | Join the best-matching licensee against secondary board-action datasets: Delaware DPR disciplinary actions and the NYS Office of Professional Medical Conduct. A failed lookup is reported as unknown, never as 'no action on file'. Applied by default if omitted: true. | |
| onlyDisciplined | No | Return only licensees with a disciplinary history. Honoured by IL-IDFPR, CO-DORA, DE-DPR, WA-DOH, TX-BON and TX-LVN. Target those board IDs directly rather than a bare state code, or sibling boards that publish no disciplinary column will also return rows (they are reported in unsupported_filters). Applied by default if omitted: false. | |
| socrataAppToken | No | Optional free Socrata app token to raise rate limits. | |
| screenExclusions | No | Check every result against the federal HHS-OIG List of Excluded Individuals/Entities (83,000+ records, refreshed monthly). Matched on NPI first, then last+first+state. A surname-only hit is NEVER reported as an exclusion — it is flagged for review instead. Adds no per-row cost. Applied by default if omitted: true. | |
| rosterLimitPerBoard | No | How many candidate records to pull per board for each roster entry before scoring. Higher values reduce the chance of missing the right person for a common surname; candidates_truncated tells you when the cap was hit. Applied by default if omitted: 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses important behaviors: reads live from official government sources, every returned row is billable (including negatives), roster capped at 200 entries, OIG surname-only hits are flagged for review rather than reported, and rate limits can be raised via a Socrata token. It does not explicitly state read-only nature or error handling, but the described behaviors add substantial transparency beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the primary purpose and then briefly highlights additional features. It is concise and avoids redundancy, though the store page link is arguably unnecessary for an API description. The structure is efficient and scannable, with the main verb and resource stated upfront.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a solid overview of capabilities (search, bulk screening, discipline checks, OIG screening) and limitations (billing, roster cap). However, it does not explicitly describe the output format for non-roster searches (only mentions verdict fields within the roster parameter). Since there is no output schema, more detail on return structure would improve completeness, but for a 17-parameter tool it covers the core functionality adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with highly detailed descriptions for all 17 parameters, so the baseline is 3. The tool description itself does not add parameter-specific semantics beyond what the schema already specifies. While it mentions billing implications and roster caps, these are also covered in the schema descriptions. Thus, the description adds no additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a License Verification API for US professional licenses, specifying target professions (Nurses, MDs), sources (19 state boards, NPPES, HHS-OIG), and core actions (search by name/license number, verify status/expiration/disciplinary actions, bulk roster screening). This distinguishes it sharply from sibling tools focused on unrelated domains like FDIC or wetlands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for verifying US professional licenses, screening OIG exclusions, and bulk roster checks. It does not list explicit exclusions or alternatives, but the sibling tools are all in different domains (environmental, financial, etc.), making the appropriate use case obvious. Lacks an explicit 'when not to use' statement, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nhd-surface-water-404-screenerA
NHD Surface Water & Section 404 Wetland Screener. Screen any lat/lon against USGS NHDPlus HR surface water. 94 fields: exact distance to the nearest perennial, intermittent and ephemeral reach, waterbody type and purpose, mean annual flow, stream order, HUC-8/10/12, a jurisdictional-likelihood call with its reasoning, and a Section 404/WOTUS flag. Reads live from the official government source. Store page: https://apify.com/malonestar/nhd-surface-water-404-screener
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | Required. The list of sites to screen, in the standard [{lat, lon, label}] shape. Use decimal degrees (lon is negative in the USA). label is optional free text - it is echoed on every output row so you can join results back to your parcel list. Example: [{"lat":40.0143,"lon":-105.2829,"label":"Boulder CO parcel"}]. The four prefilled sites deliberately cover the range of outcomes: a creekside parcel 5 m from a perennial stream carrying 103 cfs (HIGH), a Louisiana site sitting inside an NHD swamp/marsh (HIGH, wetland-driven), an Arizona parcel inside a mapped desert wash (LOW - washes are reported but are not jurisdictional after Sackett), an upland Mojave parcel whose only nearby feature is an ephemeral reach (LOW), and an open-coast parcel at the mouth of Mobile Bay sitting on the Gulf of Mexico polygon (HIGH) - the coastal case that build 1.1.6 and earlier could not screen at all. Example: [{"lat":40.0143,"lon":-105.2829,"label":"Boulder CO - creekside redevelopment parcel"},{"lat":29.99091,"lon":-89.93323,"label":"New Orleans East LA - swamp/marsh adjacent site"},{"lat":33.42931,"lon":-111.98414,"label":"Tempe AZ - parcel inside a mapped desert wash"},{"lat":35.2,"lon":-115.9,"label":"Mojave NP CA - upland solar reference site"},{"lat":30.2481,"lon":-88.0783,"label":"Dauphin Islan…(truncated). | |
| maxResults | No | Upper bound on the number of assets screened, and therefore on the number of dataset rows produced. One asset always produces exactly one row, including sites that turn out to be far from any mapped water. Clamped to 1-10000. Example: 100. Applied by default if omitted: 1000. | |
| radiusMeters | No | How far around each site to look for NHD flowlines, waterbodies and water areas. 1000 m covers a typical Phase-I ESA adjacent-property review; widen to 3000 m for utility-scale solar, BESS or data-center siting. Clamped to 50-8000 m. Example: 1000. Applied by default if omitted: 1600. | |
| includeNonNetworkFlowlines | No | Also query NHDPlus HR layer 4 (NonNetworkNHDFlowline) for isolated ditches, canals and disconnected reaches near the site. Leave on for a conservative wetland-delineation scope; turn off to save one request per asset. Note that layer 4 carries no NHDPlus value-added attributes, so a nearest reach found there has no mean annual flow, stream order or drainage area. Example: true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool reads live from the official government source, that one asset always produces exactly one row, and that layer 4 lacks NHDPlus value-added attributes. It also explains the default clamping behavior for parameters. This is strong behavioral disclosure for a read-only screening tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and key outputs, then dives into parameter details. It's long but every sentence earns its place—the example with five sites is verbose but serves as a powerful calibration for the agent. The structure is logical: purpose, outputs, source, then parameter semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (94 fields, 4 parameters, no output schema), the description is quite complete. It explains the output fields, the jurisdictional call, the data source, and parameter behavior. The only gap is that it doesn't describe the output format (e.g., whether results are returned as a dataset or inline), but the absence of an output schema and the tool's nature as a screener make this less critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds significant value beyond the schema: it explains the standard shape for assets, provides a detailed example with five prefilled sites that deliberately cover the range of outcomes, and gives practical guidance for radiusMeters (Phase-I ESA vs utility-scale). The includeNonNetworkFlowlines parameter is well-explained with trade-offs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool screens lat/lon coordinates against NHDPlus HR surface water data, listing the 94 output fields and the jurisdictional-likelihood call. It distinguishes itself from siblings like fws-wetlands-proximity-screener by focusing on NHD surface water and Section 404/WOTUS flags, and it names the specific government source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (screening any lat/lon against NHD surface water) and includes practical guidance in the parameter descriptions (e.g., radiusMeters for Phase-I ESA vs utility-scale siting). It doesn't explicitly state when not to use it or name alternatives, but the sibling list and the tool's specific scope make the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parcel-owner-lookupA
Parcel Owner Lookup — Address to Owner & Assessor Record. Turn street addresses into parcel IDs, owner names, mailing addresses, assessed values & coordinates from official assessor rolls (Chicago/Cook County, Philadelphia, NYC) with Census-geocoder fallback. Address-grounding primitive for AI agents, proptech & skip tracing. $0.02/lookup. Reads live from the official government source. Store page: https://apify.com/malonestar/parcel-owner-lookup
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | Yes | US street addresses to resolve to a parcel + owner record, one per line (e.g. '1060 W Addison St, Chicago, IL'). v1 matches against the Cook County IL (Chicago), Philadelphia PA, and New York City assessment rolls; addresses outside those areas fall back to Census geocoding (lat/lon only). Every input address always yields exactly one output row — unmatched addresses come back with match_confidence 'none'. Example: ["1060 W Addison St, Chicago, IL","1234 Market St, Philadelphia, PA","350 5th Ave, New York, NY"]. | |
| maxResults | No | Maximum number of addresses to process (one output row per address). Extra addresses beyond this cap are skipped. Example: 10. Applied by default if omitted: 100. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses read-only behavior ('Reads live from the official government source'), cost per lookup, the fallback to Census geocoding, and the guarantee that each input yields one output row with a 'match_confidence' field. It lacks explicit rate limits or failure modes, but covers key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not overly verbose. It leads with a clear summary, then details scope, use cases, cost, and data source. The structure is logical, though the repeated phrasing about addresses and output rows could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description gives a high-level list of fields but not the exact response structure. It also doesn't specify error handling, rate limits, or authentication requirements. For a read-only lookup tool, this is a moderate gap that could leave users uncertain about response format in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already includes detailed descriptions for both parameters. The tool description reinforces the address parameter's behavior (one row per input, fallback) and explains the maxResults cap. This adds meaningful context beyond the schema, especially regarding output consistency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: converting street addresses into parcel IDs, owner names, mailing addresses, assessed values, and coordinates. It specifies geographic coverage (Chicago/Cook County, Philadelphia, NYC) and distinguishes from sibling tools by focusing on parcel ownership data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases (address-grounding for AI agents, proptech, skip tracing) and mentions the scope and fallback behavior. While it doesn't directly compare to sibling tools, the domain-specific nature and geographic limits make it clear when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_gov_data_toolA
Run any one of the 114 catalog tools with the given input and return its rows. Billed to your own Apify account at the tool's published rate.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | The tool name to run, e.g. "usgs-seismic-design-screener". | |
| input | Yes | Input object matching the schema returned by describe_gov_data_tool. | |
| maxItems | No | Maximum rows to return. Default 200. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions billing to the user's Apify account and that it returns rows, but does not disclose whether the operation is read-only, potentially destructive, or has side effects. Since this runs arbitrary tools, the description should clarify safety characteristics but does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with purpose and cost. Every word earns its place, with no redundancy or verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal for a tool that runs 114 different tools with variable outputs. It states output as 'rows' but does not explain the structure, pagination, or how to discover available tools (though sibling tools like search_gov_data_tools partially cover this). Without an output schema, more detail on return format or error handling would improve completeness. Still, given the schema covers parameters, it is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully describes all three parameters, including defaults and ranges for maxItems. The description adds no additional meaning beyond the schema, but since coverage is high, a baseline of 3 is appropriate. It does tie the 'input' parameter to describe_gov_data_tool, which is helpful context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it runs any one of 114 catalog tools and returns their rows. This is specific and distinguishes it from sibling tools, which are individual named tools. The verb 'Run' with the resource 'any one of the 114 catalog tools' is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for executing any catalog tool generically, but does not explicitly state when to prefer this over a dedicated tool or when to avoid it. It does reference describe_gov_data_tool for input schema, providing some context, but lacks explicit when-not or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_gov_data_toolsA
Search the full catalog of 114 US government data tools by keyword, agency, or topic (e.g. "wetlands", "FDIC", "flood", "drone airspace", "business licenses"). Returns matching tool names with descriptions. Use this first when the task is not covered by one of the dedicated tools above.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return. Default 10. | |
| query | Yes | Keywords to match against tool name, title, description and category. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. It reveals the search scope (114 tools), matching dimensions (keyword/agency/topic), and return format ('matching tool names with descriptions'), which covers the core read/search behaviors. It omits edge-case behaviors such as result ordering and empty-result handling, but those are minor gaps for a catalog search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with all content earning its place: the first sentence states action, scope, and examples; the second covers return format and usage triage. It is front-loaded and contains no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity search tool with two fully documented parameters and no output schema, the description covers purpose, query examples, return content, and usage context. Minor gaps remain around edge-case behavior (empty results, ordering), but the tool is simple enough that the description is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so 'query' and 'limit' are fully documented in the structured schema, setting the baseline at 3. The description adds useful query examples and the agency/topic framing, but it does not add new semantic facts about the parameters beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair ('Search the full catalog of 114 US government data tools') and clarifies the search dimensions (keyword, agency, topic) with concrete examples like 'wetlands' and 'FDIC'. It also explicitly distinguishes itself from the sibling tools by positioning itself as the general fallback: 'Use this first when the task is not covered by one of the dedicated tools above.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use this first when the task is not covered by one of the dedicated tools above.' This simultaneously identifies the alternative (the dedicated sibling tools) and implies the when-not-to-use condition (when a dedicated tool covers the task), providing clear triage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site-due-diligence-bundleA
Environmental Due Diligence Bundle: 20-Layer Site Scorecard. Environmental due diligence in one call: lat/lon plus radius returns a go/caution/no-go fatal-flaw verdict and a 0-100 site score across 20 federal layers - EPA contamination, FEMA flood, NWI wetlands, ESA habitat, NAAQS nonattainment, NRHP historic, karst, landslide, levee, dams, CBRS, pipelines. Reads live from the official government source. Store page: https://apify.com/malonestar/site-due-diligence-bundle
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | List of sites to run the full fatal-flaw scorecard on. Each item is an object with numeric lat and lon (WGS84 decimal degrees) and an optional label. One billable scorecard row is returned per successfully screened asset -- invalid coordinates are returned in a separate non-billable dataset. Example: [{"lat":29.7355,"lon":-95.2601,"label":"Houston Ship Channel parcel"}]. Example: [{"lat":29.7355,"lon":-95.2601,"label":"Houston Ship Channel industrial site, TX"},{"lat":44.29,"lon":-105.5,"label":"Gillette, WY greenfield (coal-country)"}]. | |
| maxAssets | No | Maximum number of assets to screen from the list (safety cap). Extra assets beyond this are ignored. Applied by default if omitted: 250. | |
| radiusMiles | No | Search radius in statute miles for the proximity layers (EPA contamination, ESA critical habitat, transmission grid, wildfire flag, landslide nearby-search, CWA 303(d) impaired waters, tank/spill registries, gas pipelines, NWI wetlands, NRHP historic resources, and NID dams). Point-in-polygon-only layers (protected lands, flood/NRI county, seismic, IRA energy community, karst, USACE levee, CalFire FHSZ, NAAQS nonattainment, CBRS) ignore this. Accepts 0.25 to 25; smaller means a tighter on-site screen. Example: 1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool 'reads live from the official government source,' indicating a read-only, network-dependent behavior. However, it does not mention potential latency, rate limits, error handling, or what happens with invalid inputs. This is some transparency but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and includes a useful list of the 20 layers. It is longer than necessary, and the Store page URL is not relevant to tool invocation, but the structure is clear and each piece of information contributes to understanding the tool's scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a 20-layer bundle, the description covers the main purpose, output, and data source. It lacks a detailed output schema description, but since no output schema is provided, the mention of verdict and score is sufficient for selection and initial invocation. The gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with detailed descriptions, examples, ranges, and defaults for all three parameters. The description itself does not add parameter semantics, but the schema already handles the full burden. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs environmental due diligence by returning a go/caution/no-go verdict and a 0-100 score across 20 federal layers. It uses a specific verb 'returns' and lists the layers, which distinguishes it from sibling single-purpose screeners.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for comprehensive environmental due diligence in a single call. It implies it can replace multiple individual screeners, but it does not explicitly name alternatives or state when NOT to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v1.0.2- First observed
describe_gov_data_tool - First observed
epa-contaminated-site-screener - First observed
epa-drinking-water-quality-screener - First observed
faa-drone-airspace-checker - First observed
fdic-ncua-health-rollup - First observed
fema-nri-county-risk-profile - First observed
fws-wetlands-proximity-screener - First observed
hifld-grid-proximity-screener - First observed
interconnection-queue-tracker - First observed
license-verifier - First observed
nhd-surface-water-404-screener - First observed
parcel-owner-lookup - First observed
run_gov_data_tool - First observed
search_gov_data_tools - First observed
site-due-diligence-bundle
TDQS
The four environmental screening tools—fws-wetlands-proximity-screener, nhd-surface-water-404-screener, site-due-diligence-bundle, and epa-contaminated-site-screener—have heavily overlapping purposes, with multiple covering the exact same 'Section 404 site risk' territory. The site-due-diligence-bundle even subsumes several of the other tools' data layers (EPA contamination, NWI wetlands, NHD), meaning an agent would struggle to pick a single correct tool for a site-screening request.
The metatools (search_gov_data_tools, describe_gov_data_tool, run_gov_data_tool) use snake_case, while every domain tool uses hyphens, creating an arbitrary split that only makes sense if you already know both the naming convention and the meta/domain divide. The domain tools also mix suffixed identifiers inconsistently (-screener, -checker, -bundle, -tracker, -lookup, -verifier, -profile, -rollup), with no single verb or pattern dominating.
Fifteen tools is at the high end of the ideal range and is appropriate given the apparent domain scope (federal data used for property/site risk due diligence). The three-tool catalog meta-pattern means the actual breadth of the surface (114 tools) is accessed by only a handful of tools, which is reasonable, though slightly more than a typical screen would call for.
The catalog is strong on environmental/site risk (many screeners) but has odd gaps: although the meta-tools can 'find anything', the direct tools skip flood (only in the bundle), which is a core real-estate risk, and the SDWA/EPA tools focus on water, not air. The set also lacks an obvious 'update data' or 'list available agencies' tool, and the inclusion of license-verifier and parcel-owner-lookup feels orthogonal to the rest of the domain.
Maintenance
Related MCP Connectors
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Agent-native MCP server over 49M+ US public and government records, privacy-first, always current.
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server providing AI agents with access to German government open data. 12 tools across 6 categories: Autobahn traffic, DWD weather, NINA disaster warnings, SMARD energy market, Bundestag parliamentary data, and pollen forecasts. All APIs are free, no keys required.162MIT
- AlicenseAqualityCmaintenanceAn MCP server that connects AI agents to over 200 tools across 27 Brazilian public APIs, covering economic, legislative, transparency, and judicial data. It enables users to query and cross-reference extensive government datasets from sources like IBGE, the Central Bank, and the Brazilian Congress.71,751MIT
- AlicenseNot gradedqualityDmaintenanceMCP Server for accessing 36 Brazilian public data sources and 1 agent, enabling AI agents to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that connects AI agents to 28 Brazilian public APIs, providing tools to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/malonestar/gov-data-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server