{"jsonrpc":"2.0","id":null,"result":{"protocolVersion":"2024-11-05","serverInfo":{"name":"localintel","version":"1.0.0"},"capabilities":{"tools":{}},"tools":[{"name":"local_intel_query","description":"START HERE. Natural language entry point — send any plain-English question about any Florida market and get a structured answer. Auto-detects ZIP, industry vertical, and routes to the right tool. No tool knowledge required. Examples: \"Is 32082 oversaturated with dentists?\", \"Where should I open a clinic in Northeast Florida?\", \"What food gaps exist in Nocatee?\" Trained on 500+ real market queries across restaurant, healthcare, retail, construction, and real estate verticals.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Any plain-English market question. ZIP can be in the query or passed separately."},"zip":{"type":"string","description":"Optional ZIP override. If omitted, ZIP is detected from the query."}},"required":["query"]},"annotations":{"readOnly":true}},{"name":"local_intel_context","description":"Full spatial context block for a zip or lat/lon. Returns anchor business, nearby businesses in distance rings, zone intelligence, and category breakdown. Best first call for any location query.","inputSchema":{"type":"object","properties":{"zip":{"type":"string","description":"ZIP code (32081 or 32082)"},"lat":{"type":"number","description":"Latitude (alternative to zip)"},"lon":{"type":"number","description":"Longitude (alternative to zip)"},"radius_miles":{"type":"number","description":"Search radius in miles (default 1.0)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_search","description":"Search businesses by name, category, or semantic group (food, retail, health, finance, civic, services).","inputSchema":{"type":"object","properties":{"zip":{"type":"string","description":"Filter by ZIP code"},"query":{"type":"string","description":"Text search on name/category/address"},"category":{"type":"string","description":"Exact OSM category (restaurant, bank, dentist...)"},"group":{"type":"string","description":"Semantic group: food | retail | health | finance | civic | services"},"limit":{"type":"integer","description":"Max results (default 20, max 50)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_nearby","description":"Find businesses within a radius of any lat/lon point, sorted by distance with compass bearing.","inputSchema":{"type":"object","required":["lat","lon"],"properties":{"lat":{"type":"number","description":"Latitude of center point"},"lon":{"type":"number","description":"Longitude of center point"},"radius_miles":{"type":"number","description":"Search radius in miles (default 0.5)"},"category":{"type":"string","description":"Filter by OSM category"},"group":{"type":"string","description":"Filter by semantic group"},"limit":{"type":"integer","description":"Max results (default 15)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_zone","description":"Spending zone and demographic data for a ZIP code: population, income, home value, rent, ownership rate, zone score.","inputSchema":{"type":"object","required":["zip"],"properties":{"zip":{"type":"string","description":"ZIP code (32081 or 32082)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_corridor","description":"Businesses along a named street corridor. Use for queries like \"what is on A1A\" or \"businesses on Palm Valley Road\".","inputSchema":{"type":"object","required":["street"],"properties":{"street":{"type":"string","description":"Street name (e.g. \"A1A\", \"Palm Valley\", \"Crosswater\")"},"zip":{"type":"string","description":"Optional ZIP filter"},"limit":{"type":"integer","description":"Max results (default 20)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_changes","description":"Recently added or owner-verified business listings. Use to detect new openings or data updates.","inputSchema":{"type":"object","properties":{"zip":{"type":"string","description":"Optional ZIP filter"},"limit":{"type":"integer","description":"Max results (default 20)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_stats","description":"Dataset coverage stats: total businesses, confidence scores, query volume, revenue earned.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnly":true}},{"name":"local_intel_tide","description":"Tidal reading for a ZIP — temperature (0-100), direction (surging/heating/stable/cooling/receding), seasonal context. Synthesizes all 4 data layers. Best for agents deciding WHERE to act next.","inputSchema":{"type":"object","required":["zip"],"properties":{"zip":{"type":"string","description":"ZIP code to read tidal state for"},"include_layers":{"type":"array","description":"Layers to include: bedrock, ocean_floor, surface_current, wave_surface (default: all)"},"query_context":{"type":"object","description":"Optional: { agent_type, agent_id, purpose }"}}},"annotations":{"readOnly":true}},{"name":"local_intel_signal","description":"Investment and activity signal for a ZIP. Composite score 0-100 with band (strong_buy/accumulate/hold/reduce/avoid), top reasons, and avoid flags. Best for real estate and financial agents.","inputSchema":{"type":"object","required":["zip"],"properties":{"zip":{"type":"string","description":"ZIP code"},"agent_type":{"type":"string","description":"real_estate | financial | ad_placement | logistics | business_owner | civic"},"query_context":{"type":"object","description":"Optional: { agent_id, purpose }"}}},"annotations":{"readOnly":true}},{"name":"local_intel_bedrock","description":"Infrastructure momentum score and active leading indicators for a ZIP from Layer 0. Permits, road projects, flood zones, utility extensions. Predicts conditions 12-36 months ahead. 'Let Google pay for the satellites — we sell the weather forecast.'","inputSchema":{"type":"object","required":["zip"],"properties":{"zip":{"type":"string","description":"ZIP code"},"query_context":{"type":"object","description":"Optional: { agent_type, agent_id }"}}},"annotations":{"readOnly":true}},{"name":"local_intel_for_agent","description":"PREMIUM composite entry point ($0.05). Declare your agent_type and intent, receive pre-ranked top-10 signals assembled from all 4 data layers, personalized for your use case. Includes delta since your last query if agent_id provided. Best first call for any new agent.","inputSchema":{"type":"object","properties":{"agent_type":{"type":"string","description":"real_estate | financial | ad_placement | logistics | business_owner | civic"},"intent":{"type":"string","description":"Plain-language description of what you are trying to decide or do"},"zip":{"type":"string","description":"Target ZIP code"},"lat":{"type":"number","description":"Latitude (if no ZIP)"},"lon":{"type":"number","description":"Longitude (if no ZIP)"},"budget":{"type":"number","description":"Agent budget in pathUSD (optional, for signal prioritization)"},"depth":{"type":"string","description":"quick (top 5 signals) | full (top 10 + context blocks)"},"agent_id":{"type":"string","description":"Your agent UUID for memory + delta computation"}}},"annotations":{"readOnly":true}},{"name":"local_intel_oracle","description":"Pre-baked economic oracle for a ZIP. Returns: restaurant saturation (is there room for another?), price-tier gap analysis (what menu price is missing?), growth trajectory (growing/empty-nest/stable), and 3 pre-formed questions with answers baked in. No LLM needed — answers derived from population, income, business density, school count, and infrastructure signals.","inputSchema":{"type":"object","properties":{"zip":{"type":"string","description":"ZIP code to analyze (e.g. 32081)"}},"required":["zip"]},"annotations":{"readOnly":true}},{"name":"local_intel_sector_gap","description":"Ranked sector gap analysis for a ZIP. Identifies NAICS sectors present at county level but absent at ZIP — the structural whitespace in a local economy. Returns ranked opportunities with: NAICS code, sector label, county employment share, demand estimate, confidence tier, and LLM-ready signal narrative. Backed by ZBP 2018 (ZIP-level establishment counts), CBP 2023 (county-level sector health), and ACS 5-yr 2023 demographics. Example output: \"NAICS 61 Educational Services: 0 establishments in 32259 vs 47 in St. Johns County. 69,866 residents, $144k median HHI, 89% owner-occupied. Estimated demand: 8–12 tutoring/enrichment centers. Confidence: ESTIMATED. Signal: Strong family formation market with no educational services presence.\" Use oracle_vertical field to chain into matching vertical agents. Cost: $0.03 pathUSD. Free discovery feed at /api/sector-gap/feed.","inputSchema":{"type":"object","required":["zip"],"properties":{"zip":{"type":"string","description":"ZIP code to analyze (e.g. 32081, 32082, 32259)"}}},"annotations":{"readOnly":true}},{"name":"local_intel_realtor","description":"Real estate intelligence for a ZIP. Ask natural-language questions: demographics, commercial gaps, flood risk, school proximity, infrastructure signals, market saturation. Returns structured data with confidence score. Trained on 100 realtor use-case prompts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language question (e.g. \"What is the flood risk for this ZIP?\", \"What commercial gaps exist?\")"},"zip":{"type":"string","description":"ZIP code to analyze"}},"required":["query","zip"]},"annotations":{"readOnly":true}},{"name":"local_intel_healthcare","description":"Healthcare market intelligence for a ZIP. Ask about provider density, patient demographics, demand gaps, senior population. Returns structured data with confidence score. Trained on 100 healthcare business prompts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language question about healthcare market"},"zip":{"type":"string","description":"ZIP code to analyze"}},"required":["query","zip"]},"annotations":{"readOnly":true}},{"name":"local_intel_retail","description":"Retail market intelligence for a ZIP. Ask about store categories, spending capture rates, consumer profile, undersupplied niches. Returns structured data with confidence score. Trained on 100 retail business prompts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language question about retail market"},"zip":{"type":"string","description":"ZIP code to analyze"}},"required":["query","zip"]},"annotations":{"readOnly":true}},{"name":"local_intel_construction","description":"Construction and home services market intelligence for a ZIP. Ask about contractor density, active permits, housing starts, population growth driving demand. Returns structured data with confidence score. Trained on 100 construction business prompts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language question about construction market"},"zip":{"type":"string","description":"ZIP code to analyze"}},"required":["query","zip"]},"annotations":{"readOnly":true}},{"name":"local_intel_restaurant","description":"Restaurant and food service market intelligence for a ZIP. Ask about saturation scores, price-tier gaps, capture rates, corridor analysis, tidal momentum. Returns structured data with confidence score. Trained on 100 restaurant business prompts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language question about restaurant market"},"zip":{"type":"string","description":"ZIP code to analyze"}},"required":["query","zip"]},"annotations":{"readOnly":true}},{"name":"local_intel_ask","description":"Composite NL query layer. Ask any plain-English question about a ZIP — demographics, market opportunity, restaurant gaps, retail saturation, construction activity, investment signals, healthcare, corridor analysis, recent changes, nearby businesses. Routes internally to the right tools and returns a synthesized, sourced answer with confidence score. Best single entry point for humans and LLMs.","inputSchema":{"type":"object","properties":{"question":{"type":"string","description":"Plain English question, e.g. \"What restaurant categories are missing in 32082?\""},"zip":{"type":"string","description":"ZIP code (optional — will be extracted from question if present, defaults to 32082)"}},"required":["question"]},"annotations":{"readOnly":true}}]}}