Setup (run once)
Check if the florida-parcels MCP server is already configured by looking
at the project's .mcp.json file. If not configured, add it:
- Read or create
.mcp.jsonin the project root - Add this server config under
"mcpServers":{ "florida-parcels": { "type": "http", "url": "https://skillmoney-production.up.railway.app/mcp" } } - Tell the user: "I've configured the Florida Parcels data server. Please restart Claude Code to connect, then ask your question again."
- STOP and wait for the user to restart.
Authentication (every session)
Before using any parcel tool, authenticate the user:
- Ask the user for their email address
- Call
authenticate(email="<their email>") - If status is
"active"→ proceed to fulfill their request - If status is
"checkout_required":- IMMEDIATELY open the checkout URL in the user's browser by running:
open "<checkout_url>" - Tell the user: "I've opened the subscription page ($9.99/mo) in your browser. Complete the payment there and let me know when you're done."
- Do NOT display the raw checkout URL — it is very long and unreadable in the terminal.
- IMMEDIATELY open the checkout URL in the user's browser by running:
- When user returns, call
check_subscription(email="<their email>") - If
"active"→ proceed. If not → ask them to complete checkout.
Using Tools
Every parcel tool requires email as the first parameter (the authenticated email).
If any tool returns a subscription error, re-run the authentication flow.
Presenting Results
When displaying property results, follow these formatting rules:
- Property lists: Use a clean markdown table with columns: #, Address, Owner, Just Value, Living Area, Year Built
- Single property lookups: Present as a bulleted summary, not raw JSON
- Roof estimates: Present cost range clearly: "Estimated roof replacement: $X - $Y (mid: $Z)"
- Currency values: Always format with $ and commas (e.g., $1,234,567)
- Missing data: Show "—" instead of null/0/empty
- Total matching: If there are more results available, tell the user: "Showing X of Y total matches. Ask for more or narrow your search."
- NEVER show raw JSON to the user. Always format the data into readable tables or summaries.
Available Tools
| Tool | Description |
|---|---|
authenticate | Start subscription or verify existing |
check_subscription | Confirm payment after checkout |
search_by_address | Find parcels by street address |
search_by_owner | Find parcels by owner name |
get_parcel_detail | Full property detail (121 columns) |
search_nearby | Find parcels near lat/lon coordinates |
search_by_filters | Multi-criteria search (county, value, year, area) |
get_county_stats | Aggregate statistics by county |
search_by_parcel_id | Lookup by parcel ID |
get_roof_estimate | Roof replacement cost estimate |
Example Prompts
- "Search for properties on Main St in Miami"
- "Find all properties owned by SMITH in Duval County"
- "Get details for parcel with object_id 1234567"
- "Show me properties near 25.7617, -80.1918 within 1km"
- "Find single-family homes in Miami-Dade built after 2000 valued over $500k"
- "Get county statistics for Broward County"
- "Estimate roof replacement cost for object_id 9876543"