io.github.jdw2111/propraven

Registre officiel Recherche et web

Property intelligence: 180M+ US parcels — lookup, search, owners, hazards, permits, deeds.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http propraven 'https://propraven.com/mcp' --header 'Authorization: <Bearer pz_... — your PropRaven API key. Get one at https://propraven.com/settings/api-keys.>'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "propraven": {
            "type": "http",
            "url": "https://propraven.com/mcp",
            "headers": {
                "Authorization": "<Bearer pz_... — your PropRaven API key. Get one at https://propraven.com/settings/api-keys.>"
            }
        }
    }
}
NPM package @propraven/mcp
Claude Code
claude mcp add propraven -e 'PROPRAVEN_API_KEY=<your propraven_api_key>' -- npx -y @propraven/mcp@0.2.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "propraven": {
            "command": "npx",
            "args": [
                "-y",
                "@propraven/mcp@0.2.0"
            ],
            "env": {
                "PROPRAVEN_API_KEY": "<your propraven_api_key>"
            }
        }
    }
}

Variables d'environnement

  • PROPRAVEN_API_KEY obligatoire secret Your PropRaven API key (pz_...). Get one at https://propraven.com/settings/api-keys.

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. @propraven/mcp
  2. Hosted (no install)
  3. Local stdio server (npx @propraven/mcp)
  4. Tools
  5. Environment
  6. Develop / inspect
  7. Why this exists
  8. License

@propraven/mcp

Model Context Protocol server for PropRaven — gives Claude, ChatGPT, Cursor, and any MCP-compatible agent canonical access to 191.3M US parcels (110.0M mapped) with ownership, valuation, permits, deeds, hazard, and market data.

Hosted endpoint: **https://propraven.com/mcp** (Streamable HTTP, no install — docs: https://propraven.com/docs/mcp · agents + x402: https://propraven.com/docs/agents). Or run the stdio server locally (below).


Hosted (no install)

Point any HTTP-transport MCP client at https://propraven.com/mcp with your API key as a bearer header. Claude Desktop / Cursor (claude_desktop_config.json, ~/.cursor/mcp.json):

{
  "mcpServers": {
    "propraven": {
      "url": "https://propraven.com/mcp",
      "headers": { "Authorization": "Bearer pz_your_real_key_here" }
    }
  }
}

Claude Code: claude mcp add --transport http propraven https://propraven.com/mcp --header "Authorization: Bearer pz_your_real_key_here". The claude.ai web connector uses OAuth instead — add a custom connector with the same URL and sign in.


Local stdio server (npx @propraven/mcp)

Requirements: Node ≥18, a PropRaven API key (pz_…) from https://propraven.com/settings/api-keys (free, no card).

Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "propraven": {
      "command": "npx",
      "args": ["-y", "@propraven/mcp"],
      "env": { "PROPRAVEN_API_KEY": "pz_your_real_key_here" }
    }
  }
}

Cursor (~/.cursor/mcp.json) takes the same block. Claude Code: claude mcp add propraven --env PROPRAVEN_API_KEY=pz_your_real_key_here -- npx -y @propraven/mcp.

Restart the client. The 8 PropRaven tools appear in the tool list.

Quick test
Look up parcel 37:119:12104406 and tell me the owner.

The agent should pick parcel_lookup and return the canonical parcel card with the owner.

ChatGPT: Custom GPT → Actions → OpenAPI URL https://api.propraven.com/openapi.json with API-key (Bearer) auth; native MCP-in-ChatGPT can use the hosted endpoint https://propraven.com/mcp (OAuth 2.1 + PKCE).


Tools

Names match the hosted server (^[a-zA-Z0-9_-]{1,64}$, as MCP clients and the Anthropic API require).

ToolPurposeBacked by
parcel_lookupResolve one parcel by ID, address, or APNGET /api/v1/parcels/{id} (ID) or GET /api/v1/search/full (address / APN)
parcel_searchText search by owner, address fragment, APN or city (+ state/city filters, keyset cursor)GET /api/v1/search/full
parcel_compareFree card (+ hazards) for 2–25 parcels, for agent-side rankingGET /api/v1/parcels/{id} (+ /risks) × N
owner_pierceParcels titled under an owner name (optional state filter, best-effort ticker)GET /api/v1/owners/{name}/portfolio (+ /owners/search for ticker)
hazard_scoreFlood / wildfire / seismic / windstorm / air-quality / crime blocksGET /api/v1/parcels/{id}/risks
valuation_estimateMarket value, AVM, assessed values, last sale, $/sqftGET /api/v1/parcels/{id}
permits_historyPermit timeline (≤100 newest, with true-count basis)GET /api/v1/parcels/{id}/permits?shape=envelope
sales_historyDeed / transfer timelineGET /api/v1/parcels/{id}/deeds?shape=envelope

Parcel IDs. The canonical form is state_fips:county_fips:parcel_id, e.g. 37:119:12104406. The legacy 5-digit form (37119:12104406) and PropRaven parcel UUIDs are also accepted. parcel_search and parcel_lookup's address search add a lookup_id to every result (search rows carry the PropRaven UUID in parcel_id), which parcel_lookup / parcel_compare accept.

No tool spends money. The client only issues GETs to the seven free / metered read endpoints above, refuses every other path before a request is sent (the paid parcel report, comp pack, risk score, owner report, leads, storefront, …), and never sends a payment header. If the API ever answers with an x402 402 Payment Required, the tool returns 402 payment required — this tool never pays. Calls still count against your plan's monthly quota. To buy a dossier, use the hosted server's explicit buy_* tools or propraven.com.

Errors are RFC 7807 problem details, surfaced as <status> <code>: <detail> (e.g. 404 not_found: …). A 429 or 503 is retried once when Retry-After is ≤ 10 s.

Tool descriptions call out when not to use each tool, which is the biggest determinant of agent selection accuracy.


Environment

VariableDefaultPurpose
PROPRAVEN_API_KEY(required)Bearer token, format pz_...
PROPRAVEN_BASE_URLhttps://propraven.comAPI host (every path starts with /api/v1).
PROPRAVEN_TIMEOUT_MS30000Per-request timeout in ms.

Requests carry User-Agent: @propraven/mcp/<version>.


Develop / inspect

npm ci
npm run build
npm test          # node:test suite — no network, no API key needed

# Live-reloading dev (TypeScript, no build step):
PROPRAVEN_API_KEY=pz_test... npm run dev

# Or open the MCP Inspector UI:
PROPRAVEN_API_KEY=pz_test... npm run inspect

The inspector at https://modelcontextprotocol.io/legacy/tools/inspector lets you call each tool manually and see request/response payloads.


Why this exists

Every Claude / ChatGPT / Cursor workflow that touches property data needs an authoritative parcel-lookup tool. There is no canonical property-data MCP today. PropRaven aims to be it before the first-mover window closes (~12–18 months).


License

Apache-2.0

Questions fréquentes

Qu'est-ce que io.github.jdw2111/propraven ?

Property intelligence: 180M+ US parcels — lookup, search, owners, hazards, permits, deeds.

Comment installer io.github.jdw2111/propraven ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http propraven 'https://propraven.com/mcp' --header 'Authorization: <Bearer pz_... — your PropRaven API key. Get one at https://propraven.com/settings/api-keys.>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.jdw2111/propraven ?

Oui. Il attend PROPRAVEN_API_KEY, Authorization, à renseigner dans sa configuration.

io.github.jdw2111/propraven est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient io.github.jdw2111/propraven ?

Il est publié par jdw2111. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.