Rural public data for AI agents. Published by Verrow, LLC.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Cancel a watch using its id and owner token. Free.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http verrow https://api.verrow.ai/mcp
Cancel a watch using its id and owner token. Free.
| Argument | Type | Description |
|---|---|---|
| watch_id* | string | |
| owner_token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"watch_id",
"owner_token"
],
"properties": {
"watch_id": {
"type": "string",
"format": "uuid"
},
"owner_token": {
"type": "string",
"pattern": "^w_[A-Za-z0-9_-]{20,}$"
}
},
"additionalProperties": false
}check_airspace Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}Check whether a jurisdiction and data kind is covered before paying for a query. Free. Input: jurisdiction (name or slug), optional data_kind.
| Argument | Type | Description |
|---|---|---|
| data_kind | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"data_kind": {
"type": "string",
"maxLength": 60
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 2
}
},
"additionalProperties": false
}check_license Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| license_number | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"license_number": {
"type": "string",
"maxLength": 60,
"minLength": 1
}
},
"additionalProperties": false
}check_state_registration Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| data_kind | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"data_kind": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"jurisdiction": {
"type": "string",
"maxLength": 30,
"minLength": 1
}
},
"additionalProperties": false
}check_use_allowed Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| use* | string | |
| zone | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction",
"use"
],
"properties": {
"use": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"zone": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}county_pack Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"label": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}Create a prepaid API key. The key is shown once; store it in a secret store. Free.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| payer | string | |
| credit_code | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"label": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"payer": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"credit_code": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}get_esa_limits Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number | |
| month | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1
}
},
"additionalProperties": false
}US EPA pesticide product lookup by EPA registration number (e.g. 66551-1). Returns today: product name and registration status, signal word, restricted-use flag, formulation, active ingredients, and label PDF file names with acceptance dates. The application rate, REI and PPE numbers are printed inside those PDFs; this release returns them as UNKNOWN until label-text extraction ships (Phase 2). $0.05 per call in USDC.
| Argument | Type | Description |
|---|---|---|
| epa_reg_no* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"epa_reg_no"
],
"properties": {
"epa_reg_no": {
"type": "string",
"pattern": "^\\d{1,7}-\\d{1,5}$"
}
},
"additionalProperties": false
}List every tool and its price per call in USDC. Free.
No arguments.
{
"type": "object",
"properties": {}
}get_recent_decisions Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}Site feasibility report for an address/parcel: zoning, allowed-use verdict, permits, recent decisions, FEMA NFHL flood zone and soil, each cited. Returns 422 with no charge when zoning or flood zone is UNKNOWN. $4.00 per call in USDC. Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| parcel | string | |
| address* | string | |
| district | string | |
| latitude | number | |
| longitude | number | |
| jurisdiction* | string | |
| proposed_use | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address",
"jurisdiction"
],
"properties": {
"parcel": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"address": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"district": {
"type": "string",
"maxLength": 20,
"minLength": 1
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"proposed_use": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}get_soil Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}get_wind Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
}get_zoning Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| zone | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"zone": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}List every jurisdiction and data kind this service covers, with the data_as_of date for each. Free.
No arguments.
{
"type": "object",
"properties": {}
}List watches for an owner token returned when the watch was created. Free.
| Argument | Type | Description |
|---|---|---|
| owner_token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"owner_token"
],
"properties": {
"owner_token": {
"type": "string",
"pattern": "^w_[A-Za-z0-9_-]{20,}$"
}
},
"additionalProperties": false
}Request coverage for a town ($5). Becomes a top-priority demand signal and starts the records agent; you get $5 of call credits for that town once covered. Refund queued after 14 days if not covered. Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| needs | array | |
| jurisdiction* | string | |
| official_site_url | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"needs": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"official_site_url": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
}solar_siting_check Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| parcel | string | |
| address | string | |
| district | string | |
| latitude | number | |
| longitude | number | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction"
],
"properties": {
"parcel": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"address": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"district": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}spray_check Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| lat* | number | |
| lon* | number | |
| epa_reg_no* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"epa_reg_no",
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lon": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"epa_reg_no": {
"type": "string",
"maxLength": 30,
"minLength": 1
}
},
"additionalProperties": false
}Add $5 of prepaid USDC credit to an API key, paid over x402. Credits are spent per call at listed prices. $5.00 per top-up. Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| api_key* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"pattern": "^rk_[A-Za-z0-9_-]{20,}$"
}
},
"additionalProperties": false
}Watch a parcel for 30 days: new permits or decisions touching it, delivered to an HTTPS webhook with HMAC signatures and retries. $4.00 per 30 days in USDC. Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| parcel | string | |
| address | string | |
| webhook_url* | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction",
"webhook_url"
],
"properties": {
"label": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"parcel": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"address": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"webhook_url": {
"type": "string",
"format": "uri"
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}Watch a covered town for 30 days: council/planning decisions matching your keywords, delivered to an HTTPS webhook with HMAC signatures and retries. $9.00 per 30 days in USDC. Verified: 100% golden accuracy (78/78), 100% page-cited, UNKNOWN never charged, 100% uptime (24h), data as of 2026-10-26.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| keywords* | array | |
| webhook_url* | string | |
| jurisdiction* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jurisdiction",
"keywords",
"webhook_url"
],
"properties": {
"label": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"keywords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
},
"webhook_url": {
"type": "string",
"format": "uri"
},
"jurisdiction": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
Takes a password, API key or token as an argument, so the secret passes through the model's context and chat logs.
Fix: Read credentials from the server's own configuration (environment, OAuth) instead of a tool argument.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.