us-property-parcel-real-estate-debt
Server Details
CRE loan maturities in 52 states. Parcel, ownership and sale data is Massachusetts only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Tool Definition Quality
Average 4.2/5 across 9 of 9 tools scored. Lowest: 3.4/5.
Most tools target distinct operations—address resolution, organization resolution, record retrieval, parcel search, event search, polling, and coverage. The closest pairs are search_property_events versus changes_since and debt_maturity_schedule, but their descriptions clearly separate filter-based querying, cursor-based polling, and paid loan-schedule delivery.
The get_*, resolve_*, and search_* prefixes form a predictable core, and all names use snake_case. However, changes_since, debt_maturity_schedule, dfx_coverage, and what_can_dfx_answer deviate from the verb_noun pattern, giving the set a slightly mixed feel.
Nine tools is a well-scoped size for a read-only real estate and debt data server. Each tool covers a distinct access pattern, and none feels like filler or redundant bloat.
The server covers the core workflows well: resolving addresses and organizations, retrieving full property records, searching parcels, querying dated events, polling changes, and accessing debt maturity schedules. Minor gaps exist such as no property-level filtered search and no person lookup, but these are partially or explicitly deliberate.
Available Tools
9 toolschanges_sinceWhat DFX has learned since your last callARead-onlyIdempotentInspect
Poll for what is NEW to you, ordered by when DFX learned it rather than by when it happened. Call with no cursor to get a starting position, then call again with the cursor you were given to receive everything added in between. Filter by event type, state, or a specific property or parcel id. Deterministic and indexed, so it is cheap to call often. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | Opaque cursor from a previous call. Omit on the first call to establish a position. | |
| state | No | Two letter state code | |
| event_type | No | ||
| place_dfx_id | No | Watch one property or parcel |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal read-only, idempotent, and non-destructive behavior. The description goes further by disclosing cursor mechanics, learning-time ordering, determinism, indexed performance, and cost ('Free'). It does not specify the response item shape or deletion behavior, but it adds solid context beyond the annotations.
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 tightly written sentences, each earning its place: what the tool returns, ordering semantics, cursor protocol, filters, and cost/performance. The most important information is front-loaded.
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?
The description covers purpose, ordering, cursor workflow, filtering, and cost, which is sufficient for a read-only polling tool with no required parameters. The only notable gap is the absence of any description of the result payload shape or whether deleted entities appear, especially since there is no output schema.
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?
With only 60% schema description coverage, the description compensates well by identifying that event_type, state, and place_dfx_id act as filters and by explaining the cursor's role. It does not clarify limit's behavior, but schema default of 50 plus the overall usage narrative make it reasonably inferable.
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 clearly identifies the operation ('Poll for what is NEW to you') and the resource (DFX's learned state since a cursor). The phrase 'ordered by when DFX learned it rather than by when it happened' conceptually separates it from event-time search, though it does not explicitly name a sibling tool.
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 a concrete call pattern: call with no cursor to establish a starting position, then call again with the returned cursor to get everything new in between. It also enumerates useful filters. It stops short of saying when not to use this tool or naming alternatives, but the intended usage is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
debt_maturity_schedulePAID, $1.00: confirmed commercial mortgage maturities for one stateARead-onlyIdempotentInspect
PAID: $1.00 USD per delivered schedule. Every other tool on this server is free and stays free.
Returns the LOAN rather than the event: for one US state and one forward window, up to 200 loans with maturity date, original principal, lender name, instrument type, origination date and the secured property's address, deduplicated to one row per loan and ordered by maturity. Every maturity_basis is 'confirmed': 19,881 of 19,881 loans carry a date filed with the SEC by a servicer or recorded by HUD, and none is estimated or inferred from a term length.
Call it WITHOUT authorize to receive a real quote, the exact price, what arrives, and the free alternative. Nothing is charged for a quote. Call it again with authorize and an X-DFX-Account header to be charged once and served in the same response.
FREE ALTERNATIVE: search_property_events with event_type=LOAN_MATURITY_SCHEDULED returns up to 50 maturity EVENTS for the same state with no principal, no lender and no instrument.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum loans, up to 200. The price does not change with the row count. | |
| state | Yes | Two letter state code. Required: the schedule is priced per state. | |
| authorize | No | Omit to be quoted. Supply to be charged and served in one response. | |
| within_days | No | Forward window from today. Default 548, eighteen months. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/destructive safety; the description adds the crucial billing side effect ('charged once and served in the same response'), the no-charge quote path, and the data-quality guarantee ('19,881 of 19,881 loans... none estimated'). This context is essential for an agent deciding whether to invoke a paid tool.
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?
The description is long but front-loaded: billing and quote behavior come first, then return shape, data quality, and the free alternative. A few phrases repeat the title or echo the schema, but the length is justified by the payment workflow.
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 paid tool with no output schema, the description covers the safe call sequence, what data arrives, the confirmation guarantee, row limit, ordering, and the free fallback. Nothing an agent needs to correctly invoke it is missing.
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 schema already documents all four parameters at 100% coverage, so the baseline is 3. The description still adds operational meaning beyond the schema: 'without authorize' produces a quote, 'with authorize' charges once and serves, and the limit does not affect the price. State is also tied to per-state pricing.
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 is explicit: 'Returns the LOAN rather than the event' for one US state and a forward window, listing exact fields, deduplication, and ordering. This clearly distinguishes it from the sibling search_property_events and pins the resource and behavior precisely.
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 a precise free alternative and when to use it: search_property_events with event_type=LOAN_MATURITY_SCHEDULED returns up to 50 events with less data. It also scripts the paid call flow: omit authorize for a quote, send authorize plus header to be charged and served in one response.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dfx_coverageWhat DFX actually covers, and what it does notARead-onlyIdempotentInspect
Measured coverage, served sources, object types and the known gaps stated plainly, including where geography is a single state and where nothing carries a calibrated probability. Call this before concluding that an empty result means an absent market.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, non-destructive, and idempotent. The description adds useful behavioral context beyond that: it reports known gaps, geography limitations (single state), and the absence of calibrated probabilities. No contradiction with annotations.
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 tightly packed sentences convey purpose, coverage, limitations, and a usage heuristic without fluff. The key caveats are stated plainly and the actionable instruction is placed at the end for emphasis.
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, idempotent tool, the description fully covers what the agent needs: what data is returned, what caveats exist, and when to call it. The lack of an output schema is mitigated by the explicit list of report contents.
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 has zero parameters, so the schema provides no meaningful semantics. The description compensates by indicating what the returned report covers, which is sufficient for parameter-less invocation.
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?
Title and description clearly define the resource: DFX's measured coverage, served sources, object types, and known gaps. It is differentiated from siblings like what_can_dfx_answer by focusing on coverage limitations rather than question-answering capability.
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?
The description gives an explicit call-to-action: invoke this before concluding an empty result means an absent market. It does not name alternative tools, but it provides a clear decision context, which is enough for a zero-parameter informational tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_property_recordEverything DFX holds about one property or parcelARead-onlyIdempotentInspect
Given a DFX id from resolve_address, return current state, dated events, ownership and management relationships, debt with maturity dates and maturity basis, recorded sales with consideration plus registry book and page, and the provenance of each. Sales carry BOTH the instrument total and this parcel's allocated share, because a deed repeats its full price on every parcel it covers. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| dfx_id | Yes | id returned by resolve_address |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive safety, so the description adds value with the sales semantics: it explicitly warns that sales carry BOTH the instrument total and the parcel's allocated share because a deed repeats its full price. The 'Free.' note also adds cost behavior beyond the annotations.
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?
The description is dense but every sentence earns its place: it states the input source, enumerates the return categories, explains an important data nuance, and signals cost. The structure front-loads the core behavior before the clarifying detail about sales consideration.
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, the description carries the burden of explaining return content, and it does so thoroughly by listing current state, events, ownership, management, debt, sales, and provenance. Minor omissions like pagination or not-found behavior are acceptable given the single required parameter and read-only annotations.
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 input schema already fully describes dfx_id as 'id returned by resolve_address,' and the description repeats the same constraint without adding new format, validation, or usage details. With 100% schema description coverage, the description provides no additional parameter meaning beyond the baseline.
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: given a DFX id, return a comprehensive property record. It distinguishes this tool from siblings by noting it starts from resolve_address output and returns 'everything DFX holds,' which clearly separates it from search_parcels, changes_since, and debt_maturity_schedule.
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?
The phrase 'Given a DFX id from resolve_address' provides clear usage context: this tool is called after address resolution, not before. It does not explicitly name alternatives or exclusions, but the 'everything DFX holds' framing implies when the full record is needed rather than a narrower sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_addressResolve a US street address to a property or parcelARead-onlyIdempotentInspect
Turn a street address into canonical DFX object ids, with the match basis and any ambiguity stated. Returns typed objects: a 'property' (national federal programme multifamily) and/or a 'parcel' (Massachusetts assessor and registry layer). These are separate populations that barely overlap, so an address may return one, the other, or both. Free. Start here, then call get_property_record with an id.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| limit | No | ||
| state | No | Two letter state code | |
| address | Yes | Street address including the house number, for example '100 Binney St' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, and non-destructive behavior. The description adds valuable context beyond that: addresses may return a property, a parcel, or both, because these are 'separate populations that barely overlap,' and ambiguity is explicitly stated. This meaningfully informs the agent's expectations.
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?
The description is three focused sentences with the core action front-loaded. Each sentence earns its place, though 'Free' is a minor extra that is useful but not essential. Overall it is tight and scannable.
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, the description does a decent job explaining return categories and ambiguity, and annotations cover the safety profile. However, it omits behavior for no matches, does not clarify how limit applies, and leaves city/state usage to inference. This is adequate but has 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 only 50%, and the description does not compensate for the undocumented city and limit parameters. It restates address-level intent but adds no meaning for the optional parameters or limits. The schema covers address and state, but gaps remain for city and limit.
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: turning a street address into canonical DFX object ids, and specifies the output types ('property' and/or 'parcel'). This clearly distinguishes it from siblings like resolve_organization and search_parcels without requiring schema inspection.
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?
'Start here, then call get_property_record with an id' gives explicit workflow context and positions this as the entry-point lookup. It does not explicitly state when to prefer search_parcels or when not to use this tool, but the 'start here' guidance makes the intended usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_organizationResolve a company name to a DFX entityARead-onlyIdempotentInspect
Turn an owner, manager, lender or servicer name into canonical DFX entity ids. A name is treated as a blocking key and never as an identity, so all candidates are returned rather than a guess. Free. Person lookup is deliberately not offered.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| limit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive behavior. The description adds valuable behavioral nuance: a name is treated as a blocking key, not an identity, and all candidates are returned rather than a single guess. It also mentions the service is free, which is beyond what annotations convey.
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?
The description is three short sentences with no filler. The core action is front-loaded, followed by the key matching behavior and the important person-lookup exclusion. Every sentence adds distinct value.
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, idempotent resolver with two parameters, the description is mostly complete: it explains what inputs are expected, what the output represents, and the main exclusion. The main gap is the undocumented limit parameter and how it interacts with the 'all candidates' behavior, but overall this is sufficient for an agent to call it correctly.
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%, so the description must carry the parameter-meaning burden. It explains the semantic role of 'name' well (company or role-holder names, blocking key). However, it does not clarify the 'limit' parameter at all, and the claim about returning all candidates sits awkwardly with the default limit of 10.
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 clearly states the tool's function: it turns an owner, manager, lender, or servicer name into canonical DFX entity IDs. It also distinguishes itself from person lookup by explicitly saying that is not offered, which helps disambiguate from sibling resolvers.
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?
The description gives clear context for when to use the tool: resolving organization-related role names to DFX entity IDs. It also states a when-not case (person lookup is not offered), though it does not name a specific alternative tool such as resolve_address.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_parcelsFind parcels by place, use, tenure, vintage and assessed valueARead-onlyIdempotentInspect
Search the assessor parcel layer with filters instead of one exact address. Filter by state, municipality, assessor land use code, owner-occupancy, tax-exempt status, year built and assessed value range; results carry assessed value, gross building area, assessed value per square foot, the annual tax and the year built. This is the only way to ask a QUESTION of the parcel layer: resolve_address needs an address you already have. Every answer states the true match count alongside the sample, and a search that matches nothing names the filter that emptied it rather than returning a bare empty list. At least one filter is required. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | Two letter state code | |
| land_use | No | Assessor land use code, for example 'R3' for a three family dwelling | |
| tax_exempt | No | true for the institutional universe (churches, universities, authorities), false for the taxable one | |
| built_after | No | Exclusive lower bound on year built | |
| built_before | No | Exclusive upper bound on year built | |
| max_assessed | No | Maximum assessed total, in dollars | |
| min_assessed | No | Minimum assessed total, in dollars | |
| municipality | No | City or town, for example 'Boston' | |
| owner_occupied | No | true for owner-occupied, false for investor or institutionally held. Parcels whose roll does not state it are excluded either way. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses meaningful response behavior: 'Every answer states the true match count alongside the sample,' and a no-match search 'names the filter that emptied it rather than returning a bare empty list.' It also describes the fields carried in results, adding context that annotations do not provide.
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?
The description is front-loaded with the core action and resource, then enumerates filters and result fields, and finishes with edge-case behavior and the filter requirement. Every sentence contributes distinct information with no redundant filler.
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?
Given the rich input schema, the sibling context, and the absence of an output schema, the description adequately covers what the agent needs: filterable fields, returned fields, match-count behavior, no-match naming, required filter rule, and cost. No significant operational gap remains.
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 high at 90%, so most parameter meanings already live in the schema. The description adds the crucial constraint 'At least one filter is required,' which is not evident from the schema's zero required parameters, and it lists the filterable dimensions, reinforcing the parameter semantics.
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 opens with a specific verb and resource: 'Search the assessor parcel layer with filters instead of one exact address.' It distinguishes itself from resolve_address and clarifies the unique question-answering role of the tool, so an agent can clearly identify its purpose among siblings.
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?
The description explicitly states when to use this tool: 'This is the only way to ask a QUESTION of the parcel layer: resolve_address needs an address you already have.' It also gives a concrete usage rule, 'At least one filter is required,' and notes the tool is 'Free,' disambiguating the choice context clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_property_eventsFind dated property events by type, state and time windowARead-onlyIdempotentInspect
Dated events over US properties and parcels, with provenance and a headline you can show a person. Covers LIHTC compliance period endings (the Year 15 recapitalisation trigger, 13,549 of them), HUD subsidy contract expiries (4,721), scheduled loan maturities (3,717) now national rather than Massachusetts, CMBS distress and workout reporting (188 delinquency flags across 26 states, 142 foreclosures across 22), issued building permits and demolition filings (Boston only), and recorded sales (30,055, Massachusetts only). 8,631 events fall inside the next 548 days, measured 2026-09-01. Filter by event type, state and days ahead. An unrecognised event type is REFUSED with the served vocabulary, never answered with an empty list. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| state | No | Two letter state code | |
| event_type | No | ||
| within_days | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as read-only, idempotent, and non-destructive. The description adds valuable behavioral context: unrecognized event types are refused with the served vocabulary rather than returning empty results, and the data is described as free with provenance and a user-presentable headline. This exceeds annotation coverage without contradicting it.
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?
The description is dense but purposeful: it front-loads the general purpose, then gives coverage specifics, volume statistics, filtering dimensions, and refusal behavior. The long enumeration of event types and counts earns its place because it clarifies scope, though it could be tightened without losing key information.
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?
Given the absence of an output schema, the description usefully mentions that results include provenance and a headline. It also communicates geographic limitations, date anchoring, and closed-world refusal behavior. Missing details like pagination or limit semantics are minor because the operation is read-only and the calling pattern is straightforward.
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 only 25% (only state is documented), so the description must compensate. It adds meaning for event_type by translating enum values into understandable categories and mentions state and days-ahead filtering, but it does not address the limit parameter or provide precise value formats beyond what the schema states.
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 clearly identifies the tool as a search over dated property/parcel events and enumerates the specific event domains it covers. It is more specific than the title and gives a concrete sense of scope, though it does not explicitly contrast itself with sibling search tools.
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?
The description explicitly lists what event categories are covered, along with geographic and temporal scope, and states that filtering is by event type, state, and days ahead. It does not name sibling alternatives or say when not to use it, but the coverage details provide clear context for when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
what_can_dfx_answerAsk in plain language whether DFX can helpBRead-onlyIdempotentInspect
Describe an objective in natural language and get back whether DFX can help, which tool to call, the arguments to call it with, and a free sample of the result. Says no clearly when the answer is no, and records what was asked so unmet demand shapes what DFX builds next. Call this first if you do not know what to ask for.
| Name | Required | Description | Default |
|---|---|---|---|
| objective | Yes | ||
| constraints | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the tool 'records what was asked so unmet demand shapes what DFX builds next,' implying a write/logging side effect, while annotations declare readOnlyHint=true and idempotentHint=true. Recording on each call would not be idempotent either. This is an annotation contradiction, capping the score at 1.
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?
Three sentences, all informative: core capability, no-answer/recording behavior, and usage trigger. Front-loaded with what the tool returns, with no filler or repetition.
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?
The description covers the return contract (yes/no, tool, arguments, sample) and the no-case, which matters because there is no output schema. However, the `constraints` parameter is completely undocumented, and the description does not explain how constraints influence routing or sampling. It is a usable minimal definition, but not fully complete for safe invocation.
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 define parameters. It gives meaning to `objective` via 'Describe an objective in natural language,' but never mentions `constraints`, an optional object with no property schema, leaving agents to guess what constraints can contain.
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 ('Describe an objective... and get back whether DFX can help'), names the resource (DFX's capabilities), and describes the output (which tool to call, arguments, sample result). The closing 'Call this first if you do not know what to ask for' clearly distinguishes it from the domain-specific sibling tools as the meta-routing entry point.
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?
Explicitly says 'Call this first if you do not know what to ask for,' giving a clear trigger condition. It does not, however, name sibling tools or state explicit exclusions for when a known domain tool should be used directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Real estate data for AI agents: US parcel boundaries (tiles), owners, sale history, permits, hail.
U.S. real-estate data: property records, AVM value + rent estimates, sale/rental listings.
Property Records MCP — address-level US property records (sales history,
312K+ FL commercial parcels, 6,400+ verified listings, AI visibility reports, x402 micropayments
Related MCP Servers
- AlicenseAqualityBmaintenanceQuery verified parcel ArcGIS REST endpoints for 150+ US counties across all 50 states — search by owner name, APN, or address. No API key; built on public county GIS data.41131MIT
- AlicenseNot gradedqualityCmaintenanceProvides access to comprehensive US property data, including automated valuations, tax history, comparable sales, and ownership details, enabling real estate analysis and market insights.15MIT
- AlicenseAqualityCmaintenanceTurns messy real estate data into clean, scored, AI-ready property intelligence for Columbus, OH metro, with pay-per-query via x402 micropayments. Enables natural-language search, investment scoring, and enrichment tools for MCP clients.10MIT
- AlicenseNot gradedqualityCmaintenanceAccess 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.MIT