MCP Server
Access over 160 million parcel records across the U.S. — including spatial boundaries, ownership data, assessed values, land use codes, and matched building footprints — directly through the Regrid MCP and REST API.
Overview
The Regrid Model Context Protocol (MCP) server exposes Regrid's parcel data API to AI assistants and developer tooling. When you connect the Regrid MCP to Claude or another MCP-compatible client, you can query parcel records, look up ownership details, search by address or coordinates, and retrieve county metadata — all in natural language or through structured tool calls.
Using the Regrid MCP without a token allows users to ask questions about the documentation or how to construct an API request.
Access the MCP:
URL to the Regrid MCP Server: support.regrid.com/mcp
Asking General Questions About Regrid via the MCP
Beyond making API calls, the Regrid MCP can also serve as an interactive knowledge resource. When connected to an AI assistant, customers can ask natural language questions about Regrid's data, coverage, endpoints, and capabilities — and receive answers grounded in Regrid's own documentation — without needing to leave their workflow or search through docs manually.
This is particularly useful when you're mid-session and need quick clarity on how something works. Rather than switching context to browse support articles, you can ask the AI directly:
- "What fields are available on a parcel record?"
- "Does Regrid have coverage in Canada?"
- "What's the difference between parcelnumb and parcelnumb_no_formatting?"
- "What does the lbcs_activity field represent and what are the code ranges?"
- "How do I filter parcels by land use type?"
The AI uses the MCP's search and documentation tools to retrieve accurate, up-to-date answers from Regrid's support content — meaning responses are tied to real documentation rather than general model knowledge.
Why This Matters
Regrid's API surface is broad. Between parcel data fields, query filter syntax, endpoint-specific parameters, batch processing workflows, and geographic path conventions, there's a lot to keep track of. The ability to ask plain-language questions mid-workflow reduces friction, speeds up development, and helps customers get more out of the API without interrupting their session to consult external references.
It also lowers the barrier for less technical users who may understand what they want to accomplish but aren't sure which endpoint or parameter to use — the AI can bridge that gap by translating intent into the correct API pattern.
Under the hood, every request made through the MCP calls Regrid's REST API at:
https://app.regrid.com/api/v2
The MCP is a translation layer: it converts tool invocations into authenticated HTTP requests and returns structured parcel data back to the AI client.
You must have a valid Regrid API token for any parcel data to be returned.The MCP does not store parcel data, provide its own data source, or bypass subscription requirements. It is a connector to the same data and access controls that govern direct API usage.
Usage AlertWhen an AI assistant is connected to the Regrid MCP and given access to your API token, every parcel returned based on lookup, query, and data retrieval request it makes counts against your API usage quota. Unintentional or unoptimized prompts can result in significantly higher usage than expected.
Required AI SettingsTo comply with Regrid’s Terms & Conditions, you must disable "Model Training," "Data Sharing," or equivalent features in your AI account settings before using Regrid Data with any AI or LLM.
How the API Interacts with the MCP
When a user or AI assistant sends a request through the MCP, the following sequence occurs:
Step 1 — Tool call received
The MCP client (e.g. Claude) invokes a tool such as search-endpoints or execute-request with the relevant parameters — coordinates, an address, an APN, or a query filter.
Step 2 — Authentication injected
The MCP server attaches your API token to every outbound request, either as a token= query parameter or as an Authorization: Bearer header, depending on how the MCP connection was configured. Either way, the token is set once when the MCP server is configured in your client and must correspond to a valid Regrid account. See Header-Based Authentication below for why header auth is the recommended setup for MCP clients.
Step 3 — REST request sent to Regrid
The MCP constructs and fires an authenticated HTTP request to the Regrid API server:
GET https://app.regrid.com/api/v2/parcels/point?lat=32.83&lon=-96.56&token=YOUR_TOKENStep 4 — GeoJSON response returned
Regrid responds with a GeoJSON FeatureCollection containing matching parcel features, geometry, and all requested field data. The MCP surfaces this to the AI client as structured tool output.
Step 5 — Data presented to user
The AI assistant interprets the parcel response and can summarize ownership, acreage, land value, zoning, building footprints, or any other fields your subscription includes.
API Access & Authorization
All requests to the Regrid API — whether made directly or through the MCP — require a valid API token. There is no public, unauthenticated access to parcel records.
How to Authenticate
Pass your token as a query parameter named token on every request:
GET https://app.regrid.com/api/v2/parcels/point
?lat=32.834967
&lon=-96.563861
&token=your_api_token_here
&limit=5
API Token ExposureNever expose your API token in client-side JavaScript, public repositories, or shared notebooks.
Treat it as a password. If you believe your token has been compromised, rotate it from the Regrid dashboard immediately.
Where to Get a Token
Log in to app.regrid.com and navigate to your account settings to find or generate your API token. Trial tokens are issued automatically when you sign up for a free developer account.
Header-Based Authentication
As an alternative to the token query parameter, you can pass your token as an Authorization: Bearer header:
GET https://app.regrid.com/api/v2/parcels/point?lat=32.834967&lon=-96.563861
Authorization: Bearer your_api_token_hereBoth mechanisms are equivalent and satisfy authentication on any endpoint, so use whichever fits your integration.
Header auth is the recommended setup for MCP clients, because it lets the client inject the token on every outbound request without the token ever needing to appear in an AI chat session, a prompt, or a tool call. For example, in Claude Code:
# Run in a plain terminal, not inside an active Claude Code session.
# A running session can overwrite a config change made by this command
# before it's saved.
export REGRID_TOKEN=your_api_token_here # set in your shell profile
claude mcp add --transport http --scope user regrid \
https://support.regrid.com/mcp \
-H "Authorization: Bearer \${REGRID_TOKEN}"The escaped \${REGRID_TOKEN} matters: it tells Claude Code to store the placeholder itself in its config and resolve it from your environment at connection time, rather than resolving it immediately and writing the raw token to disk. Once configured this way, the MCP server attaches the header automatically, so you never need to paste or type the token into a chat with the AI assistant.
Claude Desktop
Claude Desktop's built-in Connectors GUI only supports OAuth right now, so it has no field for a custom header. To use header auth with Claude Desktop, skip the Connectors GUI and add the server directly to its config file through the mcp-remote bridge:
-
In Claude Desktop, open Settings > Developer > Edit Config. This opens (and creates, if needed)
~/Library/Application Support/Claude/claude_desktop_config.json. -
Add a
regridentry:{ "mcpServers": { "regrid": { "command": "npx", "args": [ "-y", "mcp-remote", "https://support.regrid.com/mcp", "--header", "Authorization: Bearer ${REGRID_TOKEN}" ], "env": { "REGRID_TOKEN": "your_api_token_here" } } } } -
If you already added Regrid through the Connectors GUI, remove that entry first so only one authenticated copy is running.
-
Fully quit Claude Desktop (Cmd+Q, not just closing the window) and reopen it. Config is only loaded on a full restart.
The Authorization: Bearer ${REGRID_TOKEN} value contains a space. Keep it as a single quoted JSON array element (as shown above), and do not split it across two args entries, since that breaks how mcp-remote reconstructs the header. For extra security, set REGRID_TOKEN in your shell environment or macOS Keychain rather than pasting the literal token into the file.
Don't paste your token into an AI chat sessionIf you're ever unsure whether header auth is configured, don't type your token into the conversation to test it. Instead, ask the assistant to hand back the crafted request (with
tokenas the last query parameter) and run it yourself in a browser,curl, or Postman.
Tips & Best Practices
A few habits keep MCP-driven usage cheap, secure, and predictable. Every parcel returned counts against your quota, so how a request is crafted matters as much as which endpoint it hits.
1. Cap results while developing
Add limit=1 while you're developing and iterating on a request. You almost never need a full result set to confirm that a query is shaped correctly. The first matching parcel tells you whether the fields, filters, and geography are right. Raise the limit only once the request is proven, so that exploratory prompts don't quietly burn through your quota.
GET https://app.regrid.com/api/v2/parcels/query
?fields[geoid][eq]=48113
&fields[owner][ilike]=7 ELEVEN INC
&limit=1
&token=YOUR_TOKEN2. Use a short-lived token when developing with LLMs
Before connecting an AI assistant to the MCP, create a dedicated API token with a short expiration rather than reusing a long-lived production token. Manage tokens from app.regrid.com/settings/api. A short lifespan limits the damage if the token is ever leaked into a prompt, log, or chat transcript, and it's cheap to rotate once development wraps up.
3. Never paste or use the token in-chat
Don't paste or type your token into the conversation, and don't ask the assistant to use it inline. If the MCP is configured, trust that configuration. The server injects the token on every outbound request (see Header-Based Authentication), so it never needs to appear in the chat.
If in doubt, don't test by pasting the token. Instead, have the assistant hand back the fully crafted request with the token parameter as the last parameter, then run it yourself in another browser tab, a curl command, or Postman:
GET https://app.regrid.com/api/v2/parcels/point?lat=32.834967&lon=-96.563861&limit=1&token=YOUR_TOKENKeeping token last makes it easy to spot, swap, or strip before sharing the request anywhere.
4. Scope requests to the narrowest geography
When crafting a request, always think about geographic scoping first, and use the narrowest scope that answers the question. The tighter the scope, the fewer parcels are scanned and returned:
- Country (
admin0) and state (state2, oradmin1internationally) are coarse filters, so combine them with a narrower one below. - County (
geoidoradmin2_slug) is usually the right unit of work. - A parcel
pathis the most precise handle available. - A
geojsongeometry or bounding box constrains results to an exact polygon or bbox.
If a larger region is genuinely needed, don't request it all at once. Iterate in logical chunks instead:
- Walk a bounding box as a grid of smaller bbox "tiles".
- Enumerate the counties within a state through the
/verseendpoint, then request one county at a time.
This keeps each request bounded, makes usage predictable, and avoids accidental nationwide scans.
Available Endpoints
All endpoints are served from the base URL https://app.regrid.com/api/v2.
US Parcel Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /parcels/point | Lat/lon point lookup |
POST | /parcels/point | Point lookup via GeoJSON body |
GET | /parcels/address | Address search |
GET | /parcels/apn | Assessor Parcel Number (APN) lookup |
GET | /parcels/owner | Owner name search |
GET | /parcels/query | Field-based filter query |
GET | /parcels/area | Area / polygon search |
POST | /parcels/area | Area search via GeoJSON body |
GET | /parcels/typeahead | Autocomplete address suggestions |
GET | /parcels/path | Lookup by parcel path |
GET | /parcels/{ll_uuid} | Lookup by Regrid UUID |
GET | /verse | County metadata |
GET | /schemas/parcel | Full parcel schema definition |
GET | /usage | Your API usage statistics |
Key Query Parameters
These parameters are shared across most parcel endpoints and control what data is returned.
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | Required | Your Regrid API authorization token |
lat | number | Required* | Latitude for point-based lookups |
lon | number | Required* | Longitude for point-based lookups |
radius | integer | Optional | Search radius in meters (max: 32,000). Default: 0 |
geojson | string | Optional | GeoJSON geometry string. Takes priority over lat/lon |
limit | integer | Optional | Maximum number of parcels to return |
offset_id | integer | Optional | Parcel ID from a prior response for pagination |
return_geometry | boolean | Optional | Include polygon geometry. Default: true |
return_count | boolean | Optional | Return the total count of matching parcels |
return_custom | boolean | Optional | Include county-specific non-standard fields |
return_field_labels | boolean | Optional | Return human-readable labels for schema field keys |
return_stacked | boolean | Optional | Return all parcels when geometries overlap. Default: true |
return_zoning | boolean | Optional | Include standardized zoning data (add-on required) |
return_matched_buildings | boolean | Optional | Include matched building footprint data (add-on required) |
return_matched_addresses | boolean | Optional | Include USPS-matched delivery address records (add-on required) |
return_enhanced_ownership | boolean | Optional | Include enhanced ownership data (add-on required) |
* Required for point-based endpoints unless geojson is provided.
Example Requests
Look up a parcel by coordinates
GET https://app.regrid.com/api/v2/parcels/point
?lat=32.834967
&lon=-96.563861
&token=YOUR_TOKEN
&limit=1
&return_field_labels=trueSearch parcels by owner name and county FIPS
GET https://app.regrid.com/api/v2/parcels/query
?fields[geoid][eq]=48113
&fields[owner][ilike]=7 ELEVEN INC
&token=YOUR_TOKENParcels in a zip code filtered by land use code and state
GET https://app.regrid.com/api/v2/parcels/query
?fields[szip][eq]=46202
&fields[lbcs_activity][between]=[2000,2999]
&fields[state2][eq]=IN
&token=YOUR_TOKENExample response (abbreviated)
{
"parcels": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { "type": "Polygon", "coordinates": ["..."] },
"properties": {
"headline": "1234 Main St, Dallas, TX 75201",
"path": "us/tx/dallas/1234-main-st",
"ll_uuid": "a1b2c3d4-...",
"fields": {
"owner": "SMITH JOHN",
"saddno": "1234",
"saddstr": "MAIN",
"saddsttyp": "ST",
"scity": "DALLAS",
"state2": "TX",
"landval": 95000,
"improvval": 312000,
"lbcs_activity": 1100,
"geoid": "48113"
}
}
}
]
}
}API Trial Token Restrictions
Trial tokens are geographically restricted.Free Regrid API trial tokens are limited to parcel data from 7 specific counties only.
Requests for parcels outside these counties will return no results or a403access error.
The trial lets you evaluate data quality, response structure, and integration workflow before committing to a subscription. All endpoints and query parameters work identically — the only limitation is geographic scope.
Trial vs. Paid Comparison
| Feature | Trial | Paid Subscription |
|---|---|---|
| All API endpoints | ✅ | ✅ |
| Full parcel schema (120+ fields) | ✅ | ✅ |
| Parcel geometry (boundaries) | ✅ | ✅ |
| MCP integration | ✅ | ✅ |
| Nationwide U.S. coverage | ❌ 7 counties only | ✅ All 50 states + DC and Puerto Rico |
| Canada coverage | ❌ | ✅ Add-on available |
| Premium datasets (buildings, zoning, enhanced ownership) | ❌ | ✅ Add-on available |
| Batch API access | ❌ | ✅ Add-on available |
[!TIP]
If you're testing the MCP and receiving empty results or unexpected errors, verify that your query
targets one of the designated trial counties. This is the most common issue for new developers.
The Regrid support site lists the exact trial counties available at the time of your signup.
Plans & Subscription
Full nationwide U.S. parcel coverage requires a paid monthly subscription. Pricing is based on usage tier, datasets needed, and whether you require Canada or premium add-ons.
Trial — Free
- All API endpoints
- 7 designated counties only
- Marion County, Indiana
- Dallas County, Texas
- Wilson County, Tennessee
- Durham County, North Carolina
- Fillmore County, Nebraska
- Clark County, Wisconsin
- Gurabo Municipio, Puerto Rico
- No nationwide access
- Premium datasets not included
- MCP compatible
Paid Monthly Subscription
- All API endpoints
- Full U.S. coverage — all 50 states + DC
- 160M+ parcel records
- Premium datasets available as add-ons
- Canada coverage available for enterprise contract
- Batch API access available for enterprise contract
Contact Regrid at regrid.com or through the in-app dashboard to discuss pricing.
Subscriptions are billed monthly. Add-ons for matched building footprints, standardized zoning, enhanced ownership records, and matched address datasets are available for enterprise contracts
Premium & Add-on Datasets
Beyond the core parcel schema, Regrid offers premium matched datasets returned automatically in API responses when your subscription includes them.
Matched Building Footprints
Returns building polygons matched to parcels, including footprint square footage, estimated stories, roof slope, mean height, volume, and source imagery date.
Controlled by: return_matched_buildings
Matched Addresses
Returns USPS-validated delivery addresses associated with each parcel, including DPV confirmation status,
delivery sequence, and geocode type.
Controlled by: return_matched_addresses
Standardized Zoning
Returns jurisdiction zoning classification, land use flags (permitted and conditional), setback requirements,
FAR, density limits, and height restrictions.
Controlled by: return_zoning
Enhanced Ownership
Returns additional ownership intelligence beyond the raw assessor record.
Controlled by: return_enhanced_ownership
[!NOTE]
Premium datasets are included with trial token access.
Batch Processing
For large-scale operations, Regrid provides a dedicated Batch Processing API for requests involving up to
100,000 coordinate points per batch — for workflows that exceed the limits of the standard point endpoint.
Accepted Input Formats
- CSV file upload
- Raw CSV text
- GeoJSON
FeatureCollectionofPointgeometries
You can attach a custom_id to each input point to cross-reference your inputs against returned results.
Jobs are submitted asynchronously — you poll for status and download results when the job is ready.
The Batch API is available on enterprise contracts and accessible through both the REST API and the MCP.
When to Use Batch vs. Standard API
| Use case | Recommended endpoint |
|---|---|
| Real-time, user-facing lookups (≤ 1,000 points) | GET /parcels/point |
| Large property portfolios or offline processing | Batch API |
| Any dataset exceeding 1,000 points | Batch API |
Global Parcel Coverage
Regrid provides Canadian and Europe parcel data under the /{country}/ prefix. The country code uses the abbreviated country code from ISO 3166. The schema and endpoint structure mirror the U.S. API, with province-level coverage and a global-specific standardized schema.
| Method | Endpoint | Description |
|---|---|---|
GET | /{country}/parcels/point | Lat/lon point lookup |
POST | /{country}/parcels/point | Point lookup via GeoJSON body |
GET | /{country}/parcels/address | Address search |
GET | /{country}/parcels/apn | APN lookup |
GET | /{country}/parcels/query | Field-based filter query |
GET | /{country}/parcels/area | Area / polygon search |
GET | /{country}/parcels/path | Parcel path lookup |
GET | /{country}/verse | Province metadata |
Global access is an add-on to enterprise contracts. Trial tokens does not include global parcel data.
Errors & Status Codes
| Status | Meaning | Common Cause |
|---|---|---|
200 | Success | Request completed. The features array may be empty if no parcels matched. |
401 | Unauthorized | Missing or invalid API token. Ensure token= is present and correct. |
403 | Forbidden | Your token lacks access to the requested data. Trial tokens return 403 outside their 7-county scope. |
429 | Rate Limited | Too many requests. Implement retry logic with exponential backoff. |
500 | Server Error | Unexpected server-side error. Retry the request or contact Regrid support if persistent. |
401 — Unauthorized
{
"status": "error",
"message": "An access token is required."
}Updated 15 days ago
