RealtyCrawl
Server Details
Search source-linked real estate observations with capability discovery and bounded credits.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- realtycrawl/realtycrawl-mcp
- GitHub Stars
- 0
- Server Listing
- RealtyCrawl MCP
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 5 tools
Each tool has a distinct role: discovery (list_platforms, list_endpoints, get_capabilities, get_endpoint) versus execution (call_endpoint). There is minor overlap between get_capabilities and list_endpoints/get_endpoint since all describe operations, but descriptions clarify capabilities cover selectors/markets while endpoint tools cover schemas.
All tools follow a consistent verb_noun snake_case pattern: call_endpoint, get_capabilities, get_endpoint, list_endpoints, list_platforms. No deviations or mixed conventions.
Five tools is well-scoped for an API discovery-and-execution server. Each tool has a clear role in the discovery-to-call workflow, with no redundant entries.
The surface covers platform discovery, operation listing, schema inspection, capability checks, and execution. Minor gaps exist around pagination and retry/async-result retrieval, but call_endpoint explicitly notes these limitations, so agents can work around them.
Available Tools
5 toolscall_endpointBRead-onlyInspect
Execute one source read or search. May consume credits. No automatic retry or pagination. POST search requests need a stable idempotency key.
| Name | Required | Description | Default |
|---|---|---|---|
| endpointId | Yes | ||
| maxCredits | Yes | ||
| parameters | No | ||
| idempotencyKey | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true and destructive=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: credit consumption, no automatic retry, no pagination, and the idempotency-key requirement for POST searches. It stops short of 5 only because it doesn't say what happens on partial failure or how credits are debited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core action before the caveats. Dense and mostly waste-free, though 'May consume credits' and the retry/pagination note could be merged into one cost/behavior clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a credit-consuming execution tool with a nested free-form parameter bag and no output schema, the description covers behavior well but leaves the agent without guidance on what endpointId refers to or how to shape 'parameters'. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It explains idempotencyKey's purpose and hints at maxCredits via 'may consume credits', but endpointId and the free-form nested 'parameters' object are never described, leaving half the surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete verb ('Execute') and scope ('one source read or search'), which distinguishes it from the metadata siblings (get_endpoint, list_endpoints, get_capabilities, list_platforms). However, 'source read or search' is somewhat abstract and it never names the sibling it complements, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one real usage rule (POST search requests need a stable idempotency key) and warns that credits may be consumed, which implicitly says 'use sparingly'. But there is no explicit when-to-use vs when-not, nor any pointer to the sibling tools that supply the endpointId this tool requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesBRead-onlyInspect
Inspect current source operations, supported selectors, and markets before requesting data. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | ||
| platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful cost signal "Free" and the ordering hint, but says nothing about return shape or the scope of what qualifies as a "current" capability. With annotations doing the heavy lifting, this is a reasonable 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler, and the ordering guidance is front-loaded before the cost note. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-stakes read-only discovery tool this is close to adequate, but with no output schema and two entirely undocumented parameters, the agent has no idea what calling it with country/platform actually returns or filters. One more clause on the parameter effect would close the gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%: the country (ISO-2 pattern) and platform parameters are undocumented in both schema and description. Words like "markets" and "selectors" hint at what is returned rather than explaining how country/platform narrow the results, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb (Inspect) and enumerates the specific resources returned: source operations, supported selectors, and markets. It is clearly a capability-discovery tool, distinct from the endpoint-calling siblings, though it never explicitly names those siblings to sharpen the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"before requesting data" gives a usable ordering hint (call this first, then fetch), which implies the usage context. However, it lists no explicit alternatives or when-not conditions, so the agent must infer the relationship to call_endpoint/get_endpoint on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_endpointBRead-onlyInspect
Read an operation’s parameters, request schema and referenced component schemas.
| Name | Required | Description | Default |
|---|---|---|---|
| endpointId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds value by naming the return payload (parameters, request schema, component schemas), but says nothing about resolution behavior, missing-reference handling, or lookup failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is arguably too terse for the gaps it leaves, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only introspection tool with no output schema, naming what is returned is the right instinct, but the definition omits how to source endpointId and what happens when the endpoint is unknown, leaving the agent under-equipped at invocation time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'endpointId' has no description anywhere. The description does not explain the identifier's format, its max length of 100, or where to obtain it (presumably list_endpoints) – a notable gap for a tool whose only input is an ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and enumerates the resource details it returns: parameters, request schema, and referenced component schemas. This clearly separates it from list_endpoints and call_endpoint, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus call_endpoint or list_endpoints, and no prerequisites stated. The agent must infer that this is a schema-inspection step preceding a call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_endpointsCRead-onlyInspect
List API operations with source associations and evidence. Contract inclusion does not guarantee live source availability.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so safety is covered. The description adds genuine context beyond that: results carry source associations/evidence and may list operations that are not actually reachable at runtime. It says nothing about result size, ordering, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action, and the caveat is placed where it will be read before calling. The phrase 'with source associations and evidence' is slightly opaque but not wasteful padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and one entirely undocumented parameter, the description leaves the agent without a model of what it will get back or how to narrow results. For a discovery tool that likely feeds downstream call_endpoint invocations, it should at least say what the query filters on and roughly what each list entry contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the sole 'query' parameter, so the description carries the full burden and does not compensate at all — it never explains what 'query' matches (operation name, path, source?) or what happens when it is omitted. Only the schema's type and maxLength give the agent any signal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('List API operations') and adds that returned items carry source associations and evidence. It does not explicitly differentiate itself from siblings like get_endpoint or call_endpoint, but the list-versus-single-fetch distinction is inferable from the name and phrasing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no sibling is named as an alternative. The caveat about contract inclusion not guaranteeing live source availability hints that this tool is a discovery step before call_endpoint, but that routing is left for the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_platformsBRead-onlyInspect
List researched real estate platforms and their current status. Free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds that the tool is free to call and that results carry a 'current status', which is useful but minimal; nothing is said about result size, freshness, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and resource, with no filler. 'Free.' is a fragment but conveys genuine cost information, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with annotations covering safety and no output schema, the description gives enough: what is listed (platforms), what is included (current status), and that it costs nothing. The word 'researched' is left undefined, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'List researched real estate platforms and their current status.' The resource (platforms) is clearly distinct from the endpoint-oriented siblings (list_endpoints, get_endpoint, call_endpoint), so an agent can separate them without opening schemas, though the description never explicitly names the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as get_capabilities or the endpoint tools. The only usage-adjacent signal is 'Free', which hints at cost but does not tell the agent when this tool is the right choice.
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.
5 tool updates
- First observed
call_endpoint - First observed
get_capabilities - First observed
get_endpoint - First observed
list_endpoints - First observed
list_platforms
Related MCP Connectors
Search observed public land listings and compare source-linked prices, evidence and freshness.
Search commercial real estate listings. Reads need no token; authoring is self-serve OAuth (DCR).
Search and monitor source-backed AI agent ecosystem signals, briefings, deltas, and source health.
Evidence-labeled Method search for AI Agents; optional contributor and Gateway discovery.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to discover, optionally rank, and exactly read bounded source-addressed evidence from large repositories and noisy logs, with local-only privacy controls and quota-aware recovery.2MIT
- AlicenseNot gradedqualityAmaintenanceEnables free-first English and Chinese web search through zero-key sources with optional credentialed providers, returning compact multi-source evidence, visible provider failures, and bounded request/evidence budgets.164 npmApache 2.0
- AlicenseAqualityCmaintenanceEnables users to find real-world items, listings, or opportunities from live web search results shaped by caller-defined JSON Schemas, then verifies every source URL in code and drops anything that cannot be traced to an actually fetched page.1MIT
- AlicenseAqualityBmaintenanceEnables agents to search a federated catalog of AI capabilities across peer hubs and invoke them, passing the returned source_hub back so federated listings resolve correctly. Each invoke returns a signed receipt, with payment handled through pre-funded channels after a small free trial.8944 PyPI1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.