Scout

Find licensed real estate agents, search MLS, route leads. Remote MCP for SC + GA brokerages.

使うべきか

品質と安全性

B
説明の品質
97%
スキーマの完全性
90%
命名の品質
50%
ポイズニングのリスク
60%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(22)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainscout.route_lead 内
  • MEDIUMTool description contains URL to non-standard domainscout.verify_license 内
  • LOWTool 'scout.school_district' description lacks action verbscout.school_district 内
  • LOWTool 'scout.coverage' doesn't follow camelCase/snake_casescout.coverage 内
  • LOWTool 'scout.search_listings' doesn't follow camelCase/snake_casescout.search_listings 内
  • LOWTool 'scout.find_agent' doesn't follow camelCase/snake_casescout.find_agent 内
  • LOWTool 'scout.find_public_agent' doesn't follow camelCase/snake_casescout.find_public_agent 内
  • LOWTool 'scout.find_brokerage' doesn't follow camelCase/snake_casescout.find_brokerage 内
  • LOWTool 'scout.route_lead' doesn't follow camelCase/snake_casescout.route_lead 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,989トークン数(ツール定義)
~1.6 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 3.12%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "scout-mcp": {
      "url": "https://scout.realestate/api/mcp"
    }
  }
}

リモートエンドポイント

https://scout.realestate/api/mcpstreamable-http

できること

ツール一覧

ツール(18)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
⚪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.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢scout.search_listings(city, state, zip, min_price, max_price, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "City name (e.g. 'Greenville', 'Charleston', 'Atlanta')."
    },
    "state": {
      "type": "string",
      "description": "Two-letter state code, SC or GA.",
      "enum": [
        "SC",
        "GA"
      ]
    },
    "zip": {
      "type": "string",
      "description": "5-digit ZIP code."
    },
    "min_price": {
      "type": "integer",
      "description": "Minimum list price (USD)."
    },
    "max_price": {
      "type": "integer",
      "description": "Maximum list price (USD)."
    },
    "min_beds": {
      "type": "integer",
      "description": "Minimum bedroom count."
    },
    "max_beds": {
      "type": "integer",
      "description": "Maximum bedroom count."
    },
    "limit": {
      "type": "integer",
      "description": "Max listings to return (1-25, default 10)."
    }
  },
  "additionalProperties": false
}
🟢scout.find_agent(lat, lng, zip, city, radius_miles, ...)

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.

入力スキーマ

{
  "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."
    },
    "radius_miles": {
      "type": "number",
      "description": "Search radius (default 25, max 100)."
    },
    "limit": {
      "type": "integer",
      "description": "Max agents to return (1-20, default 10)."
    }
  },
  "additionalProperties": false
}
🟢scout.find_public_agent(city, state, lat, lng, address, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "City name."
    },
    "state": {
      "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.)",
      "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"
      ]
    },
    "lat": {
      "type": "number",
      "description": "Latitude for radius search."
    },
    "lng": {
      "type": "number",
      "description": "Longitude for radius search."
    },
    "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."
    },
    "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)."
    },
    "mls": {
      "type": "string",
      "description": "Filter to a specific MLS board."
    },
    "min_flika_score": {
      "type": "integer",
      "description": "Minimum Flika Score 0-100 (default 0)."
    },
    "claimed_only": {
      "type": "boolean",
      "description": "If true, only return agents who have claimed their profile (default false)."
    },
    "limit": {
      "type": "integer",
      "description": "Max results (1-50, default 20)."
    }
  },
  "additionalProperties": false
}
🟢scout.find_brokerage(city, state, zip, lat, lng, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "City name (e.g. 'Greenville', 'Myrtle Beach', 'Atlanta')."
    },
    "state": {
      "type": "string",
      "description": "Two-letter state code (SC, GA, NC, FL)."
    },
    "zip": {
      "type": "string",
      "description": "5-digit ZIP code."
    },
    "lat": {
      "type": "number",
      "description": "Latitude for radius search."
    },
    "lng": {
      "type": "number",
      "description": "Longitude for radius search."
    },
    "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)."
    },
    "mls": {
      "type": "string",
      "description": "Filter to a specific MLS board (e.g. 'CCAR', 'TRIDENT', 'FMLS')."
    },
    "limit": {
      "type": "integer",
      "description": "Max results (1-50, default 20)."
    }
  },
  "additionalProperties": false
}
🟡scout.route_lead(lead_type, name, email, phone, destination_city, ...)

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

入力スキーマ

{
  "type": "object",
  "properties": {
    "lead_type": {
      "type": "string",
      "enum": [
        "buyer",
        "seller"
      ],
      "description": "Whether your client is buying or selling."
    },
    "name": {
      "type": "string",
      "description": "Client's name (first + last)."
    },
    "email": {
      "type": "string",
      "description": "Client's email (preferred contact method)."
    },
    "phone": {
      "type": "string",
      "description": "Client's phone number."
    },
    "destination_city": {
      "type": "string",
      "description": "Target city — where the client wants to buy/sell."
    },
    "destination_state": {
      "type": "string",
      "description": "Target state (2-letter)."
    },
    "destination_zip": {
      "type": "string"
    },
    "budget_min": {
      "type": "integer",
      "description": "For buyers: minimum budget USD."
    },
    "budget_max": {
      "type": "integer",
      "description": "For buyers: maximum 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.)."
    },
    "notes": {
      "type": "string",
      "description": "Any context — partner disagreement, must-haves, PCS dates, etc."
    },
    "referring_agent_email": {
      "type": "string",
      "description": "Your email as the referring agent (for commission routing)."
    },
    "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."
    },
    "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."
    }
  },
  "required": [
    "lead_type",
    "name",
    "destination_city",
    "destination_state",
    "referring_agent_email"
  ],
  "additionalProperties": false
}
🟢scout.get_seller_signals(signal_types, state, county, since_days, min_score, ...)

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).

入力スキーマ

{
  "type": "object",
  "properties": {
    "signal_types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "probate",
          "nod",
          "lis_pendens",
          "tax_delinquent",
          "fsbo",
          "expired_listing"
        ]
      },
      "description": "Which signal types to include (default: all)."
    },
    "state": {
      "type": "string",
      "enum": [
        "SC",
        "GA",
        "FL"
      ],
      "description": "Filter by state."
    },
    "county": {
      "type": "string",
      "description": "Filter by county slug (e.g. 'greenville-sc')."
    },
    "since_days": {
      "type": "integer",
      "description": "How many days back to look (1-90, default 7)."
    },
    "min_score": {
      "type": "integer",
      "description": "Minimum Claude-assigned score 0-100 (default 0)."
    },
    "limit": {
      "type": "integer",
      "description": "Max leads to return (1-50, default 20)."
    }
  },
  "additionalProperties": false
}
⚪scout.search_leads(signal_types, state, county, city, zip, ...)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "signal_types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "probate",
          "nod",
          "fsbo",
          "expired",
          "tax_delinquent",
          "multi_signal_premium"
        ]
      },
      "description": "Filter by signal type. Omit to include all."
    },
    "state": {
      "type": "string",
      "description": "2-letter state code. Currently SC or GA."
    },
    "county": {
      "type": "string",
      "description": "County name (case-insensitive partial match)."
    },
    "city": {
      "type": "string",
      "description": "City name (case-insensitive partial match)."
    },
    "zip": {
      "type": "string",
      "description": "5-digit zip code."
    },
    "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."
    },
    "limit": {
      "type": "integer",
      "description": "1-50, default 20."
    }
  },
  "additionalProperties": false
}
⚪scout.purchase_lead(lead_id)

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).

入力スキーマ

{
  "type": "object",
  "properties": {
    "lead_id": {
      "type": "string",
      "description": "UUID returned from scout.search_leads."
    }
  },
  "required": [
    "lead_id"
  ],
  "additionalProperties": false
}
⚪scout.subscribe_lead_feed(webhook_url, monthly_lead_budget, filter)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "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."
    },
    "filter": {
      "type": "object",
      "properties": {
        "signal_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "state": {
          "type": "string"
        },
        "min_score": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "webhook_url",
    "monthly_lead_budget"
  ],
  "additionalProperties": false
}
⚪scout.market_pulse(zip, city, state)

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.

入力スキーマ

{
  "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.agent_profile(id, slug)

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.

入力スキーマ

{
  "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.verify_license(license_number, state)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "license_number": {
      "type": "string",
      "description": "Exactly as issued by the state (no spaces)."
    },
    "state": {
      "type": "string",
      "description": "Two-letter state code."
    }
  },
  "required": [
    "license_number",
    "state"
  ],
  "additionalProperties": false
}
⚪scout.team_roster(brokerage_id, brokerage_slug, brokerage_name, state, limit)

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'.

入力スキーマ

{
  "type": "object",
  "properties": {
    "brokerage_id": {
      "type": "string",
      "description": "UUID from scout.find_brokerage."
    },
    "brokerage_slug": {
      "type": "string",
      "description": "URL slug."
    },
    "brokerage_name": {
      "type": "string",
      "description": "Free-text name (used with state)."
    },
    "state": {
      "type": "string",
      "description": "Two-letter state code (required if using brokerage_name)."
    },
    "limit": {
      "type": "integer",
      "description": "1-100, default 25. Sorted by Flika score descending."
    }
  },
  "additionalProperties": false
}
⚪scout.compare_agents(agent_ids)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "agent_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of 2-5 agent UUIDs (or slugs)."
    }
  },
  "required": [
    "agent_ids"
  ],
  "additionalProperties": false
}
⚪scout.estimate_value(zip)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "description": "5-digit ZIP code. Required."
    }
  },
  "required": [
    "zip"
  ],
  "additionalProperties": false
}
⚪scout.referral_terms(partner_id, partner_slug)

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.

入力スキーマ

{
  "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.school_district(zip, level)

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.

入力スキーマ

{
  "type": "object",
  "properties": {
    "zip": {
      "type": "string",
      "description": "5-digit ZIP code. Required."
    },
    "level": {
      "type": "string",
      "description": "Optional filter: 'elementary' | 'middle' | 'high'.",
      "enum": [
        "elementary",
        "middle",
        "high"
      ]
    }
  },
  "required": [
    "zip"
  ],
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 18 件
検証済みバージョンは記録されていませんツール 18 件
検証済みバージョンは記録されていませんツール 18 件