mcp-agent-brokerage-resolver
LocalAbout mcp-agent-brokerage-resolver
An MCP server for looking up licensed US real estate agents and their brokerages through state registers. It also returns brokerage roster or ZIP-code office data, with license status and expiry details.
Key features
- 01Agent and brokerage lookup
- 02Batch lookup by name or license
- 03Brokerage active-agent counts
- 04Brokerage and ZIP-code rosters
- 05License status and expiry
Use cases
- 01Check an agent’s brokerage and license
- 02Compare brokerage sizes
- 03List a brokerage’s active agents
- 04Find brokerage offices by ZIP code
MCP support
Exposes the `resolve_agent_brokerage` tool to MCP clients. It starts an Apify actor run and returns its dataset rows.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mambalabsdev/mcp-agent-brokerage-resolverAPIFY_TOKENSecretApify API token from https://console.apify.com/account/integrationsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
1Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| zip | string | No | roster_zip mode. A five digit zip code. |
| city | string | No | Lookup mode: narrows a name match by the brokerage office city or the license county. |
| mode | enum | No | lookup finds one agent or a list. roster_firm lists the active agents at one brokerage. roster_zip lists brokerage offices in a zip code (NY, MO, OR, VT). Default lookup.lookup | roster_firm | roster_zip |
| zips | string | No | roster_zip mode, many at once. One zip code per line. |
| state | string | No | Two letter licensing state, for example TX. Used with license_number, agent_name, or the brokerage fields. |
| agents | string | No | Lookup mode, many at once. One per line: state | name | brokerage (optional) | city (optional). |
| licenses | string | No | Lookup mode, many at once. One per line: state then license number, for example TX 0123456. |
| agent_name | string | No | Lookup mode, when there is no license number. First and last name. Add brokerage_name or city to narrow a common name. |
| active_only | enum | No | Roster modes. List only agents with an active license. Default true.true | false |
| max_results | string | No | Roster modes. Most rows one brokerage or zip returns, 1 to 1000. Default 100. |
| brokerage_name | string | No | Lookup mode: narrows a name match. roster_firm mode: the brokerage to list, by its exact registered name. |
| include_agents | enum | No | roster_zip mode. true also lists the active agents at each office. Default false.true | false |
| license_number | string | No | Lookup mode. The agent's license number as the state register prints it, for example 134224-SA. The most reliable lookup. |
| max_charge_usd | string | No | Optional. The run stops before the row that would take its charges over this amount. |
| brokerage_license_number | string | No | roster_firm mode. The brokerage's license number. |
Details
From the project READMEAgent to Brokerage Resolver MCP Server
An MCP server for the Mamba Labs Agent to Brokerage Resolver actor on Apify. Give it a licensed US real estate agent, by license number or by name and state, and get the brokerage of record from the official state license register, that brokerage's active agent count and size band, and the agent's license status and expiry. It can also list every active agent at a brokerage, or every brokerage office in a zip code.
What's Inside
- What it does
- Quick start
- Prerequisites
- Example prompts
- Tool
- Inputs
- Pricing
- Your keys
- Full actor documentation
- License
What it does
Look up a licensed US real estate agent on the official state license register and get the brokerage of record, the brokerage's active agent count and size band (1, 2-15, 16-50, 51+), and the agent's license status and expiry. Covers 19 states; brokerage data in CA, IA, MO, NV, NY, OH, OR, TX, and VT. Three modes: lookup (one agent or a list, by license number or by name), roster_firm (active agents at one brokerage), and roster_zip (brokerage offices in a zip code, NY, MO, OR, and VT). Returns no emails, phone numbers, or home addresses. Ambiguous or unmatched inputs return a free row with row_status explaining why. A run that does not succeed is returned as an error with its run ID.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-agent-brokerage-resolver": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-agent-brokerage-resolver"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
Restart the client. The resolve_agent_brokerage tool appears.
Prerequisites
- Node.js 18 or newer.
- An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
- "Which brokerage is Texas agent 134224-SA with, and how big is it?"
- "List the active agents at the brokerage with Texas license 566433-BB."
- "Which real estate brokerages have an office in zip 14201, and how many agents does each have?"
Tool
resolve_agent_brokerage. One tool. Example arguments:
{ "mode": "lookup", "state": "TX", "license_number": "134224-SA" }
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
mode | string | no | lookup, roster_firm, or roster_zip. Default lookup. |
state | string | no | Two letter licensing state, for example TX. |
license_number | string | no | Lookup mode. The agent's license number as the register prints it. |
agent_name | string | no | Lookup mode, when there is no license number. First and last name. |
brokerage_name | string | no | Narrows a name match; names the firm in roster_firm mode. |
city | string | no | Narrows a name match by office city or license county. |
licenses | string | no | Lookup batch, one per line: state then license number. |
agents | string | no | Lookup batch, one per line: state, name, brokerage, city, separated by a vertical bar. |
brokerage_license_number | string | no | roster_firm mode. The brokerage's license number. |
zip | string | no | roster_zip mode. A five digit zip code. |
zips | string | no | roster_zip batch, one zip per line. |
include_agents | string | no | roster_zip mode. true also lists each office's active agents. |
active_only | string | no | Roster modes. Active licenses only. Default true. |
max_results | string | no | Roster modes. Rows per brokerage or zip, 1 to 1000. Default 100. |
max_charge_usd | string | no | Optional. The run stops before the row that would take its charges over this amount. |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
agent-resolved, per matched lookup row | $0.005 | $0.00475 | $0.0045 | $0.00425 |
roster-row, per roster row | $0.002 | $0.0019 | $0.0018 | $0.0017 |
apify-actor-start, per run start | $0.0005 | $0.000475 | $0.00045 | $0.000425 |
Ambiguous, not found, unsupported state, and capped rows are never charged.
Your keys
The actor needs no provider key. It reads MMG's own index of the state license registers through a Mamba Labs service and holds no key of its own. Each actor run sends its own Apify run token to that service, which reads the run from the Apify API on every request to confirm it is a live run of this actor. The service caches no result and never stores or logs the token.
Full actor documentation
apify.com/mambalabs/agent-brokerage-resolver
License
MIT. See LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.