Odel
propraven mcp

propraven mcp

@jdw2111Developer ToolsTypeScriptUpdated 1mo ago

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

Server endpointStreamable HTTP

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

@propraven/mcp

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

Status: alpha. Hosted endpoint at mcp.propraven.comAugust 2026. Until then, run it locally (works today).


Local install in Claude Desktop

Requirements: Node ≥18, a PropRaven API key (pz_…) from https://propraven.com/dashboard.

One-time setup

git clone https://github.com/propraven/propraven-mcp.git
cd propraven-mcp
npm install
npm run build

Wire into Claude Desktop

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

{
  "mcpServers": {
    "propraven": {
      "command": "node",
      "args": ["/absolute/path/to/propraven-mcp/dist/index.js"],
      "env": {
        "PROPRAVEN_API_KEY": "pz_your_real_key_here"
      }
    }
  }
}

Restart Claude Desktop. The 8 PropRaven tools (parcel.lookup, parcel.search, parcel.compare, owner.pierce, hazard.score, valuation.estimate, permits.history, sales.history) appear in the tool list.

Quick test

Look up parcel 37183:0012345 and tell me the owner.

Claude should pick parcel.lookup and return canonical record + owner.


Cursor + ChatGPT

Cursor: install via the MCP marketplace (search "PropRaven") once we publish, or wire manually:

// ~/.cursor/mcp.json
{
  "mcpServers": {
    "propraven": { "command": "node", "args": ["/abs/path/dist/index.js"], "env": { "PROPRAVEN_API_KEY": "pz_..." } }
  }
}

ChatGPT: Custom GPT → Actions → connect via OAuth (waiting on mcp.propraven.com hosted endpoint — Aug 2026).


Tools

ToolPurposeBacked by
parcel.lookupResolve one parcel by composite ID, address, or APNGET /api/v1/parcels/{id} or GET /api/v1/search/full
parcel.searchFilter parcels by geography + attributesGET /api/v1/search/full
parcel.compareFetch reports for 2–25 parcels for agent-side rankingGET /api/v1/parcels/{id}/report × N
owner.pierceResolve a name/entity to its full portfolioGET /api/v1/owners/{name}/portfolio
hazard.scoreFlood / fire / seismic / windstorm / air-quality / crime compositeGET /api/v1/parcels/{id}/risks
valuation.estimateAVM + assessed / market values for a parcelGET /api/v1/parcels/{id}
permits.historyPermit timeline for a parcelGET /api/v1/parcels/{id}/permits
sales.historyDeed timeline ± UCC liensGET /api/v1/parcels/{id}/deeds (+ /report if liens)

Tool descriptions are optimized for agent reasoning — they explicitly call out when not to use each tool, which is the biggest determinant of agent selection accuracy.


Environment

The server reads:

VariableDefaultPurpose
PROPRAVEN_API_KEY(required)Bearer token, format pz_...
PROPRAVEN_BASE_URLhttps://api.propraven.comAPI host. Use https://propzilla.vercel.app during the DNS cutover window.
PROPRAVEN_TIMEOUT_MS30000Per-request timeout in ms.

Develop / inspect

# 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