Agency partnerships in Germany · Use case
Which agencies in a German city are worth partnering with?
Use AgentGraph AI on the Casafari MCP server. Its agentgraph_screen_agencies tool ranks the agencies active in a German city, district or state against two partner profiles, growing independents and franchise offices losing momentum. It returns each agency's figures, signals met and missed, team and contacts. Open finalists with agentgraph_agency_profile and brief outreach with agentgraph_partner_brief.
Products: AgentGraph AI
Short answer
agentgraph_screen_agencies ranks the real estate agencies active in a German area against two partner profiles:
franchise_office_losing_momentum: franchise offices losing momentum.growing_independent: growing independent agencies, meaning solo brokers and small teams of about 2-10.
Each result has the agency's figures, the profile signals it meets and misses, its team and its contacts. The tool belongs to AgentGraph AI on the Casafari MCP server (https://mcp.casafari.com/). It is MCP only, with no REST equivalent.
Partnering with the right agencies at the right moment is how networks expand without guessing.
Steps
Call list_servers and agentgraph_list_profiles to read the profile rules
- Call
list_servers. It returns each product your account can use, with its own instructions. If AgentGraph AI is missing, your subscription does not cover it. - Call
agentgraph_list_profiles(no inputs). It lists the partner profiles the screens match against, with each one's exact rules, its priority and what the advertisement data cannot show.
Resolve ambiguous names with agentgraph_find_location
- Call
agentgraph_find_locationwithquery(at least 2 characters) and optionallimit(1 to 20, default 8). It returns German cities, districts and states with their location ids, kinds and parent areas. Use it when a name is ambiguous (several "Neustadt") or to pick a district within a city. The screens also accept a name directly, such as "München", "Hamburg-Altona" or "Bayern"; a 5-digit value is read as a postcode.
See what normal looks like: agentgraph_area_benchmark
- Call
agentgraph_area_benchmarkwithlocation,unitset toagency(the default) andoperation. It returns percentiles of active homes, exits, days on market, price cuts and momentum, how the market splits between independents, franchises, banks and online brokerages, and the biggest networks there. Use these percentiles to set filter thresholds.
Screen: agentgraph_screen_agencies with location, profile, operation, filters (brand_kinds, min_momentum_pct, max_team_size), client_brand
- Call
agentgraph_screen_agencieswith:location(name or id) and, optionally,zipcodes(up to 200 five-digit postcodes).profile: one profile, an array of both,all(default), ornoneto rank every broker by volume using filters only.operation:sale(default) orrent.limit: 1 to 50, default 20.filters, applied on top of the profiles:brand_kinds(independent,franchise,bank_network,digital_brokerage),min_momentum_pctandmax_momentum_pct(whole-number percents),min_team_sizeandmax_team_size(named people on the agency's advertisements), plusmin_active_homes,max_active_homes,min_exits_last_12m,min_median_days_on_market,max_median_days_on_market,min_price_cut_share_pct,max_postcodes,min_top_postcode_share_pctandexclude_brands.client_brand: your own network's name, if you are one. Its offices and agents are not offered as matches from "another network's franchise".
Deep dive: agentgraph_agency_profile by id
- Call
agentgraph_agency_profilewith theidthe screen returned (c:...ork:...), or anamewhen no id is known. Addlocationto benchmark against that area instead of the agency's main city. It returns the agency's figures quarter by quarter, its team (named agents on its advertisements), its places, contacts and every partner profile it matches.
Prepare outreach: agentgraph_partner_brief
- Call
agentgraph_partner_briefwithid(required) and thelocationto compare against. It returns a one-page brief for the person who will approach the agency, andbrief_url, a printable page.
Save the shortlist: agentgraph_save_to_watchlist
- Call
agentgraph_save_to_watchlistwithids(1 to 50 per call), thelocationto measure them in,operationand an optionallabel(up to 60 characters, e.g. 'Q4 outreach'). AgentGraph AI re-measures the list every day and records changes.
Example: independent agencies in München
Prompt to your AI assistant, once the Casafari MCP server is connected:
Which independent agencies in München are growing faster than the market?
The assistant calls list_servers, then agentgraph_list_profiles, then agentgraph_area_benchmark for München with unit agency, and then agentgraph_screen_agencies with arguments like these:
{
"location": "München",
"profile": "growing_independent",
"operation": "sale",
"limit": 20,
"filters": { "brand_kinds": ["independent"] }
}A condensed answer looks like this (placeholders shown; the tool returns the real names and figures):
| Rank | Agency | Profile | Momentum | Active homes | New homes per quarter | Team | Signals missed |
|---|---|---|---|---|---|---|---|
| 1 | (agency) | growing_independent | (value) | (value) | (value) | (value) | (none or list) |
| 2 | (agency) | growing_independent | (value) | (value) | (value) | (value) | (list) |
The assistant then opens the top result with agentgraph_agency_profile and, if asked, writes an outreach brief with agentgraph_partner_brief.
How to read the result
Active homes, new homes per quarter, momentum, exits, days on market, price cuts, postcodes
Active homes and new homes per quarter show the agency's current stock and how fast it wins new homes. Momentum shows its direction. Exits and days on market show how its homes leave the market; price cuts show how often its asking prices fall. Postcodes show how concentrated its territory is. Compare each figure with the percentiles from agentgraph_area_benchmark: an agency above the area's typical values on momentum, with few price cuts, is a stronger growth partner than one that is only large.
Signals met and missed per profile
Each result lists the profile signals it meets and the ones it misses. An agency that meets every signal of growing_independent fits the profile fully; one that misses a signal may still be worth a call, but the missed signal is the first question to check in agentgraph_agency_profile.
What the advertisement data cannot show (from list_profiles)
All figures come from the properties agencies advertise, merged into the property graph. agentgraph_list_profiles states, for each profile, what this data cannot show. Read it before drawing conclusions; this page does not repeat it because the tool's live answer is the contract.
Limits
All AgentGraph AI tools are available to Casafari clients with MCP access, using their Casafari account; self-serve access for new users is coming soon. They are MCP only: there is no REST equivalent. The sources give no prices, quotas, rate limits or SLAs; ask Casafari. When a product's quota is used up, its tools answer Request limit reached for this product.
Germany only, as the tools state
AgentGraph AI covers Germany. Locations are German cities, districts, states or five-digit postcodes. For other markets, AgentGraph AI has no data; see Does Casafari cover Germany?.
Up to 50 results per screen; brief_url valid 7 days and for internal use
limit runs from 1 to 50 (default 20). Narrow the area or add filters to see more relevant agencies. The partner brief's brief_url is valid for 7 days; share it only inside your organisation.
Lawful approach guidance in the brief
Each partner brief includes how the agency may lawfully be approached in Germany, alongside two or three talking points, key figures against the area, the partner signals met, the quality of its advertisements (photos, descriptions, sole-agent mandates, price cuts, own website versus portals), its team and a map of its active advertised homes. Follow that guidance before contacting anyone.
Questions
What do the two agency profiles mean?
The two agency profiles are franchise_office_losing_momentum, for franchise offices losing momentum, and growing_independent, for growing independent agencies, meaning solo brokers and small teams of about 2-10. Call agentgraph_list_profiles to read each profile's exact rules, its priority and what the advertisement data cannot show. Use profile all to match either, or none to rank every broker by volume with filters only.
Can I exclude my own network's offices?
Yes, pass your network's name as client_brand and agentgraph_screen_agencies will not offer its offices and agents as matches from another network's franchise. To drop other brands too, list them in the exclude_brands filter. You can also restrict results by brand_kinds, choosing among independent, franchise, bank_network and digital_brokerage.
Can I screen rentals instead of sales?
Yes, set operation to rent in agentgraph_screen_agencies; the default is sale. Use the same operation in agentgraph_area_benchmark, agentgraph_agency_profile and agentgraph_partner_brief so the figures you compare describe the same market. Agencies strong in rentals can rank very differently from the sales screen of the same area.
How current are the figures?
The sources publish no data refresh frequency for AgentGraph AI or the property graph, so this page cannot state one; ask Casafari at https://www.casafari.com/. What the tools do state: entries saved to the watchlist are re-measured every day, and agentgraph_watchlist_changes with refresh true re-measures on request, which is slower.
Can I limit the screen to certain postcodes?
Yes, pass up to 200 five-digit German postcodes in zipcodes, with or without a location. A 5-digit value given as location is also read as a postcode. To favour concentrated agencies instead, use the max_postcodes and min_top_postcode_share_pct filters, which act on how many postcodes an agency works in and its top postcode's share.