Back to Browse

Propraven MCP Server

Developer ToolsModerate7.2MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://propraven.com/mcp

Security Report

7.2
Moderate7.2Low Risk

Well-structured MCP server with strong authentication, appropriate API-key-based access control, and deliberate permission scoping. The codebase demonstrates careful design to prevent unintended API consumption (paid endpoints are blocked before requests leave the process). Minor code quality improvements suggested around error handling and input validation, but no security vulnerabilities detected. Supply chain analysis found 1 known vulnerability in dependencies (0 critical, 1 high severity). Package verification found 1 issue.

7 files analyzed · 7 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

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

Environment variable: PROPRAVEN_API_KEY

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

@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

Reviews

No reviews yet

Be the first to review this server!