GISDB
Source-backed county property records, owner-name portfolios and three Hamilton County lead packa...
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"gisdb": {
"url": "https://gisdb.io/api/v1/mcp"
}
}
}Puntos de conexión remotos
https://gisdb.io/api/v1/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (15)
🟢gisdb_search_catalog(query, state)
Find county records packages and directory listings. Check each package's availability, price, source coverage and limits before buying. A county listing does not confirm lead, assessment or CAD coverage.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"description": "Optional county-name filter. Released records catalogs also accept county FIPS. Omit to browse the state's catalog.",
"maxLength": 200,
"type": "string"
},
"state": {
"description": "Explicit two-letter state code, such as TN or GA.",
"maxLength": 2,
"minLength": 2,
"type": "string"
}
},
"required": [
"state"
],
"additionalProperties": false
}🟢gisdb_get_metadata(county, state)
Read a county records package's verified details, source coverage, missing facts and limits. Returns unavailable when no verified package exists. CAD compatibility and the current tax year are not assumed.
Esquema de entrada
{
"type": "object",
"properties": {
"county": {
"description": "Explicit county name or five-digit county FIPS within the selected state.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"state": {
"description": "Explicit two-letter state code, such as TN or GA.",
"maxLength": 2,
"minLength": 2,
"type": "string"
}
},
"required": [
"county",
"state"
],
"additionalProperties": false
}🟢gisdb_search_records(county, format, limit, mode, offset, ...)
Search recorded county property facts or repeated owner-name groups. Use property_records for address, parcel or owner-name searches, or owner_portfolios for unfiltered groups. Property records allow 1–250 rows and offsets through 1000000; groups allow 1–100 rows without query, signal or offset. JSON preview only. Names do not prove identity, authority, debt, equity, distress, cash purchases or intent to sell.
Esquema de entrada
{
"type": "object",
"properties": {
"county": {
"description": "Explicit county name or slug within the selected state; no county is assumed.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"format": {
"description": "Return a JSON preview. Downloadable CSV products require a separately reviewed purchase and verified delivery.",
"enum": [
"json"
],
"type": "string"
},
"limit": {
"description": "Maximum returned rows: 1–250 property records (default 25), or 1–100 owner-name groups (default 20).",
"maximum": 250,
"minimum": 1,
"type": "integer"
},
"mode": {
"description": "Choose property_records to search retained property observations, or owner_portfolios for unfiltered repeated owner-name groups without pagination.",
"enum": [
"property_records",
"owner_portfolios"
],
"type": "string"
},
"offset": {
"description": "Zero-based row offset for property_records mode, from 0 through 1000000; default 0. Omit for owner_portfolios.",
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"q": {
"description": "Address, parcel or retained owner-name label to search in property_records mode. Omit or send an empty string to browse all retained property records.",
"maxLength": 200,
"type": "string"
},
"signal": {
"description": "Optional assessment-observation filter for property_records mode. No notice or motivation signals are supported.",
"enum": [
"assessment"
],
"type": "string"
},
"state": {
"description": "Explicit two-letter state code, such as TN or GA.",
"maxLength": 2,
"minLength": 2,
"type": "string"
}
},
"required": [
"mode",
"county",
"state"
],
"additionalProperties": false,
"oneOf": [
{
"properties": {
"mode": {
"const": "property_records"
}
}
},
{
"not": {
"anyOf": [
{
"required": [
"q"
]
},
{
"required": [
"signal"
]
},
{
"required": [
"offset"
]
}
]
},
"properties": {
"limit": {
"maximum": 100
},
"mode": {
"const": "owner_portfolios"
}
}
}
]
}🟢gisdb_guide_search(answers, preview_limit, preview_offset, skipped_question_ids)
Find available property records, owner-name groups, lead packages or county downloads. Ask one next_question at a time. Accept unknown or skipped answers and resend previous answers and skipped IDs. Returns source coverage, previews and available offers. No sign-in or purchase required. Unsupported notices never fall back to assessment records.
Esquema de entrada
{
"type": "object",
"properties": {
"answers": {
"additionalProperties": false,
"description": "Accumulated explicit answers for this search. Retain previous choices and omit unknown values; never invent an answer.",
"properties": {
"county": {
"description": "County name or five-digit county FIPS within the selected state. Preserve the user's explicit choice.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"dataset_kind": {
"description": "For county-record packages, choose assessment observations or recorded ownership data. Availability differs by county.",
"enum": [
"assessment",
"ownership"
],
"type": "string"
},
"delivery": {
"description": "One-time access or recurring updates, as explicitly selected by the user. Recurring service requires an exact returned reviewed offer.",
"enum": [
"one_time",
"recurring"
],
"type": "string"
},
"format": {
"description": "Requested preview or download format. Availability depends on the selected product; purchased lead packages require CSV.",
"enum": [
"json",
"csv"
],
"type": "string"
},
"kind": {
"description": "The user's research goal: property observations, repeated owner-name groups, a county-record package, notices, or a packaged lead product.",
"enum": [
"property_records",
"portfolio_owners",
"records_package",
"notices",
"lead_package"
],
"type": "string"
},
"lead_offer_id": {
"description": "An exact lead_products offer_id returned by this guide after reviewing scope, source date and purchase frequency.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"lead_package": {
"description": "Exact source-backed package category. Does not imply seller motivation, equity or a future sale.",
"enum": [
"realtor-radar",
"wholesaler-pro",
"commercial-pro"
],
"type": "string"
},
"notice_kind": {
"description": "Requested notice category. Unsupported categories remain unavailable and do not fall back to assessment records.",
"enum": [
"foreclosure",
"tax_delinquency",
"probate",
"divorce",
"bankruptcy",
"code_enforcement",
"other"
],
"type": "string"
},
"product_id": {
"description": "Exact product_id selected from the returned county-record products after reviewing its scope, source and price.",
"maxLength": 128,
"type": "string"
},
"query": {
"description": "Address, parcel or retained owner-name label. An explicit empty string browses all records. Omit unknown answers.",
"maxLength": 200,
"type": "string"
},
"state": {
"description": "Explicit two-letter state code chosen by the user, such as TN or GA. Omit while unknown.",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"subscription_offer_id": {
"description": "Exact subscription offer_id returned for this same search and source after reviewing its renewal terms.",
"maxLength": 128,
"type": "string"
}
},
"required": [],
"type": "object"
},
"preview_limit": {
"default": 5,
"description": "Maximum number of preview rows to return, from 1 through 20; default 5. This does not limit the scope of a purchased package.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"preview_offset": {
"default": 0,
"description": "Zero-based offset for supported property-record or lead-package previews, from 0 through 10000; default 0. Owner-name group previews do not support pagination.",
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"skipped_question_ids": {
"description": "Question IDs explicitly skipped by the user. Resend them so those questions are not asked again.",
"items": {
"description": "The returned next_question ID the user chose to skip.",
"enum": [
"search_kind",
"lead_package",
"lead_offer",
"state",
"county",
"query",
"dataset_kind",
"notice_kind",
"delivery",
"format"
],
"type": "string"
},
"maxItems": 10,
"type": "array",
"uniqueItems": true
}
},
"required": [],
"additionalProperties": false,
"description": "Complete current search input, including accumulated explicit answers, skipped questions and the requested preview page."
}Esquema de salida
{
"type": "object"
}🟡gisdb_start_search(idempotency_key, input)
Save this GISDB search to the connected account. Reuse the same idempotency_key if the result is uncertain. Does not buy, subscribe or send anything.
Esquema de entrada
{
"type": "object",
"properties": {
"idempotency_key": {
"description": "Stable retry key for this exact request. Reuse it with identical arguments after an uncertain result; use a new key for changed arguments.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"input": {
"additionalProperties": false,
"description": "Complete current search input, including accumulated explicit answers, skipped questions and the requested preview page.",
"properties": {
"answers": {
"additionalProperties": false,
"description": "Accumulated explicit answers for this search. Retain previous choices and omit unknown values; never invent an answer.",
"properties": {
"county": {
"description": "County name or five-digit county FIPS within the selected state. Preserve the user's explicit choice.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"dataset_kind": {
"description": "For county-record packages, choose assessment observations or recorded ownership data. Availability differs by county.",
"enum": [
"assessment",
"ownership"
],
"type": "string"
},
"delivery": {
"description": "One-time access or recurring updates, as explicitly selected by the user. Recurring service requires an exact returned reviewed offer.",
"enum": [
"one_time",
"recurring"
],
"type": "string"
},
"format": {
"description": "Requested preview or download format. Availability depends on the selected product; purchased lead packages require CSV.",
"enum": [
"json",
"csv"
],
"type": "string"
},
"kind": {
"description": "The user's research goal: property observations, repeated owner-name groups, a county-record package, notices, or a packaged lead product.",
"enum": [
"property_records",
"portfolio_owners",
"records_package",
"notices",
"lead_package"
],
"type": "string"
},
"lead_offer_id": {
"description": "An exact lead_products offer_id returned by this guide after reviewing scope, source date and purchase frequency.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"lead_package": {
"description": "Exact source-backed package category. Does not imply seller motivation, equity or a future sale.",
"enum": [
"realtor-radar",
"wholesaler-pro",
"commercial-pro"
],
"type": "string"
},
"notice_kind": {
"description": "Requested notice category. Unsupported categories remain unavailable and do not fall back to assessment records.",
"enum": [
"foreclosure",
"tax_delinquency",
"probate",
"divorce",
"bankruptcy",
"code_enforcement",
"other"
],
"type": "string"
},
"product_id": {
"description": "Exact product_id selected from the returned county-record products after reviewing its scope, source and price.",
"maxLength": 128,
"type": "string"
},
"query": {
"description": "Address, parcel or retained owner-name label. An explicit empty string browses all records. Omit unknown answers.",
"maxLength": 200,
"type": "string"
},
"state": {
"description": "Explicit two-letter state code chosen by the user, such as TN or GA. Omit while unknown.",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"subscription_offer_id": {
"description": "Exact subscription offer_id returned for this same search and source after reviewing its renewal terms.",
"maxLength": 128,
"type": "string"
}
},
"required": [],
"type": "object"
},
"preview_limit": {
"default": 5,
"description": "Maximum number of preview rows to return, from 1 through 20; default 5. This does not limit the scope of a purchased package.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"preview_offset": {
"default": 0,
"description": "Zero-based offset for supported property-record or lead-package previews, from 0 through 10000; default 0. Owner-name group previews do not support pagination.",
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"skipped_question_ids": {
"description": "Question IDs explicitly skipped by the user. Resend them so those questions are not asked again.",
"items": {
"description": "The returned next_question ID the user chose to skip.",
"enum": [
"search_kind",
"lead_package",
"lead_offer",
"state",
"county",
"query",
"dataset_kind",
"notice_kind",
"delivery",
"format"
],
"type": "string"
},
"maxItems": 10,
"type": "array",
"uniqueItems": true
}
},
"required": [],
"type": "object"
}
},
"required": [
"idempotency_key",
"input"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢gisdb_continue_search(expected_revision, idempotency_key, input, workflow_id)
Continue this saved search with its latest revision and all previous answers and skips. Review any changed source or offer. Reuse a retry key only with identical arguments.
Esquema de entrada
{
"type": "object",
"properties": {
"expected_revision": {
"description": "Latest workflow revision returned for this search. Stale values are rejected.",
"minimum": 0,
"type": "integer"
},
"idempotency_key": {
"description": "Stable retry key for this exact request. Reuse it with identical arguments after an uncertain result; use a new key for changed arguments.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"input": {
"additionalProperties": false,
"description": "Complete current search input, including accumulated explicit answers, skipped questions and the requested preview page.",
"properties": {
"answers": {
"additionalProperties": false,
"description": "Accumulated explicit answers for this search. Retain previous choices and omit unknown values; never invent an answer.",
"properties": {
"county": {
"description": "County name or five-digit county FIPS within the selected state. Preserve the user's explicit choice.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"dataset_kind": {
"description": "For county-record packages, choose assessment observations or recorded ownership data. Availability differs by county.",
"enum": [
"assessment",
"ownership"
],
"type": "string"
},
"delivery": {
"description": "One-time access or recurring updates, as explicitly selected by the user. Recurring service requires an exact returned reviewed offer.",
"enum": [
"one_time",
"recurring"
],
"type": "string"
},
"format": {
"description": "Requested preview or download format. Availability depends on the selected product; purchased lead packages require CSV.",
"enum": [
"json",
"csv"
],
"type": "string"
},
"kind": {
"description": "The user's research goal: property observations, repeated owner-name groups, a county-record package, notices, or a packaged lead product.",
"enum": [
"property_records",
"portfolio_owners",
"records_package",
"notices",
"lead_package"
],
"type": "string"
},
"lead_offer_id": {
"description": "An exact lead_products offer_id returned by this guide after reviewing scope, source date and purchase frequency.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"lead_package": {
"description": "Exact source-backed package category. Does not imply seller motivation, equity or a future sale.",
"enum": [
"realtor-radar",
"wholesaler-pro",
"commercial-pro"
],
"type": "string"
},
"notice_kind": {
"description": "Requested notice category. Unsupported categories remain unavailable and do not fall back to assessment records.",
"enum": [
"foreclosure",
"tax_delinquency",
"probate",
"divorce",
"bankruptcy",
"code_enforcement",
"other"
],
"type": "string"
},
"product_id": {
"description": "Exact product_id selected from the returned county-record products after reviewing its scope, source and price.",
"maxLength": 128,
"type": "string"
},
"query": {
"description": "Address, parcel or retained owner-name label. An explicit empty string browses all records. Omit unknown answers.",
"maxLength": 200,
"type": "string"
},
"state": {
"description": "Explicit two-letter state code chosen by the user, such as TN or GA. Omit while unknown.",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"subscription_offer_id": {
"description": "Exact subscription offer_id returned for this same search and source after reviewing its renewal terms.",
"maxLength": 128,
"type": "string"
}
},
"required": [],
"type": "object"
},
"preview_limit": {
"default": 5,
"description": "Maximum number of preview rows to return, from 1 through 20; default 5. This does not limit the scope of a purchased package.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"preview_offset": {
"default": 0,
"description": "Zero-based offset for supported property-record or lead-package previews, from 0 through 10000; default 0. Owner-name group previews do not support pagination.",
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"skipped_question_ids": {
"description": "Question IDs explicitly skipped by the user. Resend them so those questions are not asked again.",
"items": {
"description": "The returned next_question ID the user chose to skip.",
"enum": [
"search_kind",
"lead_package",
"lead_offer",
"state",
"county",
"query",
"dataset_kind",
"notice_kind",
"delivery",
"format"
],
"type": "string"
},
"maxItems": 10,
"type": "array",
"uniqueItems": true
}
},
"required": [],
"type": "object"
},
"workflow_id": {
"description": "Exact account-owned workflow_id returned by the saved-search tools.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"workflow_id",
"expected_revision",
"idempotency_key",
"input"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢gisdb_get_search(workflow_id)
Reopen this account's saved search and recheck its sources and offers. Keep the user's preferences and ask them to confirm any changed source or offer.
Esquema de entrada
{
"type": "object",
"properties": {
"workflow_id": {
"description": "Exact account-owned workflow_id returned by the saved-search tools.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"workflow_id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟡gisdb_save_search(expected_revision, idempotency_key, name, workflow_id)
Name and save this account's search. Saving does not buy a subscription or start updates. Use the current revision and a stable retry key.
Esquema de entrada
{
"type": "object",
"properties": {
"expected_revision": {
"description": "Latest workflow revision returned for this search. Stale values are rejected.",
"minimum": 0,
"type": "integer"
},
"idempotency_key": {
"description": "Stable retry key for this exact request. Reuse it with identical arguments after an uncertain result; use a new key for changed arguments.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"name": {
"description": "User-chosen name for this retained search. Naming it does not purchase or activate updates.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"workflow_id": {
"description": "Exact account-owned workflow_id returned by the saved-search tools.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"workflow_id",
"expected_revision",
"idempotency_key",
"name"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢gisdb_list_saved_searches
List this connected GISDB account's saved searches, with their workflow IDs and revisions. Reopen a search to check its source before calling it current.
Esquema de entrada
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟡gisdb_create_checkout(idempotency_key, offer_id, workflow_id, workflow_revision)
Create a secure payment link for the selected reviewed records, lead or subscription offer. First show its price, coverage, update frequency, renewal and cancellation terms and get the user's purchase request. Card details stay on the hosted page. Reuse the original idempotency_key if the response is uncertain. Verify payment with gisdb_get_order.
Esquema de entrada
{
"type": "object",
"properties": {
"idempotency_key": {
"description": "Stable retry key for this exact request. Reuse it with identical arguments after an uncertain result; use a new key for changed arguments.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"offer_id": {
"description": "Exact reviewed offer_id selected in the current workflow after its price, scope and terms were shown.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"workflow_id": {
"description": "Exact account-owned workflow_id returned by the saved-search tools.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"workflow_revision": {
"description": "Exact workflow revision bound to the selected reviewed offer.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"workflow_id",
"workflow_revision",
"offer_id",
"idempotency_key"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢gisdb_get_order(order_id)
Check the same account's order after checkout or an uncertain result. Verifies payment, subscription, access and delivery separately. Use only its returned order_id. A payment link or confirmed payment does not prove files were delivered.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"description": "Exact order_id returned by checkout or an earlier order response for this connected account.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"order_id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢gisdb_open_billing_portal(order_id)
Open secure billing for this account's order or subscription when the user asks. Payment details stay on the hosted page. Read the order after returning to confirm any change; opening the page alone confirms nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"description": "Exact order_id returned by checkout or an earlier order response for this connected account.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"order_id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🔴gisdb_cancel_subscription(order_id)
Cancel the selected subscription's renewal at the end of its paid period, only when the user asks. Returns confirmed renewal and access status. Pausing updates does not cancel renewal.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"description": "Exact order_id returned by checkout or an earlier order response for this connected account.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"order_id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🟢gisdb_get_lead_updates(workflow_id)
Read this account's saved-search updates, delivery revision, source dates, check times and available downloads. Only a successful source check can establish no new records. Failed checks keep the last successful result. Subscription and delivery status are separate.
Esquema de entrada
{
"type": "object",
"properties": {
"workflow_id": {
"description": "Exact account-owned workflow_id returned by the saved-search tools.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"workflow_id"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}🔴gisdb_set_lead_updates(action, expected_revision, idempotency_key, workflow_id)
Pause or resume updates for this saved search when the user asks. Read updates first, then use its delivery revision and a stable retry key. Pausing does not cancel renewal. Resuming requires verified paid access and source checks and cannot override a newer pause.
Esquema de entrada
{
"type": "object",
"properties": {
"action": {
"description": "Explicit requested delivery change: pause checks and delivery, or resume subject to entitlement and source checks. This never cancels subscription renewal.",
"enum": [
"pause",
"resume"
],
"type": "string"
},
"expected_revision": {
"description": "Latest delivery_revision returned by gisdb_get_lead_updates. A stale value cannot override a newer pause or resume.",
"minimum": 0,
"type": "integer"
},
"idempotency_key": {
"description": "Stable retry key for this exact request. Reuse it with identical arguments after an uncertain result; use a new key for changed arguments.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"workflow_id": {
"description": "Exact account-owned workflow_id returned by the saved-search tools.",
"maxLength": 100,
"minLength": 1,
"type": "string"
}
},
"required": [
"action",
"workflow_id",
"expected_revision",
"idempotency_key"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object"
}Comunidad
Evidencia