RealtyCrawl
Server Details
Discover real estate source capabilities, inspect endpoint schemas, and retrieve source-linked observations with explicit credit budgets. Five tools: list_platforms, get_capabilities, list_endpoints, get_endpoint, call_endpoint. Requires a user-supplied RealtyCrawl API key (Authorization: Bearer) and credits for data operations. Metadata is free. Check capabilities first; research/unavailable operations are not live coverage. Public MCP client: https://github.com/realtycrawl/realtycrawl-mcp .
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
call_endpoint (execute), get_endpoint (schema), and the list_* discovery tools are mostly distinct, but list_endpoints, get_capabilities, and list_platforms all serve a discovery role and partially overlap (e.g., capabilities mentioning 'source operations' vs endpoints listing API operations). Descriptions help, but an agent could still misselect among the three discovery tools.
Every tool follows a clean verb_noun pattern (list_endpoints, get_endpoint, list_platforms, get_capabilities, call_endpoint). Only the singular/plural distinction between get_endpoint and list_endpoints deviates, and that is idiomatic and readable.
Five tools is a tight, well-scoped set for a discovery-plus-execution meta-server, with no filler. The slight redundancy among the three discovery tools means one could argue for consolidation, but the count itself is appropriate.
The surface covers the core read/search lifecycle: find platforms, inspect endpoints and capabilities, read schemas, and execute calls. Notable gaps are pagination and retry handling (explicitly absent from call_endpoint), and there are no write operations, so agents must work around those limitations.
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 the unified API operations. 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 establish readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds a genuinely useful caveat that listed contracts may not be live, but it leaves unexplained what 'unified API operations' are and gives no hint about result volume, pagination, or freshness handling.
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 no filler, and the core purpose is front-loaded before the caveat. The second sentence is terse to the point of being cryptic, but nothing 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 listing tool with an undocumented parameter and no output schema, the description should at least convey what an endpoint entry represents and whether results are filterable or paginated. It leaves the agent under-informed about both input and output shape.
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 single 'query' parameter has 0% schema description coverage and the description says nothing about it, so an agent cannot tell whether it is a substring filter, a search expression, or a prefix match. With 0% coverage the description needed to compensate and does not.
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 specific verb and resource ('List the unified API operations'), so an agent knows the basic action. It does not differentiate from siblings like get_endpoint or list_platforms, which arguably overlap on resource scope.
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 when-to-use guidance is provided: there is no mention of when to choose this over get_endpoint, call_endpoint, or list_platforms, and no prerequisites or exclusions. The second sentence is a reliability caveat, not usage guidance.
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 Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1611 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.