US parcels and building permits from public sources. No owner data. Pay per record or monthly plan.
Call this server's tools from your browser. Nothing to install.
Bearer <your parcelapi.net API key>
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.
Create a Stripe Checkout link to buy a credit pack (see list_credit_packs). A human must open the link and pay; this tool charges nothing. With an API key, the credits go to that key. Without a key, a new key is created after payment: call claim_api_key with the returned session_id to receive it (once).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a Stripe Checkout link to buy a credit pack (see list_credit_packs). A human must open the link and pay; this tool charges nothing. With an API key, the credits go to that key. Without a key, a new key is created after payment: call claim_api_key with the returned session_id to receive it (once).
| Argument | Type | Description |
|---|---|---|
| pack* | string |
{
"type": "object",
"title": "buy_creditsArguments",
"required": [
"pack"
],
"properties": {
"pack": {
"type": "string",
"title": "Pack"
}
}
}Cancel your monthly plan at the end of the current paid period. No further charges; remaining monthly credits stay usable until the period ends and pack credits are kept. Free.
No arguments.
{
"type": "object",
"title": "cancel_subscriptionArguments",
"properties": {}
}After paying a buy_credits checkout without a key, claim the new API key with the checkout 'session_id' (starts with cs_). The key is shown only once: store it securely and send it as 'Authorization: Bearer'.
| Argument | Type | Description |
|---|---|---|
| session_id* | string |
{
"type": "object",
"title": "claim_api_keyArguments",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string",
"title": "Session Id"
}
}
}Show the remaining credit balance for your API key. Free.
No arguments.
{
"type": "object",
"title": "get_credit_balanceArguments",
"properties": {}
}Check an on-demand fetch job started by query_parcels (status queued/running/done/failed). Free. When it is done, repeat the same query_parcels search.
| Argument | Type | Description |
|---|---|---|
| job_id* | string |
{
"type": "object",
"title": "get_fetch_jobArguments",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"title": "Job Id"
}
}
}Show your monthly plan (plan, status, renewal time, cancel_at_period_end) and your credit balances (subscription credits vs pack credits). Free.
No arguments.
{
"type": "object",
"title": "get_subscription_statusArguments",
"properties": {}
}List the credit packs you can buy (name, credits, price). Free; no key needed.
No arguments.
{
"type": "object",
"title": "list_credit_packsArguments",
"properties": {}
}List the monthly subscription plans (name, credits per month, price). Monthly credits reset each billing cycle and do not roll over; pack credits are separate and never expire. Free; no key needed.
No arguments.
{
"type": "object",
"title": "list_subscription_plansArguments",
"properties": {}
}Search US property parcels. Requires 'state' (2-letter code) plus optional 'county' (exact county name, e.g. 'Harris' or 'Harris County'), 'city' (prefix) and 'address' (prefix, e.g. '123 MAIN'). Returns parcel_id, site_address, county, state and source attribution; never owner data. Costs 1 credit per record returned (minimum 1 per search; timeouts are free). If the area is not loaded yet, returns status 'fetch_queued' with a job_id: poll get_fetch_job, then search again. limit 1-100; use offset to page.
| Argument | Type | Description |
|---|---|---|
| city | any | |
| limit | integer | |
| state* | string | |
| county | any | |
| offset | integer | |
| address | any |
{
"type": "object",
"title": "query_parcelsArguments",
"required": [
"state"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City",
"default": null
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25
},
"state": {
"type": "string",
"title": "State"
},
"county": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "County",
"default": null
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address",
"default": null
}
}
}Search building permits from cleared open-data sources. Requires 'state'; optional 'city', 'county', 'address' (prefix), 'permit_type', 'issued_after' / 'issued_before' (YYYY-MM-DD). Applicant and contractor personal data are stripped. Results include license and attribution per source. 1 credit per record (minimum 1 per search).
| Argument | Type | Description |
|---|---|---|
| city | any | |
| limit | integer | |
| state* | string | |
| county | any | |
| offset | integer | |
| address | any | |
| permit_type | any | |
| issued_after | any | |
| issued_before | any |
{
"type": "object",
"title": "query_permitsArguments",
"required": [
"state"
],
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City",
"default": null
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25
},
"state": {
"type": "string",
"title": "State"
},
"county": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "County",
"default": null
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address",
"default": null
},
"permit_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Permit Type",
"default": null
},
"issued_after": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Issued After",
"default": null
},
"issued_before": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Issued Before",
"default": null
}
}
}Create a Stripe Checkout link to start a monthly plan (see list_subscription_plans). A human must open the link and pay; this tool charges nothing. With an API key, the plan attaches to that key. Without a key, a new key is created after payment: call claim_api_key with the returned session_id to receive it (once).
| Argument | Type | Description |
|---|---|---|
| plan* | string |
{
"type": "object",
"title": "subscribeArguments",
"required": [
"plan"
],
"properties": {
"plan": {
"type": "string",
"title": "Plan"
}
}
}