Skip to main content
Glama

Server Details

The real estate platform built for AI agents. Search Paraguay & LatAm listings, market data and mortgage/yield calculators, and — for agents — create, publish and promote listings and handle leads. 39 tools; reads are anonymous, writes use OAuth.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.2/5 across 39 of 39 tools scored. Lowest: 3.3/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes covering account management, listings, search, financials, etc. However, `fetch` and `get_listing` both retrieve full listing details, creating potential confusion. Also, `search` and `search_listings` overlap but are differentiated by free-text vs. filtered search.

Naming Consistency5/5

All tool names follow a consistent `verb_noun` pattern in snake_case (e.g., `create_listing`, `publish_listing`, `connect_account`). The naming is predictable and clear throughout.

Tool Count3/5

At 39 tools, the server is quite large for a real estate domain. While it covers many aspects, some tools like `fetch` and `get_listing` are redundant. The count feels excessive and could be streamlined to around 25-30 without losing functionality.

Completeness4/5

The tool set covers listing CRUD, various search types, agent/company profiles, financial calculators, inquiries, saved searches, and account management. Minor gaps exist, such as lack of bulk operations or advanced analytics, but core workflows are well-supported.

Available Tools

39 tools
account_statusAccount StatusA
Read-only
Inspect

REPORT-ONLY status check: returns whether the user's Tu Lugar account is connected and whether they can publish (needs a verified WhatsApp number). It does NOT and CANNOT start a connection. If the user asks to connect / authorize / log in / sign in, or wants to create a listing while not connected, call connect_account instead — that is the tool that opens the Approve prompt. Use account_status only when you purely want to know the current state. Never tell the user to merely visit the login page to authorize Claude — connecting is a one-time Approve, not a website login.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

Reinforces readOnlyHint from annotations by stating it does NOT and CANNOT start a connection, adding clarity about its non-mutating nature.

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

Conciseness4/5

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

Description is efficient but slightly longer due to necessary context; all sentences add value and front-load purpose.

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

Completeness5/5

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

Given no output schema and zero parameters, the description fully explains return values (connected status, verified WhatsApp) and addresses common user queries.

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

Parameters4/5

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

No parameters, so description naturally adds no param details. Schema coverage is 100%, and baseline for 0 params is 4.

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

Purpose5/5

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

The description clearly states 'REPORT-ONLY status check' and specifies it returns account connection status and publish capability, distinguishing it from sibling tools like connect_account.

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

Usage Guidelines5/5

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

Explicitly states when to use (purely want current state) and when not, and names the alternative tool connect_account for connection purposes.

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

buy_promotional_creditsBuy Promotional CreditsAInspect

Start a purchase of a promotional-credit pack for the connected account. Returns a secure Stripe checkout link that the USER opens to pay — you never handle card details, and payment happens on Stripe's page, not here. After they pay, the credits are added to their account and can be spent with promote_listing. One pack = 5 credits (each promotes one property for ~14 days).

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoLanguage for the checkout page (default es)
Behavior5/5

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

Describes the non-destructive, payment-offloading behavior in detail: returns a secure link, user pays on Stripe, credits are added after payment. Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false) by explaining the exact flow and that the agent never handles card details.

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

Conciseness5/5

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

Three concise sentences, each serving a clear purpose: stating the action, explaining the payment flow, and clarifying the pack size and usage. No fluff.

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

Completeness5/5

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

Given one optional parameter, no output schema, and sufficient annotations, the description fully covers the tool's purpose, payment process, and post-payment actions. Complete for an agent to select and invoke correctly.

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

Parameters3/5

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

The only parameter (locale) is fully described in the schema (enum, default). The description adds no additional meaning beyond what the schema provides. With 100% schema coverage, baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states verb ('Start a purchase') and resource ('promotional-credit pack'). Distinguishes from sibling 'promote_listing' by explaining that this tool acquires credits while the other spends them.

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

Usage Guidelines4/5

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

Explains that the tool returns a Stripe checkout link which the user must open to pay, and that payment happens on Stripe's page. Also notes that credits can be spent with promote_listing. Provides clear context on the flow, though lacks explicit when-not-to-use instructions.

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

close_listingclose_listingA
Destructive
Inspect

Close (retire) one of the authenticated agent's OWN listings — use when a property is sold, rented, or withdrawn from the market. It disappears from public results. This is NOT reversible (a closed listing cannot be reopened), so confirm with the user before calling. Pass the id from my_listings. Also works on SYNCED listings (synced:true): closing one stops the portal sync from reopening it.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID of the agent's own listing to close (from my_listings)
Behavior5/5

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

The description adds significant behavioral detail beyond annotations: the action is irreversible ('cannot be reopened'), the listing disappears from public results, and synced listings stop syncing. Annotations already mark destructiveHint=true, so description enriches that with concrete effects.

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

Conciseness5/5

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

Two sentences: the first defines the action and use cases, the second adds critical behavioral warnings (irreversibility and synced listing behavior). No wasted words, front-loaded with the verb.

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

Completeness4/5

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

Despite lacking an output schema, the description explains key outcomes (disappearance from results, effect on sync). It covers irreversibility and required confirmation. For a simple destructive tool with one parameter, this is near complete.

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

Parameters3/5

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

The schema already has 100% coverage for the single parameter 'id', providing its description. The tool description repeats that the id comes from my_listings, which adds minor value. Baseline score of 3 is appropriate as the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the action ('close/retire'), the target ('the authenticated agent's OWN listings'), and the use cases ('sold, rented, or withdrawn from market'). It distinguishes from sibling tools like create_listing or edit_listing by focusing on termination.

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

Usage Guidelines4/5

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

The description explicitly tells when to use (sold/rented/withdrawn) and includes a critical warning to confirm with the user due to irreversibility. It also mentions synced listings. It does not explicitly contrast with alternative tools but provides sufficient context.

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

closing_costsClosing Costs (Paraguay)A
Read-only
Inspect

Official TuLugar closing-costs breakdown for buying property in PARAGUAY: transfer tax, municipal fees, notary/registry, optional mortgage fixed costs, seller broker fee. Use when the user asks what buying costs beyond the price, or to budget cash-at-closing for a concrete price.

ParametersJSON Schema
NameRequiredDescriptionDefault
price_gsNoProperty price in guaraníes
price_usdNoProperty price in USD (use this OR price_gs)
include_mortgage_costsNoInclude bank appraisal/title/notary fixed fees (default true)
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description does not contradict this. The description adds behavioral context beyond annotations by detailing the specific cost components included (transfer tax, municipal fees, etc.) and mentioning optional mortgage costs, which is useful for understanding the tool's scope.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the core purpose and usage. It is front-loaded with the primary function and uses a comma-separated list for clarity. No wasted words.

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

Completeness4/5

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

Given no output schema, the description does not explain return values. However, it lists the cost components, giving a good idea of what will be returned. It is mostly complete for a calculation tool, but could specify whether it returns a total or breakdown.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all three parameters. The description adds no new parameter-level details, just reinforces that mortgage costs are optional. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: providing an official closing-costs breakdown for buying property in Paraguay, listing specific fees (transfer tax, municipal fees, etc.). It uses a specific verb 'breakdown' and resource 'closing-costs', and distinguishes from sibling tools by specifying the country and context.

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

Usage Guidelines4/5

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

The description explicitly says when to use the tool ('when the user asks what buying costs beyond the price, or to budget cash-at-closing for a concrete price'). It provides clear usage context but does not mention when not to use or list specific alternative tools.

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

connect_accountConnect Tu Lugar AccountA
Read-only
Inspect

THE tool to connect/authorize the user's Tu Lugar account. Call this IMMEDIATELY (without first calling account_status) whenever the user asks to "connect", "authorize", "link", "log in to", or "sign in to" Tu Lugar, or wants to create/manage a listing while not connected — do NOT wait for them to create a listing first. When not connected, it returns a clickable "Connect your Tu Lugar account" link — show that link to the user verbatim and tell them to open it (one click if they are already signed in at tulugar.com; no separate Approve step). After they open it they are connected — they can then ask you again. If already connected, it confirms who they are connected as. account_status only REPORTS status and can never start this.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Adds context beyond annotations: explains behavior when not connected (returns link) and when already connected (confirms identity). Annotations already indicate readOnlyHint and openWorldHint, so the description complements well.

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

Conciseness4/5

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

Description is front-loaded with purpose and contains necessary details without redundancy. Slightly verbose but each sentence adds value.

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

Completeness5/5

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

Despite no output schema, the description fully covers behavior in both connected and not-connected states, making it complete for an agent.

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

Parameters4/5

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

No parameters, so baseline is 4. Description adds no param info needed; schema coverage is 100%.

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

Purpose5/5

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

The description clearly states the tool is for connecting/authorizing the user's Tu Lugar account, using strong verbs and distinguishing from sibling tool account_status.

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

Usage Guidelines5/5

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

Provides explicit when-to-use instructions, including immediate invocation on specific user requests and distinguishes from account_status which only reports status.

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

create_leadContact AgentA
Destructive
Inspect

Send an inquiry on behalf of the user to the advertiser of a listing, a development project, or a real-estate company. Notifies them (email + WhatsApp) and starts a conversation. Works without an account. This sends a real message to real people — confirm the details with the user before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesBuyer name
emailNoBuyer email (email or phone required)
phoneNoBuyer phone / WhatsApp (email or phone required)
messageYesThe inquiry message
company_idNoCompany/agency to contact directly
listing_idNoListing to inquire about (exactly one of listing_id / project_id / company_id)
project_idNoDevelopment project to inquire about
Behavior4/5

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

Annotations (destructiveHint=true, openWorldHint=true, readOnlyHint=false) already indicate side effects. The description adds real-world impact: 'sends a real message to real people' and 'starts a conversation', emphasizing the need for user confirmation beyond annotation clues.

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

Conciseness5/5

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

Three concise sentences: first defines action and target, second explains notifications and account-less usage, third is a critical warning. No wasted words; every sentence earns its place.

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

Completeness4/5

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

The description covers the purpose, real-world consequences, and prerequisites (no account). Although there is no output schema, the description mentions 'starts a conversation' but does not specify return values. For a 7-parameter tool, this is adequate but not exhaustive.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond the schema's field descriptions (name, email, phone, message, etc.). It does not clarify parameter constraints like 'email or phone required' which is already in the schema.

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

Purpose5/5

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

The description clearly states the tool's action: 'Send an inquiry on behalf of the user to the advertiser of a listing, a development project, or a real-estate company.' It specifies the verb (send inquiry), resource (advertiser), and context, distinguishing it from sibling tools like reply_to_inquiry or send_whatsapp_verification.

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

Usage Guidelines4/5

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

The description provides explicit context: 'Works without an account' and a strong warning: 'This sends a real message to real people — confirm the details with the user before calling.' It implies when to use (when user wants to contact an advertiser) but does not explicitly exclude alternative tools.

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

create_listingCreate ListingAInspect

Create a real estate listing for the authenticated agent. Always creates a private DRAFT — it is NOT visible publicly. A city or neighborhood is enough to start; NEVER invent coordinates (fabricated pins are discarded). The response returns an edit-page link with a map: ask the user to open it and drop the pin on the exact property location, and wait for their confirmation before publish_listing — publishing is blocked until a human sets the pin and at least one photo. Requires a CONNECTED account with a verified WhatsApp number — if unsure, call account_status FIRST and, if not connected, share the connect steps it returns instead of attempting to create.

ParametersJSON Schema
NameRequiredDescriptionDefault
imagesNoUp to 25 image URLs. Optional for a draft; at least one is required to publish.
locationYesListing location. The country/market is inferred from the city and coordinates — use real place names so it resolves correctly (e.g. Asunción → Paraguay, Montevideo → Uruguay, Buenos Aires → Argentina, Curitiba → Brazil). For a draft, a city or neighborhood is enough; the owner sets the exact pin on the web. Provide latitude/longitude ONLY if you have precise coordinates — never guess them.
descriptionNo
land_detailsNoBedrooms/bathrooms/area for the property.
listing_typeYes
price_amountYesPrice (positive number)
house_detailsNoBedrooms/bathrooms/area for the property.
property_typeYes
price_currencyNoUse the currency local to the market (e.g. PYG in Paraguay, UYU or USD in Uruguay, ARS in Argentina, BRL in Brazil). Defaults to PYG if omitted.
source_languageYesLanguage the title/description are written in
apartment_detailsNoBedrooms/bathrooms/area for the property.
commercial_detailsNoBedrooms/bathrooms/area for the property.
Behavior5/5

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

Discloses key behaviors beyond annotations: creates a draft (not published), requires human-set pin and photo before publish, discards fabricated coordinates, and returns an edit-page link. Annotations correctly indicate a write operation (readOnlyHint=false) with no contradiction.

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

Conciseness4/5

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

The description is comprehensive but slightly verbose. It front-loads the core purpose and critical constraints. Every sentence adds value, but could be trimmed slightly for brevity while retaining completeness.

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

Completeness5/5

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

Given the tool's complexity (12 parameters, nested objects, no output schema), the description covers the draft nature, required preconditions, post-creation workflow, and common pitfalls. It effectively compensates for the missing output schema by describing the response.

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

Parameters4/5

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

With 75% schema coverage, the description adds significant context: e.g., location guidance ('never invent coordinates'), currency market rules, and that images are optional for draft but required for publish. This enhances understanding beyond schema descriptions.

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

Purpose5/5

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

The description clearly states the tool creates a real estate listing for the authenticated agent and explicitly notes it's a private draft. This distinguishes it from related tools like publish_listing and account_status.

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

Usage Guidelines5/5

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

Provides explicit when-to-use and when-not-to-use guidance: requires a connected account with verified WhatsApp, advises calling account_status first if unsure, and outlines the workflow of waiting for pin placement before publishing. Also specifies that invented coordinates are discarded.

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

edit_listingEdit ListingAInspect

Update one of the authenticated agent's listings. Pass only the fields to change. Editing images/title/description counts against the edit quota and re-triggers review. Also works on SYNCED listings (auto-imported from the agent's portal, marked synced:true in my_listings): everything is editable, and changing the price makes it stop auto-syncing — the agent's price then always wins over the portal's. Publish state of synced listings cannot be changed here (use close_listing).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID to update
imagesNo
descriptionNo
land_detailsNoBedrooms/bathrooms/area for the property.
price_amountNo
house_detailsNoBedrooms/bathrooms/area for the property.
price_currencyNo
apartment_detailsNoBedrooms/bathrooms/area for the property.
commercial_detailsNoBedrooms/bathrooms/area for the property.
Behavior5/5

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

The description adds significant behavioral context beyond annotations: editing images/title/description counts against edit quota and re-triggers review; for synced listings, changing price stops auto-syncing; publish state cannot be changed. This fully informs the agent of side effects and constraints.

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

Conciseness4/5

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

The description is a single paragraph without wasted sentences, but structuring into bullet points or sections could improve readability. It is front-loaded with the core purpose and efficiently covers key behaviors.

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

Completeness4/5

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

Given 9 parameters, 1 required, nested objects, and no output schema, the description covers important edge cases (quota, review, synced listings) and provides actionable guidance. It does not describe error handling or return values, but those are not expected without an output schema.

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

Parameters3/5

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

Schema description coverage is 56%, so baseline is 3. The description provides a general principle ('Pass only the fields to change') but does not add meaning to individual parameters beyond what the schema already states. It compensates slightly by clarifying the update semantics but lacks per-parameter elaboration.

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

Purpose5/5

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

The description starts with a specific verb-resource pair: 'Update one of the authenticated agent's listings.' It clearly distinguishes from sibling tools like create_listing (create vs update) and close_listing (publish state changes).

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

Usage Guidelines4/5

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

The description explicitly states when to use (updating listings, including synced ones) and when not to (changing publish state, recommending close_listing instead). It advises to 'Pass only the fields to change' and mentions that certain edits trigger review. It could mention other alternatives, but the guidance is clear.

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

fetchFetchA
Read-only
Inspect

Retrieve the full content of a single Tu Lugar listing by its id (from a search result). Returns title, full text description, specs, and the canonical URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing id returned by `search`.
Behavior4/5

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

Annotations already declare readOnlyHint: true. The description adds value by specifying the return content (title, full text description, specs, canonical URL), which goes beyond the annotation. No behavioral traits like side effects or permissions are needed beyond the read-only hint.

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

Conciseness5/5

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

Two sentences with no wasted words. The verb and resource are front-loaded, and each sentence serves a purpose: first defines action, second lists outputs.

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

Completeness4/5

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

Given the lack of an output schema, the description provides reasonable detail about the return value (title, description, specs, URL). It could mention error conditions or rate limits, but for a simple fetch tool this is sufficient.

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

Parameters4/5

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

Schema coverage is 100% (one parameter, fully described). The description reinforces the schema by noting the id comes from a `search` result, providing additional context that helps the agent understand the parameter's origin.

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

Purpose5/5

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

The description uses the specific verb 'Retrieve' and identifies the resource as 'full content of a single Tu Lugar listing', clearly distinguishing it from sibling tools like 'search' (which returns lists) and 'get_listing' (which may have different semantics). The source of the id ('from a `search` result') adds precision.

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

Usage Guidelines4/5

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

The description states that the id comes from a search result, implying it is meant to be used after `search`. While it doesn't explicitly exclude other sources or mention alternatives like `get_listing`, the context is clear enough for an AI agent to use correctly.

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

get_agentget_agentA
Read-only
Inspect

Get details about one real estate agent by id or slug: profile, rating, reviews, specialties, and contact info.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAgent id or slug
Behavior3/5

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

The annotations already declare readOnlyHint=true. The description adds context about the returned data (profile, rating, etc.) but does not cover error conditions, authorization needs, or format details. Behavioral transparency is adequate but not enhanced beyond annotations.

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

Conciseness5/5

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

Single sentence that is front-loaded with the action and resource, listing key information. No redundant words or filler. Every part earns its place.

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

Completeness5/5

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

For a simple retrieval tool with one parameter and no output schema, the description is complete: it names the resource, identifier, and what details are returned. The context signals indicate low complexity, so no additional detail is necessary.

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

Parameters3/5

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

The schema provides 100% coverage for the single parameter 'id' with description 'Agent id or slug'. The tool description does not add further semantic meaning beyond what the schema already states. Baseline 3 applies.

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

Purpose5/5

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

The description clearly states the action ('Get details'), the resource ('real estate agent'), and the identifier method ('by id or slug'). It also lists the categories of information returned, which distinguishes it from sibling tools like search_agents that return lists.

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

Usage Guidelines3/5

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

The description implies usage when one needs agent details by a specific identifier, but does not explicitly state when not to use it or compare to alternatives like search_agents. No exclusions or prerequisites are mentioned.

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

get_companyget_companyA
Read-only
Inspect

Get details about one agency or developer by id or slug (from search_companies): profile, rating, specialties, languages, service areas, and contact info.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCompany id or slug
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is clear. The description adds value by listing returned fields but does not disclose additional behaviors like error handling or rate limits.

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

Conciseness5/5

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

The description is a single sentence with no wasted words, front-loading the purpose and resources.

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

Completeness4/5

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

For a simple get-by-id tool, it covers the resource, input, and output fields. However, it omits error conditions or response format, but without an output schema, the listed fields provide sufficient context.

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

Parameters4/5

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

The description clarifies that 'id' can be a slug and recommends using it from search_companies, adding meaning beyond the schema's 'Company id or slug' description.

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

Purpose5/5

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

The description uses a specific verb ('Get details') and resource ('one agency or developer') and explicitly lists the fields returned, distinguishing it from siblings like get_agent or get_listing.

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

Usage Guidelines4/5

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

The phrase 'from search_companies' indicates it is used after searching, providing context. However, it does not explicitly state when not to use it or compare directly with alternatives.

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

get_guideTuLugar GuidesA
Read-only
Inspect

Curated TuLugar guides (general education, kept current): buying-process (step-by-step + documents), foreigners (rights + restrictions for non-Paraguayans), closing-costs (what fees exist), renting (contracts, deposits, garante), publishing (listing tips), airbnb (short-term rental basics). ALWAYS use this for "how does buying/renting work" / process / documents questions — the content IS in scope to share; only personalized legal advice is not.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYes
Behavior4/5

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

Annotations already declare readOnlyHint=true, indicating safe read operation. The description adds behavioral context: guides are 'curated' and 'kept current', and the content is 'in scope to share'. This goes beyond annotations by explaining information freshness and sharing permissions.

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

Conciseness5/5

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

The description is a single sentence that is both comprehensive and concise. It front-loads the purpose ('curated TuLugar guides'), lists topics with brief explanations, and ends with usage guidance. No redundancy or unnecessary words.

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

Completeness5/5

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

For a simple read-only tool with one enum parameter and no output schema, the description is fully complete. It covers all topics, usage context, and scope limitations. No additional information is needed for correct invocation.

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

Parameters5/5

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

Despite schema_description_coverage being 0%, the description enriches the schema by explaining each enum value (e.g., 'buying-process (step-by-step + documents)'). This adds significant meaning beyond the raw enum list, fully compensating for the lack of schema-level descriptions.

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

Purpose5/5

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

The description clearly states it provides curated TuLugar guides on specific topics (buying-process, foreigners, etc.) and explicitly says to use it for 'how does buying/renting work' questions. It distinguishes itself from 38 sibling tools, none of which are guide-related, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description gives explicit usage guidance: 'ALWAYS use this for 'how does buying/renting work' / process / documents questions' and clarifies what is not in scope ('only personalized legal advice is not'). This provides clear when-to-use and when-not-to-use instructions.

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

get_listingGet ListingA
Read-only
Inspect

Get full listing detail by ID or slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is clear. The description adds 'Get full listing detail' which is consistent. However, it does not disclose any additional behavioral traits such as rate limits, auth requirements, or what happens if the ID/slug is invalid. The mismatch between 'by ID or slug' in the description and the schema parameter named 'id' (with no clarification) could cause confusion, reducing transparency.

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

Conciseness5/5

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

The description is a single sentence that conveys the essential purpose and parameter information without any unnecessary words or fluff. It is front-loaded and efficient.

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

Completeness3/5

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

Given the tool's simplicity (one parameter, read-only, no output schema), the description is minimally adequate but lacks details on what 'full listing detail' specifically includes. Without an output schema, the agent may need more explicit information about the return structure to correctly consume the result. However, the description does cover the key parameter behavior.

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

Parameters4/5

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

The input schema has only one parameter 'id' with no description (0% coverage). The description adds critical semantic value by explaining that the 'id' field can accept either a listing ID or a slug. This is essential for correct invocation and goes beyond the schema's bare type definition.

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

Purpose5/5

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

The description clearly states the action ('Get') and the resource ('full listing detail'), and specifies that retrieval can be by 'ID or slug'. This is a typical read operation and distinguishes it from sibling tools like 'search_listings' (which returns multiple listings) and 'edit_listing' (which modifies).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. While it is implied that one uses it when needing detailed information on a specific listing, it does not mention prerequisites, context, or exclusions (e.g., 'Use this when you have a listing ID or slug; for summarizing listings, use search_listings').

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

get_market_summaryMarket SummaryA
Read-only
Inspect

Market stats: avg price, median, price/m². Scope with neighborhood for zone-level numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
countryNo
listing_typeNo
neighborhoodNoNeighborhood/barrio name for zone-scoped stats
property_typeNo
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds value by listing the specific stats returned (avg price, median, price/m²) and the scoping behavior. No contradictions 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.

Conciseness5/5

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

The description is extremely concise: two sentences with zero wasted words. The first sentence immediately states the key output fields, and the second provides a clear usage hint. It is front-loaded and efficient.

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

Completeness3/5

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

Given that there is no output schema and five parameters, the description provides only basic information. It lists three output fields but does not specify units, currency, or whether these are per-month for rent. It also does not explain the effect of listing_type or property_type. While it covers the core functionality, it leaves gaps for an AI agent to infer.

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

Parameters2/5

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

Schema description coverage is only 20% (only 'neighborhood' has a description). The description adds meaning to 'neighborhood' by mentioning zone-level scoping but leaves four other parameters (city, country, listing_type, property_type) without any additional context. Enums for listing_type and property_type exist in schema, but the description does not clarify their effect on the output.

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

Purpose5/5

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

The description clearly states the tool provides market statistics: average price, median, and price per square meter. It also mentions scoping with neighborhood for zone-level numbers. This distinguishes it from sibling tools like 'get_listing' or 'search_listings' which return individual property data.

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

Usage Guidelines3/5

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

The description implies usage by saying 'Scope with neighborhood for zone-level numbers,' hinting when to use the neighborhood parameter. However, it lacks explicit guidance on when to use this tool versus alternatives like 'search_listings' or 'rental_yield.' No exclusions or prerequisites are mentioned.

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

get_projectGet ProjectC
Read-only
Inspect

Get project detail with units and prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
Behavior3/5

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

Annotations already indicate readOnlyHint=true. Description adds marginal detail (includes units and prices) but omits behavioral traits like data format or response size. No contradiction.

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

Conciseness3/5

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

One short sentence is adequate but lacks structure; could be improved with additional context without becoming verbose.

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

Completeness3/5

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

Given the low complexity (1 param, no output schema), the description is barely sufficient. It does not explain what 'detail' entails or how units and prices are represented, which on its own is acceptable but not exemplary.

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

Parameters2/5

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

The single parameter 'id' has no schema description (0% coverage), and the description does not explain its format or semantics, leaving the agent to infer from the name.

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

Purpose4/5

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

The description clearly states the tool retrieves project details including units and prices, distinguishing it from sibling tools like get_listing or search_projects by specifying project-specific data.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like search_projects or get_listing. Lacks context for appropriate usage.

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

get_str_dataShort-Term Rental DataB
Read-only
Inspect

Airbnb/STR city-level data: nightly rates, occupancy.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity name or slug, accents optional (e.g. "Asunción" or "asuncion")
countryNoCountry name or slug — disambiguates duplicate city names across countries
neighborhoodNoNeighborhood name for specific area stats
Behavior3/5

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

Annotations already declare readOnlyHint=true; the description adds 'city-level data' but does not disclose other traits like data freshness or return format.

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

Conciseness4/5

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

The description is a single, focused sentence with no wasted words, but it is extremely terse and could be expanded slightly.

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

Completeness3/5

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

Given no output schema, the description fails to explain the return value structure beyond 'nightly rates, occupancy', leaving a gap for a data retrieval tool.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all three parameters; the description adds no additional meaning beyond what is already in the schema.

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

Purpose5/5

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

The description clearly states the verb 'get', the resource 'Airbnb/STR city-level data', and the specific data fields 'nightly rates, occupancy', distinguishing it from sibling tools like get_listing or get_market_summary.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions.

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

list_locationsList LocationsB
Read-only
Inspect

List countries, cities, or neighborhoods with listing counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity name for neighborhoods (alternative to parent_id)
typeYes
parent_idNocountry_id for cities, city_id for neighborhoods
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description does not need to repeat safety. The description adds the behavioral detail of returning listing counts, which is useful. However, it does not disclose any limits, pagination, or hierarchical relationships beyond what schema shows.

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

Conciseness5/5

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

Single sentence, minimal waste. Every word adds value by specifying the three location types and the inclusion of listing counts.

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

Completeness3/5

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

For a simple listing tool with readOnlyHint annotation, the description is adequate but does not explain the return format (e.g., array of objects). Given no output schema, more detail on the structure of returned locations would improve completeness.

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

Parameters3/5

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

Schema coverage is 67% with descriptions for two of three parameters. The description adds no parameter-specific meaning beyond 'listing counts' which is output, not input. Baseline 3 is appropriate given schema coverage, but no extra value.

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

Purpose4/5

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

The description clearly states the action (list) and resource (countries, cities, neighborhoods) and mentions listing counts. It distinguishes from sibling tools like search_listings by focusing on hierarchical location listing rather than full search or individual listings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like search_listings, get_listing, or neighborhood_guide. The description does not mention prerequisites, context, or exclusions.

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

mortgage_calculatorMortgage CalculatorA
Read-only
Inspect

Estimate a monthly mortgage payment and total interest for a buyer. Currency-agnostic. Optionally pass monthly_income for a debt-to-income ratio. This is an informational arithmetic estimate only — not financial advice, a loan offer, or a rate quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
principalYesLoan amount
term_yearsYesLoan term in years (1–50)
annual_rateYesAnnual interest rate, as a decimal (0.065) or percent (6.5)
monthly_incomeNoOptional — enables a debt-to-income ratio
Behavior4/5

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

Annotated as readOnlyHint=true, and the description adds behavioral context: it is an arithmetic estimate only, not a loan offer or rate quote. This clarifies the tool's limitations beyond the annotation, earning a score above baseline.

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

Conciseness5/5

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

Two concise sentences with no wasted words. The core function and key qualifiers (currency-agnostic, optional DTI, non-advice disclaimer) are front-loaded. Every sentence is necessary and informative.

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

Completeness4/5

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

For a 4-parameter tool with no output schema, the description adequately conveys inputs and the nature of outputs (monthly payment, total interest, DTI). It could explicitly list return fields but is still complete enough given the straightforward calculation.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds that monthly_income enables debt-to-income ratio and that annual_rate accepts decimal or percent, but the schema already includes these details. Overall, description reinforces but adds only modest value.

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

Purpose5/5

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

The description clearly states the tool estimates monthly mortgage payment and total interest, and optionally computes debt-to-income ratio. It uses specific verb phrases and distinguishes itself from siblings, none of which are mortgage calculators.

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

Usage Guidelines4/5

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

The description provides clear context: it is currency-agnostic, informational, and not financial advice. It implies when to use (for estimates) but does not explicitly list when not to use or compare to sibling tools, though siblings are largely unrelated.

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

my_inquiriesMy InquiriesA
Read-only
Inspect

List buyer inquiries (leads) received on the authenticated agent's listings, newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax 100 (default 50)
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is known. The description adds the ordering behavior (newest first), which is useful. No additional behavioral details like pagination or field descriptions are provided, but the description is adequate given 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.

Conciseness5/5

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

The description is a single sentence with 13 words, front-loaded with verb and resource. No unnecessary words.

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

Completeness4/5

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

For a simple list tool with one optional parameter and no output schema, the description covers purpose, scope, and ordering. It does not explicitly state the return format, but the context signals indicate low complexity, so the description is fairly complete.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'limit', so baseline is 3. The description does not add extra meaning beyond the schema, but the context of 'newest first' implies ordering is not parameterized.

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

Purpose5/5

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

The description clearly states the tool lists buyer inquiries (leads) for the authenticated agent's listings, newest first. The verb 'list' and resource 'buyer inquiries' are specific, and the scope distinguishes it from sibling tools like create_lead or reply_to_inquiry.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool (to see inquiries on own listings). However, it does not explicitly state when not to use or mention alternative tools, but the sibling list provides enough differentiation.

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

my_listingsMy ListingsA
Read-only
Inspect

List the authenticated agent's own listings across all statuses (draft, pending review, active, closed), so they can see what is live and what is awaiting moderation. Includes SYNCED listings (auto-imported from the agent's portal and kept up to date automatically) — those carry synced:true plus a sync block with the source platform, source URL and last check time. Synced listings can be edited, promoted and closed like any other.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax 100 (default 50)
statusNoOptional status filter
Behavior4/5

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

The description discloses that synced listings carry specific fields (synced, sync block) and notes their editability, adding value beyond the readOnlyHint annotation. No contradictions; the readOnlyHint is consistent with a list operation.

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

Conciseness5/5

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

Three sentences, front-loaded with main purpose, no wasted words. The additional detail about synced listings is relevant and efficiently integrated.

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

Completeness4/5

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

For a simple list tool, the description covers return value hints (synced fields) and context. No output schema, but the description suffices. Slight room for more on pagination or sorting.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters (limit, status). The description mentions statuses in the text but does not add substantial new meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description uses specific verb 'list' and resource 'authenticated agent's own listings', clearly distinguishing from sibling tools like 'search_listings' and 'get_listing'. It also states the benefit: seeing what is live and awaiting moderation.

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

Usage Guidelines4/5

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

The description implies usage context (checking own listings) and differentiates from search tools by focusing on 'own listings'. It does not explicitly state when not to use or list alternatives, but the sibling context provides differentiation.

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

my_saved_searchesmy_saved_searchesA
Read-only
Inspect

List the connected user's saved searches and their alert settings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The description adds that alert settings are included, which goes beyond the read-only annotation. It does not detail pagination or other behaviors, but the tool is simple with no parameters.

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

Conciseness5/5

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

Single sentence, no wasted words, directly conveys purpose and scope.

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

Completeness5/5

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

For a zero-parameter read tool, the description fully informs the agent of what to expect, including the inclusion of alert settings.

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

Parameters4/5

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

With no parameters and 100% schema coverage, the description adds value by naming the returned data (saved searches and alert settings), exceeding the baseline.

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

Purpose5/5

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

The description clearly states the action (List) and the resource (connected user's saved searches and their alert settings), distinguishing it from sibling tools like save_search and delete_saved_search.

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

Usage Guidelines4/5

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

The description implies when to use (to view the current user's saved searches) but does not explicitly exclude alternatives or provide when-not-to-use guidance.

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

neighborhood_guideNeighborhood GuideA
Read-only
Inspect

What a neighborhood/zone is actually like, grounded in live data: sale + rent prices, listing counts, Airbnb occupancy when available, plus curated local context. ALWAYS use this for "¿cómo es ?" / "is X a good area?" questions instead of answering from memory.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity the neighborhood belongs to (recommended)
countryNo
neighborhoodYesNeighborhood/barrio name (accents optional)
Behavior4/5

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

Annotations already indicate readOnlyHint=true. Description adds that data is 'grounded in live data' and includes 'curated local context', which is consistent and informative. No contradictory or missing behavioral info.

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

Conciseness5/5

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

Two sentences with zero wasted words. First sentence states purpose and data sources. Second sentence gives precise usage guideline. Front-loaded with essential info.

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

Completeness5/5

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

Given no output schema, the description adequately explains what the tool returns (prices, listings, occupancy, context). It is complete for an agent to understand when and how to use it.

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

Parameters3/5

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

Schema coverage is 67% (country lacks description). Description notes accents are optional for neighborhood, adding value beyond schema. However, it does not explain city or country parameters further, leaving a gap for the undocumented country parameter.

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

Purpose5/5

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

Description clearly states the tool provides data on what a neighborhood is like, with specific data types (sale/rent prices, listings, Airbnb, local context). It distinguishes from sibling tools by explicitly stating its use for neighborhood evaluation questions.

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

Usage Guidelines5/5

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

Explicitly instructs 'ALWAYS use this for ... instead of answering from memory', giving clear scenarios and alternatives. Provides a definitive decision rule for the agent.

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

open_web_sessionOpen Signed-in Web SessionAInspect

Give the signed-in user a ONE-TAP link that opens tulugar.com already logged in to their account — no code, no password. Use when a WhatsApp user needs the website: upload photos, finish a listing in the wizard, manage their account. The link is single-use and expires in 10 minutes; share it verbatim. Only works for accounts with a verified WhatsApp number.

ParametersJSON Schema
NameRequiredDescriptionDefault
return_toNoOptional site path to land on (e.g. "/es/account/listings"). Defaults to the account home.
Behavior4/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false; description adds that link is one-tap, no code/password, single-use, and expires in 10 minutes. No contradiction.

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

Conciseness5/5

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

Two sentences: first states the action, second provides usage context and constraints. Every sentence is necessary and front-loaded.

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

Completeness4/5

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

No output schema, but description doesn't explicitly state the return value (the link). However, the tool is simple and the parameter behavior is fully covered. Minor gap.

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

Parameters3/5

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

Schema coverage is 100% and already fully describes the 'return_to' parameter, including default. Description adds no additional meaning beyond what the schema provides.

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

Purpose5/5

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

The description uses a specific verb ('give') and resource ('one-tap link that opens tulugar.com already logged in'), clearly distinguishing this tool from siblings like 'share_listing_whatsapp' or 'search'.

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

Usage Guidelines5/5

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

Explicitly states when to use ('when a WhatsApp user needs the website') and provides conditions (verified number, single-use, 10-minute expiry). No sibling does the same.

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

promote_listingPromote ListingA
Destructive
Inspect

Promote (feature) one of the authenticated agent's OWN listings by spending ONE promotional credit. A featured listing is highlighted and ranked ahead of regular results for ~14 days (extends the window if already featured). This SPENDS a paid credit, so confirm with the user before calling. If the account has no credits, this returns a message telling the user to buy some — use buy_promotional_credits for that. Pass listing_id from my_listings. Synced listings (synced:true) are promotable too.

ParametersJSON Schema
NameRequiredDescriptionDefault
listing_idYesID of the agent's own listing to feature (from my_listings)
Behavior4/5

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

Annotations already indicate destructiveHint=true, but the description adds that a paid credit is spent, extends window if already featured, and returns a message when no credits. No contradictions.

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

Conciseness5/5

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

Five well-organized sentences with no redundancy: action, effect, spending warning, credit handling, and source. Front-loaded with essential info.

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

Completeness5/5

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

Covers all necessary context: action, duration, cost, user confirmation, alternative tool, listing source. No gaps given simple input schema and no output schema.

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

Parameters4/5

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

Only one parameter listing_id with full schema coverage (100%). Description adds valuable instruction to pass listing_id from my_listings, exceeding baseline 3.

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

Purpose5/5

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

Clearly states the tool promotes/features an OWN listing, spends a promotional credit, and highlights it ahead of regular results for ~14 days. Distinguishes from siblings like buy_promotional_credits and my_listings.

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

Usage Guidelines5/5

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

Explicitly instructs to confirm with user before calling because it spends a credit, names the alternative buy_promotional_credits when no credits, and specifies listing_id source as my_listings.

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

publish_listingPublish ListingA
Destructive
Inspect

Submit a draft listing for moderation review, making it eligible to go public once approved. This is an irreversible submission — confirm with the user before calling.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesListing ID to submit for review
Behavior5/5

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

Adds beyond annotations: explicitly states irreversibility and requires user confirmation. Complements destructiveHint=true annotation.

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

Conciseness5/5

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

Two sentences, purpose first then caution. No unnecessary words, perfectly front-loaded.

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

Completeness5/5

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

Given single required parameter, no output schema, and annotations covering destructiveness, description provides all needed context for an agent to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100% and single parameter is well-described in schema. Description adds no extra semantic detail for the parameter, meeting baseline.

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

Purpose5/5

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

Description clearly states the tool submits a draft listing for moderation review, distinguishing it from create/edit/close/promote listing tools. Verb 'submit' and resource 'draft listing' are specific.

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

Usage Guidelines4/5

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

Provides guidance to confirm with user due to irreversibility, but lacks explicit comparison to sibling tools. Context is clear enough for correct use.

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

rental_yieldRental YieldA
Read-only
Inspect

Gross rental yield for a zone, computed from live medians (sale vs long-term rent, plus Airbnb when available). Zone-level market reference ONLY — never a valuation of a specific property. Use for "¿conviene invertir?" / rentabilidad / yield questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity (required)
countryNo
neighborhoodNoOptional neighborhood scope; falls back to the city when data is thin
property_typeNoDefault apartment
Behavior4/5

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

Annotations already indicate readOnlyHint=true. Description adds context that it computes from live medians and is zone-level only, reinforcing safety.

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

Conciseness5/5

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

Two concise sentences, front-loaded with purpose and usage, no fluff.

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

Completeness4/5

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

No output schema, but description is sufficient for a simple read-only yield tool. Could mention return format, but not critical.

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

Parameters4/5

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

Schema coverage is 75%; description adds helpful fallback behavior for neighborhood and default for property_type, which goes beyond schema descriptions.

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

Purpose5/5

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

Description clearly states the tool computes gross rental yield from live medians, and explicitly says it's a zone-level market reference, not a property valuation. This distinguishes it from any other sibling tools.

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

Usage Guidelines4/5

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

Description tells when to use (yield questions) and explicitly when not to use (not for property valuation). However, it does not mention specific sibling alternatives.

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

reply_to_inquiryreply_to_inquiryAInspect

Reply to a buyer inquiry (lead) on one of the agent's listings. Compose a helpful, professional reply as message, and this returns a one-tap WhatsApp link (wa.me) to the buyer with your message pre-filled — share that link with the agent to tap and send. Pass inquiry_id from my_inquiries. If the buyer left only an email, it returns the email to reply to instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe reply to send to the buyer
inquiry_idYesThe inquiry/lead id (from my_inquiries)
Behavior4/5

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

Annotations indicate a write operation (readOnlyHint=false) and possible side effects (openWorldHint=true). Description adds value by explaining the output format (WhatsApp link or email) and the pre-filled message behavior, which annotations don't cover.

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

Conciseness5/5

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

Two sentences that are front-loaded with the core purpose, followed by usage specifics. No redundant information; every sentence earns its place.

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

Completeness5/5

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

Given the tool's low complexity (2 parameters, simple output), the description covers input sourcing, output format, and the exception case for email. No output schema needed as return values are clearly described.

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

Parameters4/5

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

Schema coverage is 100%, but description adds practical context: 'message' should be helpful and professional, and 'inquiry_id' comes from 'my_inquiries'. Also explains how 'message' gets pre-filled in the WhatsApp link.

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

Purpose5/5

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

The description clearly states the tool replies to buyer inquiries on listings, using specific verbs and resources. It differentiates from siblings like 'create_lead' or 'my_inquiries' by focusing on composing and returning a pre-filled WhatsApp link or email.

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

Usage Guidelines4/5

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

Provides explicit guidance on composing a professional message, sourcing 'inquiry_id' from 'my_inquiries', and handling both WhatsApp and email cases. Lacks explicit when-not-to-use instructions, but context is clear.

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

search_agentssearch_agentsA
Read-only
Inspect

Search REGISTERED real-estate agents and professionals on Tu Lugar by name, city, or company. Only covers people who created a public profile on the platform — there is no data about anyone else.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoAgent name (or part of it)
cityNo
limitNoMax 20
verifiedNoOnly verified agents
company_idNo
Behavior3/5

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

Annotations already declare readOnlyHint=true. The description adds context about the data scope (only registered agents with public profiles), but does not discuss other behavioral aspects such as pagination, ordering, or error handling.

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

Conciseness5/5

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

Only two sentences, no wasted words. First sentence conveys purpose and search criteria, second sentence clarifies scope. Ideal brevity.

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

Completeness3/5

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

Given no output schema and 5 parameters, the description covers the purpose and scope well but does not explain return format, ordering, or pagination. It is adequate for deciding when to use but lacks details for correct result handling.

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

Parameters4/5

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

The schema covers 60% of parameters with descriptions. The description supplements the missing descriptions for 'city' and 'company_id' by stating that the search can be done by these criteria, thus adding meaningful context beyond the schema.

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

Purpose5/5

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

The description clearly states 'Search REGISTERED real-estate agents and professionals', using a specific verb and resource, and distinguishes from sibling tools like 'get_agent' or 'search_companies' by specifying the scope of registered agents with public profiles.

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

Usage Guidelines4/5

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

The description clearly indicates when to use this tool: when looking for agents with public profiles on Tu Lugar. It also explicitly states what is not covered (people without public profiles). However, it does not explicitly compare to other search tools like 'search_companies' or provide when-not alternatives.

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

search_companiesSearch Agencies & DevelopersA
Read-only
Inspect

Search agencies and developers BY NAME (or city/type). Use q with the company/agency name — e.g. q="RE/MAX Urbana" — punctuation and accents are ignored. This is how you answer "properties by " (find the company here, then search_listings with company set to its name; for a DEVELOPER also check search_projects with company set — developer inventory is usually projects/units, not listings).

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoCompany/agency name (partial ok; punctuation/accents ignored)
cityNo
typeNo
limitNo
verifiedNo
Behavior5/5

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

Annotations already indicate readOnlyHint=true, and the description adds useful behavioral context (e.g., punctuation/accents ignored, workflow hints) without contradiction, fully supporting safe invocation.

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

Conciseness5/5

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

The description is a single paragraph with no wasted words, includes an example and clear workflow guidance, achieving high information density and readability.

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

Completeness4/5

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

The description covers the intended usage and post-search workflow but omits the return format or result structure, which is notable given the absence of an output schema.

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

Parameters3/5

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

While the description provides a concrete example for 'q', it does not detail the other four parameters (city, type, limit, verified) beyond a vague mention, and schema coverage is only 20%, leaving significant gaps.

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

Purpose5/5

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

The description clearly states the tool searches agencies and developers by name, city, or type, and distinguishes it from siblings like search_listings and search_projects by providing a specific workflow.

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

Usage Guidelines5/5

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

The description explicitly explains when to use this tool (to find a company by name) and how to proceed with related tools (search_listings for agencies, search_projects for developers), offering clear guidance over alternatives.

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

search_listingsSearch ListingsB
Read-only
Inspect

Search real estate listings. Filter by city, price, bedrooms, property type, or a specific agency/company.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity name, e.g. "Asunción"
sortNo
limitNoMax 20
companyNoAgency/company NAME to list only their properties, e.g. "RE/MAX Urbana" (resolved automatically; punctuation/accents ignored).
bedroomsNo
buildingNoBuilding/tower NAME to list the actual units for sale/rent in it, e.g. "Petra Tower" (punctuation/accents ignored). Use this — not search_projects — when the user wants the real listings in a named building.
amenitiesNoComma-separated amenities/features the property must have, in the user's own words and language, e.g. "piscina, cochera" or "pool, gym". Common ones: pool/piscina, gym/gimnasio, garden/jardín, balcony/balcón, terrace/terraza, parking/cochera, furnished/amoblado, airConditioning/aire, security/seguridad, elevator/ascensor, bbq/parrilla/quincho, laundry/lavadero. Multiple = must have all.
max_priceNo
min_priceNo
listing_typeNo
neighborhoodNo
property_typeNoapartment, house, land, commercial
Behavior3/5

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

The annotation declares readOnlyHint=true, so the tool is read-only; the description does not contradict this but adds no additional behavioral context.

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

Conciseness4/5

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

The description is short and to the point, consisting of two sentences that convey the core function without unnecessary words.

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

Completeness2/5

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

With 12 parameters, partial schema documentation, and no output schema, the description is insufficient; it omits details on result format, pagination, or how filters combine.

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

Parameters3/5

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

Schema description coverage is 50%; the description mentions filters generically but doesn't explain all parameters. The schema itself provides some parameter descriptions, but the description adds minimal value beyond that.

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

Purpose5/5

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

The description clearly states it searches real estate listings with filters, distinguishing it from sibling tools like search_projects or search_agents.

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

Usage Guidelines2/5

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

The main description provides no guidance on when to use this tool vs alternatives; only a parameter hint mentions not using search_projects for building searches.

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

search_projectsSearch ProjectsA
Read-only
Inspect

Search development projects/buildings BY NAME (or city, or DEVELOPER). Use q with the project or building name — e.g. q="Petra Tower" — punctuation/accents ignored, and a name lookup also finds completed/sold-out buildings. This is how you answer "apartments in <building/tower name>" and "is there a project called X". For "projects by " use company with the developer's name (NOT q — project names rarely contain the developer).

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoProject/building name (partial ok; punctuation/accents ignored)
cityNo
sortNo
limitNo
statusNo
companyNoDeveloper/company name to list that developer's projects, e.g. "Pro Invest"
verifiedNo
max_priceNo
min_priceNo
Behavior4/5

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

Beyond the readOnlyHint annotation, the description discloses that punctuation/accents are ignored and that name lookups also find completed/sold-out buildings. No contradictions 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.

Conciseness4/5

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

The description is relatively concise with two sentences. It front-loads the primary purpose. Slight redundancy in the second sentence could be tightened, but overall effective.

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

Completeness4/5

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

Given no output schema, the description covers key behaviors (name search, developer search, handling of completed buildings). It omits return value details but is sufficient for a search tool.

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

Parameters3/5

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

Schema coverage is low (22%), and the description adds detailed meaning for `q` and `company` but does not explain other parameters like `city`, `sort`, `limit`, etc. More parameter context would improve usability.

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

Purpose5/5

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

The description clearly states the tool searches development projects/buildings by name, city, or developer. It uses specific verbs and resources, and distinguishes from sibling tools like search_listings.

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

Usage Guidelines4/5

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

The description explicitly tells when to use `q` for names and `company` for developers, with examples. It guides the agent on appropriate usage but could mention when not to use this tool compared to other search tools.

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

send_whatsapp_verificationsend_whatsapp_verificationAInspect

Send a WhatsApp verification code to the agent's mobile number. Publishing listings requires a verified WhatsApp number — if account_status shows can_publish=false, use this to start verification. A 6-digit code is delivered to the number over WhatsApp; then call verify_whatsapp_code with it.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneYesMobile number in international format, e.g. +595981234567
languageNoMessage language (default es)
Behavior5/5

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

Annotations already indicate this is a non-read (write) operation with possible side effects (openWorldHint=true). The description adds that a 6-digit code is delivered over WhatsApp, providing useful behavioral context. No contradictions.

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

Conciseness5/5

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

The description is three sentences, very concise, and front-loaded with the purpose. Every sentence adds value with no waste.

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

Completeness5/5

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

For a simple action tool with no output schema, the description covers the purpose, usage condition, expected delivery, and next step. It is fully complete given the context.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters (phone and language) already described in the schema. The description does not add extra meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool sends a WhatsApp verification code to the agent's mobile number. It distinguishes from sibling tools like verify_whatsapp_code by mentioning the next step.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool: 'if account_status shows can_publish=false, use this to start verification.' It also names the follow-up tool verify_whatsapp_code.

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

share_listing_whatsappShare Listing on WhatsAppA
Read-only
Inspect

Generate a ready-to-send WhatsApp message for one of the authenticated agent's OWN listings: a polished, WhatsApp-tuned caption + a one-tap wa.me link (optionally pre-addressed to a client phone) + the property's main photo to attach. Use whenever the agent wants to send, share, or forward a listing to a client (or to their WhatsApp status). Pass listing_id (from my_listings); optionally client_phone to pre-address the chat. After calling, you can personalize the message for a specific client and rebuild the wa.me link yourself (URL-encode the new text into https://wa.me/?text=...).

ParametersJSON Schema
NameRequiredDescriptionDefault
localeNoMessage language (default es)
listing_idYesID of the agent's own listing (from my_listings)
client_phoneNoOptional client phone, international format (e.g. +595981234567), to pre-address the WhatsApp chat
Behavior4/5

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

Annotations include readOnlyHint=true and description confirms generation without side effects. Adds useful behavioral context: message is ready-to-send, includes one-tap link, and photo attachment. No contradictions.

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

Conciseness4/5

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

Two well-structured sentences front-load the core purpose. The second sentence is dense but logical. Could be slightly more concise but overall efficient.

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

Completeness5/5

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

Covers all essential aspects: what it generates, required/optional parameters, usage scenario, and post-processing instructions. No missing details given no output schema.

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

Parameters5/5

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

Schema coverage is 100% but description adds meaning: listing_id is from my_listings, client_phone in international format pre-addresses chat, locale defaults to es. Explains how parameters affect behavior beyond schema.

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

Purpose5/5

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

The description clearly states the tool generates a WhatsApp message with caption, wa.me link, and photo for the agent's own listings. It distinguishes from sibling tools like send_whatsapp_verification by specifying it's for listings and requires authentication.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'whenever the agent wants to send, share, or forward a listing to a client'. Provides context that it's for OWN listings and suggests alternative personalization approach after calling.

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

upload_listing_imageUpload Listing ImageAInspect

Upload a listing image by URL. Fetches the image, optimizes it, and returns hosted Tu Lugar image URLs to pass into create_listing.images[] or edit_listing.images[]. Rejected if the image fails property-photo moderation.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic https URL of the source image
Behavior4/5

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

Annotations provide readOnlyHint=false and destructiveHint=false, but description adds that it fetches, optimizes, and applies moderation, which explains its non-read-only behavior. No contradiction.

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

Conciseness5/5

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

Two sentences: first states the action and return value, second states a rejection condition. Every sentence adds value, no fluff. Front-loaded with the primary purpose.

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

Completeness4/5

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

For a single-param tool with no output schema, the description covers purpose, integration points, and failure condition. It lacks explicit output format details but the context implies it returns URLs.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'url' parameter. Description does not add any additional semantics beyond what the schema already provides ('Public https URL of the source image'). Baseline 3 is appropriate.

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

Purpose5/5

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

Clear verb 'upload' with specific resource 'listing image'. Description explicitly distinguishes from siblings by stating the output goes to create_listing/edit_listing, which are listed as siblings. The fetch/optimize/moderation flow is well-articulated.

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

Usage Guidelines4/5

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

States the image is rejected if it fails moderation, providing a condition for excluding its use. Mentions passing URLs to specific tools (create_listing, edit_listing). However, no explicit alternative or when-not-to-use beyond moderation failure.

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

verify_whatsapp_codeverify_whatsapp_codeAInspect

Complete WhatsApp verification by submitting the 6-digit code the agent received on WhatsApp (after send_whatsapp_verification). On success the account can publish listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe 6-digit code sent to the WhatsApp number
Behavior3/5

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

Annotations already indicate it is not read-only (readOnlyHint=false) and not destructive. The description adds that success enables publishing, but does not elaborate on failure behavior or side effects. Acceptable given annotations.

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

Conciseness5/5

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

Very concise: two sentences covering purpose, prerequisite, and outcome. No superfluous words.

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

Completeness5/5

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

For a single-parameter tool with no output schema, the description fully explains what the tool does, when to use it, and what results to expect.

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

Parameters3/5

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

Schema coverage is 100% and the description's mention of '6-digit code' aligns with the schema description. No additional meaning beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool's purpose: completing WhatsApp verification by submitting a 6-digit code after 'send_whatsapp_verification'. It distinguishes from siblings by referencing that specific prerequisite step.

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

Usage Guidelines4/5

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

It explicitly states when to use this tool (after send_whatsapp_verification), providing clear context. However, it does not mention when not to use it or alternative tools, but the sibling list is small and the usage is well-defined.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources