# `agentgraph_screen_agents`

> **Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries. Every property is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

Screen agents in an area. Product: [AgentGraph AI](/docs/agentgraph). Annotations: Read-only.

Call it as `agentgraph_screen_agents` on `https://mcp.casafari.com/` (the backend's own name is `screen_agents`).

Over REST: no operation in the public API description does this. [MCP and REST compared](/docs/parity#agentgraph-ai).

## Description

Ranks the individual agents named on listings in a German area against partner profiles: top agents in a small area, top performers with a capped territory, agents in traditional offices, and brokers in an early phase. Each result has the agent's own figures, agency, signals met and missed, career history where known, and contacts. Only listings that name an agent count (most agency websites name them, portals less often).

## Parameters

- `location` (string | integer, optional): A German city, district or state by name ("München", "Hamburg-Altona", "Bayern") or a location id from find_location. A 5-digit value is read as a postcode.
- `zipcodes` (string[], optional): Limit to these postcodes (with or without a location). at most 200 items; pattern `^\d{5}$`.
- `profile` (string | string[], optional): Profiles to match: top_performer_capped_territory, top_agent_small_area, agent_traditional_office, early_phase_broker; "all" (default) for any of them, or "none" to rank every broker by volume using filters only.
- `operation` (string, optional): Sales listings (default) or rentals. Values: `sale`, `rent`. default "sale".
- `limit` (integer, optional) 1–50; default 20.
- `filters` (object, optional): Optional thresholds applied on top of the profiles (or alone with profile "none"). Percent values are whole numbers.
  - `min_active_homes` (integer, optional) ≥ 0.
  - `max_active_homes` (integer, optional) ≥ 0.
  - `min_exits_last_12m` (integer, optional) ≥ 0.
  - `min_momentum_pct` (number, optional)
  - `max_momentum_pct` (number, optional)
  - `min_median_days_on_market` (integer, optional) ≥ 0.
  - `max_median_days_on_market` (integer, optional) ≥ 0.
  - `min_price_cut_share_pct` (number, optional) 0–100.
  - `max_postcodes` (integer, optional) ≥ 1.
  - `min_top_postcode_share_pct` (number, optional) 0–100.
  - `brand_kinds` (string[], optional) Values: `independent`, `franchise`, `bank_network`, `digital_brokerage`.
  - `exclude_brands` (string[], optional)
  - `min_team_size` (integer, optional): Agencies only: named people on its listings. ≥ 0.
  - `max_team_size` (integer, optional): Agencies only. ≥ 0.
- `client_brand` (string, optional): Your own network's name, if you are one. Its offices and agents are not offered as matches from "another network's franchise".

## Example call

Required arguments only, with placeholder values; see the parameters above for real ones.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "agentgraph_screen_agents",
    "arguments": {
      "location": "…"
    }
  }
}
```

## Questions about this

- [What is AgentGraph AI?](/docs/faq/what-is-agentgraph)
- [How do I find agencies or agents to partner with in a German city?](/docs/faq/example-find-agencies-germany)
