Skip to main content
Glama
mambalabsdev

Agent to Brokerage Resolver MCP Server

Agent to Brokerage Resolver MCP Server

Smithery Glama score MCP Registry npm version npm downloads license mcpservers.org

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

Related MCP server: real-estate-data-mcp-server

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

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. Proposed launch prices, not yet live.

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 private service and holds no key of its own.

Full actor documentation

apify.com/mambalabs/agent-brokerage-resolver

License

MIT. See LICENSE.

Available Tools

1 tool
resolve_agent_brokerageResolve agent brokerageA
Read-onlyIdempotent

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. Read-only; requires an APIFY_TOKEN and consumes Apify credits per matched row.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNoroster_zip mode. A five digit zip code.
cityNoLookup mode: narrows a name match by the brokerage office city or the license county.
modeNolookup 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.
zipsNoroster_zip mode, many at once. One zip code per line.
stateNoTwo letter licensing state, for example TX. Used with license_number, agent_name, or the brokerage fields.
agentsNoLookup mode, many at once. One per line: state | name | brokerage (optional) | city (optional).
licensesNoLookup mode, many at once. One per line: state then license number, for example TX 0123456.
agent_nameNoLookup mode, when there is no license number. First and last name. Add brokerage_name or city to narrow a common name.
active_onlyNoRoster modes. List only agents with an active license. Default true.
max_resultsNoRoster modes. Most rows one brokerage or zip returns, 1 to 1000. Default 100.
brokerage_nameNoLookup mode: narrows a name match. roster_firm mode: the brokerage to list, by its exact registered name.
include_agentsNoroster_zip mode. true also lists the active agents at each office. Default false.
license_numberNoLookup mode. The agent's license number as the state register prints it, for example 134224-SA. The most reliable lookup.
max_charge_usdNoOptional. The run stops before the row that would take its charges over this amount.
brokerage_license_numberNoroster_firm mode. The brokerage's license number.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, idempotent, non-destructive, so the safety profile is covered; the description then adds substantial extra context: no emails/phones/home addresses are returned, ambiguous or unmatched inputs return a free row with row_status, failed runs return an error with a run ID, an APIFY_TOKEN is required, and Apify credits are consumed per matched row (with max_charge_usd truncating the run).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense but well front-loaded paragraph where essentially every clause carries information (modes, coverage, privacy, errors, auth, cost). It could be easier to scan with the mode/coverage/privacy facts broken out, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter, three-mode, no-output-schema tool, the description supplies the return contents, geographic limitations, per-call cost/auth requirements, and error/ambiguity behavior, which is everything an agent needs to invoke it correctly without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already documents all 15 parameters including mode, per-line formats, and defaults. The description adds the size-band breakdown (1, 2-15, 16-50, 51+) and per-mode state coverage, but little parameter syntax beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a precise verb and resource ('Look up a licensed US real estate agent on the official state license register') and enumerates the concrete outputs (brokerage of record, active agent count, size band, license status and expiry). An agent immediately knows what this tool returns and the scope of the data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly names the three operating modes and the condition selecting each: lookup (one agent or a list, by license number or name), roster_firm (active agents at one brokerage), and roster_zip (offices in a zip, NY/MO/OR/VT). It also states coverage boundaries ('Covers 19 states; brokerage data in CA, IA, MO, NV, NY, OH, OR, TX, VT'), which steers the agent away from unsupported queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedresolve_agent_brokerage

TDQS

A4.5/5.0

Scored across 1 tool

Disambiguation5/5

With a single tool, there is no possibility of misselection between tools. The tool's purpose (resolving an agent to a brokerage via three explicit modes) is unambiguous.

Naming Consistency5/5

The sole tool uses a clear snake_case verb_noun pattern (resolve_agent_brokerage). With only one tool there is no internal inconsistency, and the name is readable and domain-specific.

Tool Count3/5

One tool for an entire server is on the thin side; the three modes are packed into a single tool rather than exposed as separate operations. It is defensible for a narrow resolver, but by the stated guidance 1-2 tools is borderline.

Completeness4/5

The lookup, roster_firm, and roster_zip modes cover the main access patterns for agent and brokerage data. Minor gaps exist (e.g., no direct supported-states/coverage query or explicit brokerage lookup by name), but core workflows are covered.

Maintenance

ActivityNo data
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Real-time contractor license verification across 45 US states. Verifies license status, expiration, and disciplinary history directly against state licensing board portals.
    4
    34 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides US real estate data including housing stats, demographics, nearby amenities, area comparisons, cost-of-living analysis, and neighborhood search via free public APIs without any API keys.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to verify and search business entities across US state and international company registries, providing real-time confirmation of legal existence, status, and filings.
    9
    MIT