_ registry / mcp streamable-http · checked 1h ago

simplyrets-mcp

https://simplyrets.usefulapi.io

Registry code: 25c097ae915816e1

api record

Tools for SimplyRETS, hosted by usefulapi.io. If the user is new or asks what this server can do, suggest requests such as: "Find active 3-bedroom homes in Houston under $500,000, newest first."; "Which open houses are scheduled this weekend?"; "Give me market statistics for listings in zip code 77096.". Read-only tools never change data; ask the user before a tool that creates, changes or deletes SimplyRETS data. Free plan: 50 tool calls per month. Run simplyrets_usage_status to see the calls used this month. If the user asks for something none of these tools can do, tell the user and, with…

endpoint
https://simplyrets.usefulapi.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is simplyrets-mcp live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is simplyrets-mcp free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does simplyrets-mcp have?
10 tools: simplyrets_get_feed_metadata, simplyrets_get_market_analytics, simplyrets_get_listing_analytics, simplyrets_get_account_info, simplyrets_search_listings, simplyrets_get_listing, simplyrets_list_open_houses, simplyrets_get_open_house, ….
Is simplyrets-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
287ms

last good check

priced tools
0

of 10 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 10 tools
10 auth-required 10 of 10 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • simplyrets_get_feed_metadata auth-required 1h ago

    Values present in an MLS feed, to build valid searches: statuses, property types, cities, counties, neighborhoods, areas and features, plus the last sync time. OPTIONS /properties.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        }
      }
    }
    arguments 12 lines
  • simplyrets_get_market_analytics auth-required 1h ago

    Statistics for the listings a search matches (same filters as simplyrets_search_listings): total count, average price, bedrooms, full baths, living area, lot size and year built, and the number of listings per area. Use it for market summaries of a city, zip or price band. GET /properties/analytics.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Keyword search over MLS number, street, unit, city, postal code, subdivision and area; several values match any."
        },
        "idx": {
          "enum": [
            "null",
            "listing",
            "address",
            "ignore"
          ],
          "type": "string",
          "description": "IDX display filter. Default 'null' hides listings whose address or entire listing may not be displayed online; 'ignore' returns them too. Your MLS's display rules still bind how you use the data."
        },
        "pool": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Pool: 'true', 'false' or a value such as 'Private'."
        },
        "type": {
          "type": "array",
          "items": {
            "enum": [
              "residential",
              "rental",
              "mobilehome",
              "condominium",
              "multifamily",
              "commercial",
              "commerciallease",
              "land",
              "farm"
            ],
            "type": "string"
          },
          "maxItems": 9,
          "minItems": 1,
          "description": "Property type (default residential and rental)."
        },
        "agent": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Listing agent MLS ids (the co-listing agent is not matched)."
        },
        "water": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Water body: 'true', 'false' or a value."
        },
        "cities": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Cities (case-insensitive). simplyrets_get_feed_metadata lists the cities in the feed."
        },
        "maxdom": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum days on market (needs Days on Market data in the feed)."
        },
        "points": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^-?\\d{1,3}(\\.\\d+)?\\s*,\\s*-?\\d{1,3}(\\.\\d+)?$"
          },
          "maxItems": 100,
          "minItems": 3,
          "description": "A polygon of 'lat,lng' points (3 or more); returns listings inside it. Needs latitude/longitude in the feed."
        },
        "status": {
          "type": "array",
          "items": {
            "enum": [
              "Active",
              "Pending",
              "Closed",
              "ActiveUnderContract",
              "Hold",
              "Withdrawn",
              "Expired",
              "Delete",
              "Incomplete",
              "ComingSoon"
            ],
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "Listing status (default Active). Closed = sold or leased."
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        },
        "brokers": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Broker or listing office ids, as your MLS provides them."
        },
        "maxarea": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum living area, sq ft."
        },
        "maxbeds": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum bedrooms."
        },
        "maxyear": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum year built."
        },
        "minarea": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum living area, sq ft."
        },
        "minbeds": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum bedrooms."
        },
        "minyear": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum year built."
        },
        "subtype": {
          "type": "array",
          "items": {
            "enum": [
              "apartment",
              "boatslip",
              "singlefamilyresidence",
              "deededparking",
              "cabin",
              "condominium",
              "duplex",
              "manufacturedhome",
              "ownyourown",
              "quadruplex",
              "stockcooperative",
              "townhouse",
              "timeshare",
              "triplex",
              "manufacturedonland",
              "farmandranch",
              "agriculture",
              "business",
              "hotelmotel",
              "industrial",
              "mixeduse",
              "officespace",
              "retail",
              "unimprovedland",
              "warehouse"
            ],
            "type": "string"
          },
          "maxItems": 25,
          "minItems": 1,
          "description": "Property sub type; not every feed supports every value."
        },
        "counties": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Counties (case-insensitive)."
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Interior features, e.g. 'Wet Bar'."
        },
        "maxacres": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum acreage."
        },
        "maxbaths": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum bathrooms."
        },
        "maxprice": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum price."
        },
        "minacres": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum acreage."
        },
        "minbaths": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum bathrooms."
        },
        "minprice": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum price."
        },
        "salesAgent": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Selling agent MLS ids (sales.agent)."
        },
        "postalCodes": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Postal / zip codes."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Neighborhoods or subdivisions (case-insensitive)."
        },
        "maxGarageSpaces": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum garage spaces."
        },
        "minGarageSpaces": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum garage spaces."
        },
        "exteriorFeatures": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Exterior features, e.g. 'Porch'."
        }
      }
    }
    arguments 331 lines
  • simplyrets_get_listing_analytics auth-required never probed

    Analytics for one listing, such as its price per square foot. GET /properties/{mlsId}/analytics.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "mlsId"
      ],
      "properties": {
        "mlsId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "SimplyRETS listing id (the `mlsId` field of a search result).",
          "exclusiveMinimum": 0
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        }
      }
    }
    arguments 21 lines
  • simplyrets_get_account_info auth-required 1h ago

    What these API credentials can reach: the MLS vendor ids (needed as `vendor` on multi-MLS apps), the time of each vendor's last sync, usernames and the available endpoints (/properties, /openhouses, /agents, /offices, /properties/analytics). OPTIONS /.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • simplyrets_search_listings auth-required never probed

    Search MLS listings (SimplyRETS /properties): by keyword, status, type, price, beds, baths, area, year, city, zip, neighborhood, agent, broker, features or a map polygon. Returns address, price, status, photos, agent, office, property details and remarks, without empty fields. Pass count=true to get the total. Page with next.offset or next.lastId. GET /properties.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Keyword search over MLS number, street, unit, city, postal code, subdivision and area; several values match any."
        },
        "idx": {
          "enum": [
            "null",
            "listing",
            "address",
            "ignore"
          ],
          "type": "string",
          "description": "IDX display filter. Default 'null' hides listings whose address or entire listing may not be displayed online; 'ignore' returns them too. Your MLS's display rules still bind how you use the data."
        },
        "pool": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Pool: 'true', 'false' or a value such as 'Private'."
        },
        "sort": {
          "enum": [
            "listprice",
            "-listprice",
            "listdate",
            "-listdate",
            "closedate",
            "-closedate",
            "beds",
            "-beds",
            "baths",
            "-baths"
          ],
          "type": "string",
          "description": "Sort field; a leading minus is descending. Ignored with lastId."
        },
        "type": {
          "type": "array",
          "items": {
            "enum": [
              "residential",
              "rental",
              "mobilehome",
              "condominium",
              "multifamily",
              "commercial",
              "commerciallease",
              "land",
              "farm"
            ],
            "type": "string"
          },
          "maxItems": 9,
          "minItems": 1,
          "description": "Property type (default residential and rental)."
        },
        "agent": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Listing agent MLS ids (the co-listing agent is not matched)."
        },
        "count": {
          "type": "boolean",
          "description": "Also return the total number of matches (slower on big feeds)."
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page, 1-100 (default 10)."
        },
        "state": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "State or province (case-insensitive)."
        },
        "water": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Water body: 'true', 'false' or a value."
        },
        "cities": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Cities (case-insensitive). simplyrets_get_feed_metadata lists the cities in the feed."
        },
        "lastId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Cursor: 0 for the first page, then the previous reply's next.lastId (sort is ignored when set)."
        },
        "maxdom": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum days on market (needs Days on Market data in the feed)."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (the previous reply's next.offset). Do not combine with lastId."
        },
        "points": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^-?\\d{1,3}(\\.\\d+)?\\s*,\\s*-?\\d{1,3}(\\.\\d+)?$"
          },
          "maxItems": 100,
          "minItems": 3,
          "description": "A polygon of 'lat,lng' points (3 or more); returns listings inside it. Needs latitude/longitude in the feed."
        },
        "status": {
          "type": "array",
          "items": {
            "enum": [
              "Active",
              "Pending",
              "Closed",
              "ActiveUnderContract",
              "Hold",
              "Withdrawn",
              "Expired",
              "Delete",
              "Incomplete",
              "ComingSoon"
            ],
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "Listing status (default Active). Closed = sold or leased."
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        },
        "brokers": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Broker or listing office ids, as your MLS provides them."
        },
        "include": {
          "type": "array",
          "items": {
            "enum": [
              "compliance",
              "rooms"
            ],
            "type": "string"
          },
          "maxItems": 2,
          "minItems": 1,
          "description": "Extra fields: compliance (IDX display data) and rooms (when the feed has them)."
        },
        "maxarea": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum living area, sq ft."
        },
        "maxbeds": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum bedrooms."
        },
        "maxyear": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum year built."
        },
        "minarea": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum living area, sq ft."
        },
        "minbeds": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum bedrooms."
        },
        "minyear": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum year built."
        },
        "subtype": {
          "type": "array",
          "items": {
            "enum": [
              "apartment",
              "boatslip",
              "singlefamilyresidence",
              "deededparking",
              "cabin",
              "condominium",
              "duplex",
              "manufacturedhome",
              "ownyourown",
              "quadruplex",
              "stockcooperative",
              "townhouse",
              "timeshare",
              "triplex",
              "manufacturedonland",
              "farmandranch",
              "agriculture",
              "business",
              "hotelmotel",
              "industrial",
              "mixeduse",
              "officespace",
              "retail",
              "unimprovedland",
              "warehouse"
            ],
            "type": "string"
          },
          "maxItems": 25,
          "minItems": 1,
          "description": "Property sub type; not every feed supports every value."
        },
        "counties": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Counties (case-insensitive)."
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Interior features, e.g. 'Wet Bar'."
        },
        "maxacres": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum acreage."
        },
        "maxbaths": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum bathrooms."
        },
        "maxprice": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum price."
        },
        "minacres": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum acreage."
        },
        "minbaths": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum bathrooms."
        },
        "minprice": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum price."
        },
        "modified": {
          "type": "string",
          "pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$",
          "description": "Only listings whose MLS modification time is on or after this date or date-time."
        },
        "ownership": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Ownership values (feed dependent)."
        },
        "salesAgent": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Selling agent MLS ids (sales.agent)."
        },
        "coListAgent": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Co-listing agent MLS ids."
        },
        "maxlistdate": {
          "type": "string",
          "pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$",
          "description": "Listed on or before this date or date-time (UTC unless a timezone is given)."
        },
        "minlistdate": {
          "type": "string",
          "pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$",
          "description": "Listed on or after this date or date-time (UTC unless a timezone is given)."
        },
        "postalCodes": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Postal / zip codes."
        },
        "subTypeText": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Original MLS sub type text values."
        },
        "neighborhoods": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Neighborhoods or subdivisions (case-insensitive)."
        },
        "maxGarageSpaces": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum garage spaces."
        },
        "minGarageSpaces": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum garage spaces."
        },
        "exteriorFeatures": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Exterior features, e.g. 'Porch'."
        },
        "specialListingConditions": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Special conditions such as REO, Short Sale or Auction (feed dependent)."
        }
      }
    }
    arguments 452 lines
  • simplyrets_get_listing auth-required never probed

    One listing by its SimplyRETS id (`mlsId`, the number in search results; NOT the public MLS number `listingId`). Full detail: address, geo, price, photos, agent, office, property, school, tax, remarks. GET /properties/{mlsId}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "mlsId"
      ],
      "properties": {
        "mlsId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "SimplyRETS listing id (the `mlsId` field of a search result).",
          "exclusiveMinimum": 0
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        },
        "include": {
          "type": "array",
          "items": {
            "enum": [
              "association",
              "agreement",
              "garageSpaces",
              "maintenanceExpense",
              "parking",
              "pool",
              "rooms"
            ],
            "type": "string"
          },
          "maxItems": 7,
          "minItems": 1,
          "description": "Extra fields to include, when the feed has them."
        }
      }
    }
    arguments 39 lines
  • simplyrets_list_open_houses auth-required never probed

    Upcoming open houses with the listing they belong to: filter by property type, listing id, city, broker, agent, price, size, beds, baths and start date. Page with next.offset or next.lastId. GET /openhouses.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "sort": {
          "enum": [
            "listprice",
            "-listprice",
            "listdate",
            "-listdate",
            "beds",
            "-beds",
            "baths",
            "-baths"
          ],
          "type": "string",
          "description": "Sort field; a leading minus is descending. Ignored with lastId."
        },
        "type": {
          "enum": [
            "residential",
            "rental",
            "mobilehome",
            "condominium",
            "multifamily",
            "commercial",
            "commerciallease",
            "land",
            "farm"
          ],
          "type": "string",
          "description": "Property type of the listing (default residential; one type per query)."
        },
        "agent": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Agent id."
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page, 1-100 (default 10)."
        },
        "cities": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Cities (case-insensitive)."
        },
        "lastId": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Cursor: 0 for the first page, then the previous reply's next.lastId (sort is ignored when set)."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (the previous reply's next.offset). Do not combine with lastId."
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        },
        "brokers": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Broker ids."
        },
        "include": {
          "type": "array",
          "items": {
            "enum": [
              "rooms"
            ],
            "type": "string"
          },
          "maxItems": 1,
          "minItems": 1,
          "description": "Extra fields: rooms."
        },
        "minarea": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum living area, sq ft."
        },
        "minbeds": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum bedrooms."
        },
        "maxprice": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Maximum listing price."
        },
        "minbaths": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum bathrooms."
        },
        "minprice": {
          "type": "integer",
          "maximum": 1000000000,
          "minimum": 0,
          "description": "Minimum listing price."
        },
        "listingId": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Only open houses for this public MLS listing id."
        },
        "startdate": {
          "type": "string",
          "pattern": "^(\\d{4}-\\d{2}-\\d{2}|\\d{1,2}\\/\\d{1,2}\\/\\d{4})([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?( ?(Z|[+-]\\d{2}:?\\d{2}|[A-Za-z]{2,5}))?)?$",
          "description": "Scheduled start of the open house."
        }
      }
    }
    arguments 140 lines
  • simplyrets_get_open_house auth-required never probed

    One open house by its key (the `openHouseKey` of a list result). GET /openhouses/{openHouseKey}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "openHouseKey"
      ],
      "properties": {
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        },
        "include": {
          "type": "array",
          "items": {
            "enum": [
              "rooms"
            ],
            "type": "string"
          },
          "maxItems": 1,
          "minItems": 1,
          "description": "Extra fields: rooms."
        },
        "openHouseKey": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Open house key from simplyrets_list_open_houses.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 33 lines
  • simplyrets_list_agents auth-required never probed

    The agent roster of the MLS feed: id, name, address, contact and office. Needs the Agents API add-on on your SimplyRETS app (the demo credentials return an empty list). GET /agents.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Search agent ids and email addresses."
        },
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "First name, last name or both."
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page, 1-100 (default 10)."
        },
        "state": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Agent address state."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (the previous reply's next.offset). Do not combine with lastId."
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        }
      }
    }
    arguments 47 lines
  • simplyrets_list_offices auth-required never probed

    The brokerage office roster of the MLS feed, newest modification first. Needs the Offices API add-on on your SimplyRETS app (the demo credentials cannot use it). Pass count=true for the total. GET /offices.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Match office MLS id, main office MLS id, email (exact) or name (partial)."
        },
        "name": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Partial, case-insensitive office name."
        },
        "count": {
          "type": "boolean",
          "description": "Also return the total number of matches."
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Results per page, 1-100 (default 10)."
        },
        "state": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Partial, case-insensitive state."
        },
        "offset": {
          "type": "integer",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Records to skip (the previous reply's next.offset). Do not combine with lastId."
        },
        "vendor": {
          "type": "string",
          "maxLength": 100,
          "minLength": 1,
          "description": "MLS vendor id; required on multi-MLS apps (simplyrets_get_account_info lists them)."
        },
        "username": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Feed username, when the credentials have several for the vendor."
        }
      }
    }
    arguments 57 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 25c097ae915816e1.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/25c097ae915816e1/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/25c097ae915816e1/badge.svg)](https://brick.blue/agent/25c097ae915816e1?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on usefulapi.io 139 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

131 more sit on this domain. All of them.