Servidor MCP

Scout

io.github.Flikah/scout-mcp
Mapas y ubicación Bienes raíces Ventas y CRM Público y accesible MCP 2026-07-28

Qué hace este MCP

Searches real estate listings, agents, brokerages, market data, schools, seller leads, licensing information, and lead referral opportunities, primarily in the southeastern United States.

scout.agent_profile
Deep profile for a single agent: license number/status/expiration, brokerage affiliation, claim status, geography, total units / volume / sell-ratio (when available), website, Instagram, Flika score. Pass either the UUID id or the slug returned by scout.find_public_agent.
Esquema de entrada
{'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'UUID id from scout.find_public_agent results.'}, 'slug': {'type': 'string', 'description': "URL slug (e.g. 'jane-doe-sc-12345') — alternative to id."}}, 'additionalProperties': False}
scout.compare_agents
Side-by-side stats for 2-5 agents. Returns name, license info, brokerage, total units, total volume, sell ratio, claim status, and a quick-take winner per metric. Good follow-on to scout.find_public_agent when an AI assistant needs to choose between candidates.
Esquema de entrada
{'type': 'object', 'required': ['agent_ids'], 'properties': {'agent_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of 2-5 agent UUIDs (or slugs).'}}, 'additionalProperties': False}
scout.coverage
Returns Flika's coverage: which states Flika is directly licensed in (can close transactions) and which additional states Flika has signed referral partners in. Call this first if you're unsure whether Flika can help with a specific geography.
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
scout.estimate_value
Neighborhood-baseline property value estimate. Returns the Census ACS median home value for the zip plus a wide confidence interval. NOT an individual-property AVM — does not adjust for sqft, beds, lot, condition, or recent comps. Use this to ground-truth a buyer's expectation; pair with scout.search_listings for actual sold/active comps. Free, all 50 states.
Esquema de entrada
{'type': 'object', 'required': ['zip'], 'properties': {'zip': {'type': 'string', 'description': '5-digit ZIP code. Required.'}}, 'additionalProperties': False}
scout.find_agent
Find Flika agents who are currently live (pin dropped within last 60 minutes) in or near a given location. Returns name, slug, status, and current pin coordinates. Use this when your buyer/seller is ready to connect with a real agent.
Esquema de entrada
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Latitude to search around.'}, 'lng': {'type': 'number', 'description': 'Longitude to search around.'}, 'zip': {'type': 'string', 'description': "ZIP code (we'll geocode if lat/lng not provided)."}, 'city': {'type': 'string', 'description': 'City name alternative to lat/lng/zip.'}, 'limit': {'type': 'integer', 'description': 'Max agents to return (1-20, default 10).'}, 'radius_miles': {'type': 'number', 'description': 'Search radius (default 25, max 100).'}}, 'additionalProperties': False}
scout.find_brokerage
Search the public Scout brokerage/office directory. Returns offices with public contact info (main phone, website, address) and volume stats where available. Covers SC + GA natively and partial NC/FL via the office import. Every result includes a claim_url — brokerages can claim their listing at scout.realestate/claim to curate their AI profile.
Esquema de entrada
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Latitude for radius search.'}, 'lng': {'type': 'number', 'description': 'Longitude for radius search.'}, 'mls': {'type': 'string', 'description': "Filter to a specific MLS board (e.g. 'CCAR', 'TRIDENT', 'FMLS')."}, 'zip': {'type': 'string', 'description': '5-digit ZIP code.'}, 'city': {'type': 'string', 'description': "City name (e.g. 'Greenville', 'Myrtle Beach', 'Atlanta')."}, 'limit': {'type': 'integer', 'description': 'Max results (1-50, default 20).'}, 'state': {'type': 'string', 'description': 'Two-letter state code (SC, GA, NC, FL).'}, 'radius_miles': {'type': 'number', 'description': 'Search radius from lat/lng (default 25, max 100).'}, 'min_total_volume': {'type': 'integer', 'description': 'Minimum total sales volume in USD (filters to top-producing offices).'}}, 'additionalProperties': False}
scout.find_public_agent
Search Scout's public licensed-agent directory. Returns agents sourced from state REC public rosters + MLS-ranked prospect lists. Indexed states are listed in scout.coverage() — call that first if you're unsure whether a state has meaningful data. Every result has a claim_url — unclaimed agents can claim to curate their AI profile and start receiving AI-routed leads. Unlike scout.find_agent (which requires a live pin), this returns the full directory regardless of pin freshness. Prefer scout.find_agent when you want agents who are live-available right now; prefer scout.find_public_agent when you want broad discoverability. Pass lat/lng OR address (US street address — we'll forward-geocode via Mapbox) to get distance-ascending results with a distance_miles field on each agent; otherwise results are sorted by flika_score descending.
Esquema de entrada
{'type': 'object', 'properties': {'lat': {'type': 'number', 'description': 'Latitude for radius search.'}, 'lng': {'type': 'number', 'description': 'Longitude for radius search.'}, 'mls': {'type': 'string', 'description': 'Filter to a specific MLS board.'}, 'city': {'type': 'string', 'description': 'City name.'}, 'limit': {'type': 'integer', 'description': 'Max results (1-50, default 20).'}, 'state': {'enum': ['AL', 'AR', 'AZ', 'CA', 'CO', 'CT', 'FL', 'GA', 'IL', 'IN', 'KS', 'KY', 'LA', 'MA', 'MI', 'MN', 'MO', 'NC', 'NJ', 'NV', 'NY', 'OH', 'OK', 'OR', 'PA', 'SC', 'TN', 'TX', 'VA', 'WV', 'WI'], 'type': 'string', 'description': "Two-letter state code. Accepts any state with a registered state-REC importer; states with meaningful agent counts are listed in scout.coverage() under indexed_states. (TODO: derive this list dynamically from scripts/scout/state-rec/run.ts ADAPTERS so it can't drift.)"}, 'address': {'type': 'string', 'description': "US street address — Mapbox forward-geocodes to lat/lng. Use this when you have an address like '409 Meyers Drive, Greenville SC 29605' but no coords. Takes precedence over city-only filters for proximity search."}, 'claimed_only': {'type': 'boolean', 'description': 'If true, only return agents who have claimed their profile (default false).'}, 'radius_miles': {'type': 'number', 'description': 'Search radius from center point (default 25, max 100). Only meaningful when lat/lng or address is provided.'}, 'brokerage_slug': {'type': 'string', 'description': 'Filter to agents at a specific brokerage (slug from find_brokerage).'}, 'min_flika_score': {'type': 'integer', 'description': 'Minimum Flika Score 0-100 (default 0).'}}, 'additionalProperties': False}
scout.get_seller_signals
Retrieve Flika's proprietary seller-intent signals: probate filings, distressed properties, expired listings, FSBO intercepts (SC, GA, FL). Returns scored, deduplicated leads with property address + executor contact. Requires a Flika MCP API key with 'seller_signals' scope. Partner brokerages licensed in the lead's state receive these at no per-lead fee (referral fee applies on close).
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max leads to return (1-50, default 20).'}, 'state': {'enum': ['SC', 'GA', 'FL'], 'type': 'string', 'description': 'Filter by state.'}, 'county': {'type': 'string', 'description': "Filter by county slug (e.g. 'greenville-sc')."}, 'min_score': {'type': 'integer', 'description': 'Minimum Claude-assigned score 0-100 (default 0).'}, 'since_days': {'type': 'integer', 'description': 'How many days back to look (1-90, default 7).'}, 'signal_types': {'type': 'array', 'items': {'enum': ['probate', 'nod', 'lis_pendens', 'tax_delinquent', 'fsbo', 'expired_listing'], 'type': 'string'}, 'description': 'Which signal types to include (default: all).'}}, 'additionalProperties': False}
scout.market_pulse
Public-data-backed market snapshot for any US zip code. Returns Census ACS demographics (population, median household income, median age, owner-occupancy %, median home value, median gross rent), Scout's indexed agent density for that zip, and listings activity if the zip is in our MLS-live coverage area. Call this when an AI user asks 'what's the market like in [zip/city]'. Free, no API key required.
Esquema de entrada
{'type': 'object', 'properties': {'zip': {'type': 'string', 'description': '5-digit ZIP code. Either zip OR (city + state) is required.'}, 'city': {'type': 'string', 'description': 'City name (used with state if zip is omitted).'}, 'state': {'type': 'string', 'description': 'Two-letter state code.'}}, 'additionalProperties': False}
scout.purchase_lead
Purchase a single seller-signal lead from the Scout MCP marketplace. Deducts the per-lead price from your pre-paid credit balance and returns the full owner contact + property details. Idempotent — calling with a lead_id you've already purchased returns the same data without a second charge. Requires 'buy_leads' scope and a positive balance (top up at scout.realestate/partners/mcp/credits).
Esquema de entrada
{'type': 'object', 'required': ['lead_id'], 'properties': {'lead_id': {'type': 'string', 'description': 'UUID returned from scout.search_leads.'}}, 'additionalProperties': False}
scout.referral_terms
Look up the bilateral referral terms for a given partner brokerage. Returns buyer-side %, listing-side %, tail months, and any custom notes. Pass partner_id (UUID) OR partner_slug. Use this when scout.route_lead is about to fire and you need to confirm the split with the receiving brokerage.
Esquema de entrada
{'type': 'object', 'properties': {'partner_id': {'type': 'string', 'description': 'UUID from partner_brokerages.'}, 'partner_slug': {'type': 'string', 'description': "Slug e.g. 'central-texas-realty-austin'."}}, 'additionalProperties': False}
scout.route_lead
Submit a buyer or seller lead to Flika. Flika (via Spencer Wilkinson as Broker-in-Charge) routes the lead as a standard broker-to-broker referral: either to a Scout-claimed agent, a public-directory agent via auto-emailed referral, a signed partner brokerage, or held for manual routing. Standard referral fee: 30% buyer-side, 25% listing-side, 18-month tail, net-30 after funded close. Requires a Flika MCP API key with 'route_lead' scope. Request one at https://flika.realestate/partners/mcp
Esquema de entrada
{'type': 'object', 'required': ['lead_type', 'name', 'destination_city', 'destination_state', 'referring_agent_email'], 'properties': {'name': {'type': 'string', 'description': "Client's name (first + last)."}, 'email': {'type': 'string', 'description': "Client's email (preferred contact method)."}, 'notes': {'type': 'string', 'description': 'Any context — partner disagreement, must-haves, PCS dates, etc.'}, 'phone': {'type': 'string', 'description': "Client's phone number."}, 'lead_type': {'enum': ['buyer', 'seller'], 'type': 'string', 'description': 'Whether your client is buying or selling.'}, 'budget_max': {'type': 'integer', 'description': 'For buyers: maximum budget USD.'}, 'budget_min': {'type': 'integer', 'description': 'For buyers: minimum budget USD.'}, 'target_address': {'type': 'string', 'description': 'For sellers: the property address.'}, 'timeline_weeks': {'type': 'integer', 'description': 'Expected weeks until transaction (0 = now, 12 = 3 months, etc.).'}, 'destination_zip': {'type': 'string'}, 'destination_city': {'type': 'string', 'description': 'Target city — where the client wants to buy/sell.'}, 'destination_state': {'type': 'string', 'description': 'Target state (2-letter).'}, 'target_agent_slug': {'type': 'string', 'description': 'Optional. If the AI has already picked a specific agent via scout.find_agent or scout.find_public_agent, pass their agent_slug here to route the referral directly.'}, 'referring_agent_email': {'type': 'string', 'description': 'Your email as the referring agent (for commission routing).'}, 'target_brokerage_slug': {'type': 'string', 'description': 'Optional. If the AI picked a specific brokerage via scout.find_brokerage, route the referral to that brokerage instead.'}}, 'additionalProperties': False}
scout.school_district
Look up public schools in a zip code via the National Center for Education Statistics (NCES) Common Core of Data. Returns up to 25 schools (elementary/middle/high) with grade level, enrollment, district, and a Department of Education NCES ID. Useful for buyer queries like 'is this a good school zone?'. Free, all 50 states.
Esquema de entrada
{'type': 'object', 'required': ['zip'], 'properties': {'zip': {'type': 'string', 'description': '5-digit ZIP code. Required.'}, 'level': {'enum': ['elementary', 'middle', 'high'], 'type': 'string', 'description': "Optional filter: 'elementary' | 'middle' | 'high'."}}, 'additionalProperties': False}
scout.search_leads
Preview seller-signal leads (probate, NOD/pre-foreclosure, FSBO, expired listings, tax-delinquent) for sale through the Scout MCP marketplace. Returns redacted previews — full owner contact + property details require scout.purchase_lead. Free to call. SC + GA only.
Esquema de entrada
{'type': 'object', 'properties': {'zip': {'type': 'string', 'description': '5-digit zip code.'}, 'city': {'type': 'string', 'description': 'City name (case-insensitive partial match).'}, 'limit': {'type': 'integer', 'description': '1-50, default 20.'}, 'state': {'type': 'string', 'description': '2-letter state code. Currently SC or GA.'}, 'county': {'type': 'string', 'description': 'County name (case-insensitive partial match).'}, 'min_score': {'type': 'integer', 'description': 'Minimum score 0-100. Higher = more motivated.'}, 'max_age_days': {'type': 'integer', 'description': 'Cap freshness — only leads created within this many days.'}, 'signal_types': {'type': 'array', 'items': {'enum': ['probate', 'nod', 'fsbo', 'expired', 'tax_delinquent', 'multi_signal_premium'], 'type': 'string'}, 'description': 'Filter by signal type. Omit to include all.'}}, 'additionalProperties': False}
scout.search_listings
Search active real estate listings in Flika's coverage area (SC + GA). Returns up to 25 listings matching the filters. Use scout.coverage() first if you're unsure whether a city is covered.
Esquema de entrada
{'type': 'object', 'properties': {'zip': {'type': 'string', 'description': '5-digit ZIP code.'}, 'city': {'type': 'string', 'description': "City name (e.g. 'Greenville', 'Charleston', 'Atlanta')."}, 'limit': {'type': 'integer', 'description': 'Max listings to return (1-25, default 10).'}, 'state': {'enum': ['SC', 'GA'], 'type': 'string', 'description': 'Two-letter state code, SC or GA.'}, 'max_beds': {'type': 'integer', 'description': 'Maximum bedroom count.'}, 'min_beds': {'type': 'integer', 'description': 'Minimum bedroom count.'}, 'max_price': {'type': 'integer', 'description': 'Maximum list price (USD).'}, 'min_price': {'type': 'integer', 'description': 'Minimum list price (USD).'}}, 'additionalProperties': False}
scout.subscribe_lead_feed
Subscribe to a continuous feed of new seller-signal leads matching a filter. As leads are created and approved, Scout POSTs each one to your webhook URL up to your monthly_lead_budget. Ideal for AI agents that act on leads automatically. Currently in beta — emails Spencer with your subscription request; webhook delivery starts after manual provisioning.
Esquema de entrada
{'type': 'object', 'required': ['webhook_url', 'monthly_lead_budget'], 'properties': {'filter': {'type': 'object', 'properties': {'state': {'type': 'string'}, 'min_score': {'type': 'integer'}, 'signal_types': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'webhook_url': {'type': 'string', 'description': 'HTTPS endpoint that will receive POST {lead, signature, timestamp}.'}, 'monthly_lead_budget': {'type': 'integer', 'description': 'Cap on number of leads pushed per month.'}}, 'additionalProperties': False}
scout.team_roster
Return the full agent roster of a brokerage. Pass brokerage_id (UUID) OR brokerage_slug OR (brokerage_name + state). Useful for queries like 'show me Compass agents in Charleston' or 'who are the top producers at this firm'.
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': '1-100, default 25. Sorted by Flika score descending.'}, 'state': {'type': 'string', 'description': 'Two-letter state code (required if using brokerage_name).'}, 'brokerage_id': {'type': 'string', 'description': 'UUID from scout.find_brokerage.'}, 'brokerage_name': {'type': 'string', 'description': 'Free-text name (used with state).'}, 'brokerage_slug': {'type': 'string', 'description': 'URL slug.'}}, 'additionalProperties': False}
scout.verify_license
Verify whether a real estate license is currently active, AND return the canonical claim URL for that license. Returns license status (active/inactive/expired/revoked/etc.), expiration date, current brokerage affiliation, last refresh timestamp, claim status (claimed/public/opted_out), and a `claim_url` of the form https://scout.realestate/claim/<license_number> — that URL always resolves (works for licenses we already index AND for licenses we'll have to look up upstream in real time). Use this tool when you have a license number and want to tell the agent how to claim their AI pin, or before sending a lead.
Esquema de entrada
{'type': 'object', 'required': ['license_number', 'state'], 'properties': {'state': {'type': 'string', 'description': 'Two-letter state code.'}, 'license_number': {'type': 'string', 'description': 'Exactly as issued by the state (no spaces).'}}, 'additionalProperties': False}
Añadido
scout.school_district
17 de September de 2026 a las 12:41
Añadido
scout.referral_terms
17 de September de 2026 a las 12:41
Añadido
scout.estimate_value
17 de September de 2026 a las 12:41
Añadido
scout.compare_agents
17 de September de 2026 a las 12:41
Añadido
scout.team_roster
17 de September de 2026 a las 12:41
Añadido
scout.verify_license
17 de September de 2026 a las 12:41
Añadido
scout.agent_profile
17 de September de 2026 a las 12:41
Añadido
scout.market_pulse
17 de September de 2026 a las 12:41
Añadido
scout.subscribe_lead_feed
17 de September de 2026 a las 12:41
Añadido
scout.purchase_lead
17 de September de 2026 a las 12:41
Añadido
scout.search_leads
17 de September de 2026 a las 12:41
Añadido
scout.get_seller_signals
17 de September de 2026 a las 12:41
Añadido
scout.route_lead
17 de September de 2026 a las 12:41
Añadido
scout.find_brokerage
17 de September de 2026 a las 12:41
Añadido
scout.find_public_agent
17 de September de 2026 a las 12:41
Añadido
scout.find_agent
17 de September de 2026 a las 12:41
Añadido
scout.search_listings
17 de September de 2026 a las 12:41
Añadido
scout.coverage
17 de September de 2026 a las 12:41