Skip to main content
Glama

Tu Lugar

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

Behavior4/5

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

Annotations provide `readOnlyHint: true`. The description reinforces this by stating it is 'REPORT-ONLY' and cannot start a connection, adding context about its non-mutating behavior and the requirement for a verified WhatsApp number.

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 concise (4 sentences) yet comprehensive, with each sentence adding critical information: purpose, behavior, usage boundaries, and explicit alternatives. No wasted 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?

Given there is no output schema, the description adequately explains what the tool returns (connection status and publishability) and mentions the prerequisite (verified WhatsApp number). The tool's purpose is fully covered.

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 has zero parameters with 100% coverage. The description does not need to explain parameters, and it adds no parameter-specific information, which is appropriate. Baseline of 4 since no parameter info is needed.

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 is a 'REPORT-ONLY status check' that returns connection and publishability status. It explicitly distinguishes from the sibling tool `connect_account`, which handles authorization.

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 provides explicit guidance: use only when wanting current state, and use `connect_account` instead when the user asks to connect/authorize/log in. It also warns against directing users to a login page.

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?

Description adds critical behavioral context beyond annotations: it returns a Stripe checkout link, the user pays externally, and credits are added post-payment. No contradiction with annotations (openWorldHint allows this).

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, no wasted words. Each sentence adds essential information: purpose, payment process, and credit usage context. Front-loaded for quick comprehension.

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 low complexity (1 param, no output schema), the description fully covers tool behavior, side effects, and integration with sibling tool 'promote_listing'. No missing 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?

Only one parameter (locale) with 100% schema description coverage. Description adds no new meaning beyond what the schema provides, so 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?

Description clearly states the verb ('Start a purchase'), resource ('promotional-credit pack'), and scope ('for the connected account'). It distinguishes the tool from sibling 'promote_listing' by explaining that credits are spent there, making 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 Guidelines4/5

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

Description explains when to use (buy credits for promoting listings) and the payment flow. It implicitly differentiates from 'promote_listing' but lacks explicit 'use this when' or exclusions, which keeps it slightly from a 5.

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.

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?

Adds value beyond annotations: 'disappears from public results' and 'NOT reversible' provide behavioral context. Annotations already have destructiveHint=true, so 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?

Three concise, informative sentences. Every sentence earns its place: purpose, usage guidance, and parameter instruction. 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?

For a single-parameter tool with no output schema and clear annotations, the description covers purpose, usage, irreversibility, and parameter source completely.

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%, and the description adds 'Pass the id from my_listings', which clarifies the source of the parameter. This adds useful context beyond the schema's 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 clearly states the verb 'close' and the resource 'listings', specifying it's for the agent's OWN listings and gives concrete use cases: sold, rented, or withdrawn. This distinguishes it from siblings like publish_listing or edit_listing.

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 (property sold, rented, or withdrawn) and warns of irreversibility, advising confirmation with the user. No mention of alternatives but the context is clear.

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 already declare readOnlyHint=true, so the description's statement about being an 'Official TuLugar closing-costs breakdown' adds authority. It also explains the inclusion of optional mortgage costs, aligning with the parameter. 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?

Two sentences with no extraneous words. Front-loads the core purpose and key details, demonstrating excellent conciseness.

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 lists the types of costs included (transfer tax, etc.), which hints at output structure. It covers parameters, usage, and geographic scope. Minor gaps: no mention of calculation method or limitations.

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 the baseline is 3. The description adds value by explaining that 'include_mortgage_costs' corresponds to 'optional mortgage fixed costs', but does not provide new meaning for the price parameters 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 it provides 'closing-costs breakdown for buying property in PARAGUAY', listing specific fees. It distinguishes itself from sibling tools by focusing on Paraguay's closing costs, with no ambiguity.

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?

Explicitly says 'Use when the user asks what buying costs beyond the price, or to budget cash-at-closing for a concrete price.' This gives clear context, though it does not mention when not to use or 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

Behavior1/5

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

The description describes a side effect (returning a link that, when opened, connects the account), which contradicts the annotation readOnlyHint: true. This is a serious inconsistency.

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 with front-loaded purpose and includes all necessary information. Minor verbosity but still 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 explains the return values (a clickable link, or confirmation of connection) and the flow well. The contradiction affects completeness but overall adequate.

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 exist, so schema coverage is 100% and no additional parameter info is needed. The description adds context about the link and confirmation behavior.

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 'connect/authorize' and the resource 'Tu Lugar account'. It distinguishes from sibling tool account_status by noting that account_status only reports 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 guidance to call immediately without first calling account_status when the user asks to connect, authorize, link, log in, sign in, or wants to manage a listing while not connected. Also specifies what to do with the returned link.

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?

Discloses that it sends real messages (email+WhatsApp) and starts a conversation, aligning with destructiveHint=true. Adds context beyond annotations about the real-world impact and need for user confirmation.

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?

Four front-loaded sentences: main action, details, account requirement, and a warning. No fluff; every sentence adds value.

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?

Covers the action well but lacks any mention of return value or success confirmation. Given no output schema and destructive nature, some feedback on outcome would help.

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. Description implies mutual exclusivity of listing_id/project_id/company_id but adds little 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?

Clearly states 'Send an inquiry' verb, specifies resources (listing, project, company), and distinguishes from sibling tools like 'reply_to_inquiry' by focusing on initiating contact. Includes notification details and account-less usage.

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 context: works without an account and warns about real messaging. However, does not explicitly compare with alternatives like 'reply_to_inquiry' or specify when to use each.

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?

The description discloses many behavioral traits: creates a private draft, requires a verified WhatsApp number, discards fabricated coordinates, returns an edit-page link, and requires human pin placement and photo before publishing. These go beyond the annotations (readOnlyHint=false, destructiveHint=false) and provide essential 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 relatively long but every sentence adds value. It is well-structured: purpose first, then constraints, then workflow, and finally prerequisites. It could be slightly more concise by combining some sentences, but overall it is efficient and 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 the tool's complexity (12 parameters, nested objects, no output schema), the description completely covers the workflow, prerequisites, parameter nuances, and post-creation steps. It even advises the agent on how to interact with the user and references necessary sibling tools, making it fully self-contained.

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?

With 75% schema description coverage, the description adds significant value beyond the schema. It explains location resolution (e.g., country inferred from city), instructs to use upload_listing_image for image URLs, and gives market-specific currency guidance. This enriches the agent's understanding of how to set parameters correctly.

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 'Create a real estate listing for the authenticated agent' and distinguishes this from siblings like edit_listing, publish_listing, and close_listing by specifying that it creates a private draft. It also notes that coordinates should not be invented, making the purpose unambiguous and specific.

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 provides explicit guidance on prerequisites (connected account with verified WhatsApp number) and recommends checking account_status if unsure. It explains when not to use this tool (e.g., for publishing) and references sibling tools like publish_listing and account_status, making usage very clear.

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.

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.
Behavior4/5

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

Discloses that editing images/title/description affects quota and review process, adding behavioral context beyond annotations. No contradiction with annotations.

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

Conciseness5/5

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

Two concise sentences. Front-loads action and constraint. No wasted words.

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?

Covers core constraints and partial update behavior, but lacks guidance on which property details object to use and the difference between them. No 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?

The description adds the partial update concept but does not explain the purpose or differentiation of the four detailed property objects (land, house, apartment, commercial). Schema coverage is 56% and descriptions are repetitive.

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 'update' and the resource 'listing' with ownership scope ('authenticated agent's listings'). It distinguishes from siblings like 'create_listing' and 'close_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?

Provides clear instruction to 'pass only the fields to change' and mentions that editing certain fields counts against quota and re-triggers review. Lacks explicit comparisons to alternative tools like close_listing.

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 provide readOnlyHint=true, and the description adds value by detailing the return content (title, description, specs, URL). It discloses the scope of data retrieved, which is useful beyond the 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?

The description is a single, well-structured sentence that front-loads the primary purpose and key details, with no wasted 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?

Despite lacking an output schema, the description fully specifies what is returned (title, description, specs, canonical URL). It is complete for a simple fetch-by-id tool with no complex behaviors.

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 input schema already covers the single parameter 'id' with a description tying it to search results. The tool description reiterates this without adding new semantics, so a baseline score of 3 is appropriate for high schema coverage.

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 retrieves full content of a single listing by id from a search result, specifying the exact fields returned (title, description, specs, URL). This distinguishes it from sibling tools like 'get_listing' by tying it specifically to search results.

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 a `search` result' gives clear context for when to use this tool, implying it follows a search operation. However, it does not explicitly state when not to use it or compare it to alternatives like 'get_listing'.

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?

Annotations already indicate readOnlyHint=true, so the description's behavioral disclosure is less critical. The description adds context by listing the returned fields, but does not cover error behavior, authentication requirements, or other side 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?

The description is a single, focused sentence with no superfluous words. It front-loads the purpose and efficiently covers the output aspects.

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 simple tool with one parameter and no output schema, the description adequately informs the user of what to expect (profile, rating, etc.). It could mention that both id and slug are accepted, but the schema already does that.

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 parameter description already states 'Agent id or slug'. The description only repeats this, adding no new semantic information 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 specifies the verb 'Get details about one real estate agent', identifies the resource as a single agent, and lists the specific aspects returned (profile, rating, reviews, specialties, contact info). It distinguishes from sibling 'search_agents' which searches for multiple agents.

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: use this when you have an agent id or slug and need full details. However, it does not explicitly exclude alternatives or mention when not to use it.

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
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description adds value by listing the specific data fields returned (profile, rating, specialties, etc.), going beyond the annotation. 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 a single, well-structured sentence that front-loads the action and resource before enumerating the returned details. No unnecessary words or repetition.

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 detail retrieval tool with no output schema, the description sufficiently covers purpose, parameter source, and return fields. It does not need to explain more given the complexity.

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 100% schema coverage, the schema describes 'id' as 'Company id or slug'. The description enhances this by clarifying that the id/slug comes from search_companies, adding usage context for how to obtain the 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?

The description clearly states the verb 'Get details' and specifies the resource as 'one agency or developer', listing the specific details returned (profile, rating, specialties, etc.). It distinguishes from sibling tools like 'get_agent' (individuals) and 'search_companies' (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 description explicitly says 'by id or slug (from search_companies)', guiding the agent to use the output of search_companies as input. It implies when to use this tool but does not provide when-not-to-use or alternatives, though the sibling context covers that.

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 declare readOnlyHint=true, matching the read nature. Description adds context that guides are curated and kept current, which is useful but not critical. 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?

Two sentences: first describes the resource and topics, second gives usage guidance. No fluff, front-loaded with key information.

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 tool with one parameter and no output schema, the description provides all needed context: what the tool does, what topics are available, and when to use it.

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 has one enum parameter (topic) with no description. Description lists all enum values with brief explanations (e.g., 'closing-costs (what fees exist)'), fully compensating for the 0% schema coverage.

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 it returns curated TuLugar guides on specific topics, with explicit examples (buying-process, foreigners, etc.). It distinguishes from siblings by noting it's for general education, not personalized legal advice.

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: 'ALWAYS use this for "how does buying/renting work" / process / documents questions'. Also clarifies what is out of scope: 'only personalized legal advice is not'.

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

get_listingGet ListingB
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 agent knows this is a safe read operation. The description adds minimal context with 'full detail', implying comprehensive data retrieval. No additional behavioral traits (e.g., speed, auth requirements, error handling) are disclosed beyond what annotations provide.

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, concise sentence that front-loads the core action and resource. Every word serves a purpose, with no unnecessary elaboration. It is efficiently structured for quick comprehension.

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 lack of an output schema, the description should clarify what 'full listing detail' includes (e.g., fields like price, description, images). It fails to do so, and the mismatch between description (slug) and schema (id only) creates an incomplete picture. Context with siblings is adequate but not thorough.

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?

With 0% schema description coverage, the description partially compensates by stating the 'id' parameter can be either an ID or a slug. This adds meaning beyond the schema's bare type definition. However, it does not specify format, validation, or acceptable values for the slug.

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 'Get' and the resource 'full listing detail'. It mentions two identifiers (ID or slug), distinguishing it from sibling tools like 'edit_listing' or 'close_listing'. However, the input schema only includes 'id' and not 'slug', causing confusion and detracting from clarity.

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 such as 'search_listings' or 'fetch'. There is no mention of use cases, prerequisites, or when to avoid it, leaving the agent to infer context from the name alone.

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
Behavior3/5

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

Annotations include readOnlyHint=true, which the description does not contradict. The description adds specific output stats but lacks details on data freshness, rate limits, or any other behavioral constraints.

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?

Extremely concise: two short phrases with no wasted words. The output statistics are front-loaded for quick understanding.

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?

The tool has 5 optional parameters and no output schema. The description omits details on input combinations, required fields, and the exact structure of the returned data, making it incomplete for confident agent invocation.

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 at 20% (only neighborhood has a description). The description mentions neighborhood for zone-level scoping but does not describe other parameters like city, country, listing_type, or property_type. It adds some context but insufficiently compensates for the low schema coverage.

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 market statistics (avg price, median, price/m²) and the tool name 'get_market_summary' aligns with the purpose. It distinguishes from listing-level tools like search 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 Guidelines3/5

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

The description implies usage by mentioning scoping with neighborhood, but does not explicitly state when to use this tool vs. alternatives like rental_yield or mortgage_calculator. No when-not or alternative guidance is provided.

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

get_projectGet ProjectB
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 declare readOnlyHint=true, so the read-only nature is clear. The description adds 'detail with units and prices' but does not disclose additional behaviors like error handling, authentication needs, or output 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?

Very concise single sentence, no wasted words. Could be slightly improved by front-loading the tool's primary action, but it is 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 one parameter and no output schema, the description minimally covers the tool's purpose. It hints at the return includes units and prices but lacks detail on querying by ID. With sibling search_projects, more context would help.

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 has 0% description coverage for the single 'id' parameter. The description only implies id is a project identifier but does not specify format, source, or any constraints 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 uses the specific verb 'Get' and resource 'project detail', and specifies it includes 'units and prices', distinguishing it from sibling tools like get_agent, get_company, get_listing, and search_projects.

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 other get_* tools. No context on prerequisites or exclusions.

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, so the description's burden is reduced. It adds 'nightly rates, occupancy' but does not disclose data recency, aggregation level, or response characteristics. With annotations covering the safety profile, a score of 3 is appropriate.

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, focused sentence with zero wasted words. It front-loads the core purpose and data type, making it easy to parse quickly.

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 no output schema and three optional parameters, the description should hint at return structure or data scope. It does not clarify whether all parameters are needed or how they combine, leaving ambiguity for effective tool invocation.

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 parameters are well-described (e.g., city, country, neighborhood). The description adds no additional semantic meaning beyond the schema, meeting the baseline expectation for a fully-documented 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 provides 'Airbnb/STR city-level data: nightly rates, occupancy' with a specific verb ('get') and resource ('str_data'). It distinguishes from siblings by focusing on aggregated short-term rental market metrics, unlike tools for individual listings or 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 description provides no guidance on when to use this tool versus alternatives like get_market_summary or rental_yield. It does not specify prerequisites or context for selection, leaving the agent to infer usage from the name alone.

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

list_locationsList LocationsA
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
Behavior4/5

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

Annotations already indicate read-only (readOnlyHint=true), and the description adds value by mentioning 'listing counts', hinting at the return content. 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?

The description is a single, front-loaded sentence with zero waste. It could be slightly more structured but remains efficient and clear.

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?

The description mentions listing counts, partially compensating for the lack of output schema. However, it omits details like pagination or result limits, leaving some gaps for a complete picture.

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 parameters and an enum for 'type'. The description does not explain parameters beyond aligning with the enum, so it adds no additional meaning.

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'), the resource ('countries, cities, or neighborhoods'), and additional context ('with listing counts'), making the purpose unmistakable and distinct from 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 Guidelines3/5

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

The description implies usage for listing hierarchical locations but does not specify when to use alternatives or provide exclusions, offering minimal guidance for tool selection.

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
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the description doesn't need to emphasize safety. It adds that the calculation is an arithmetic estimate, not a loan offer or quote, which is useful but not critical.

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, no fluff. The core purpose is front-loaded, and every sentence adds value.

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 calculator with no output schema, the description covers purpose, optional usage, and limitations (not financial advice). It could mention output format but is mostly 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 coverage is 100%, so baseline is 3. The description mentions monthly_income enables debt-to-income ratio, adding marginal value 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 states 'Estimate a monthly mortgage payment and total interest for a buyer.' It uses a specific verb and resource, clearly distinguishing it from sibling tools like closing_costs or rental_yield.

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 context: currency-agnostic, optional monthly_income for debt-to-income ratio, and a disclaimer that it's not financial advice. It lacks explicit alternatives but is clear about when to use.

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)
Behavior4/5

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

Adds ordering detail beyond readOnlyHint annotation. 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?

Single sentence, concise with 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?

Covers purpose, scope, ordering. Lacks return value details, but sufficient for a simple list 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 100% so baseline 3. Description does not add meaning beyond schema's description of limit 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 verb 'List', resource 'buyer inquiries (leads)', scope 'on authenticated agent's listings', and ordering 'newest first'. Distinct from siblings like create_lead and 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?

No explicit when-to-use vs alternatives, but context implies it's for viewing inquiries. Clear enough for 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.

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?

Beyond the readOnlyHint annotation, the description clarifies the listing scope (agent's own listings across all statuses). This adds useful behavioral context about the data returned.

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 21-word sentence that is front-loaded with the action and resource, wasting no 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 read-only listing tool with no output schema, the description covers the core purpose and status scope. It does not mention pagination or ordering, but the limit parameter is documented in the 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 coverage is 100%, and both parameters are described in the schema. The description adds no additional meaning beyond what the schema already 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 'List the authenticated agent's own listings' – a specific verb and resource. It distinguishes from sibling tools like 'get_listing' (single listing) and 'search_listings' (general search) by scoping to the agent's own listings.

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 context (see what's live and awaiting moderation), but does not explicitly state when not to use or name alternatives. No guidance on exclusions or comparisons.

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

Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's 'List' aligns. It adds no further behavioral context (e.g., no authentication details or pagination info), but with annotations covering the safety profile, this is adequate.

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?

One brief sentence of 11 words, front-loaded with the verb 'List'. No redundant information. Every word serves a 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?

Despite no output schema, the tool is simple (no parameters, low complexity). The description succinctly specifies what is returned: saved searches and alert settings. Fully informative for this tool.

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 in input schema, and schema description coverage is 100% (empty). Description does not need to add parameter information. Baseline 4 applies as no additional semantics are required.

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 saved searches and alert settings for the connected user, with specific verb 'List' and resource 'saved searches and their alert settings'. This distinguishes it from siblings like save_search (creates) and delete_saved_search (deletes).

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 use when the user wants to view their saved searches and related alert settings. No explicit exclusions or alternatives are needed since it's a straightforward list, but it could mention that it only returns the connected user's data.

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)
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is covered. Description adds 'grounded in live data', a behavioral trait, but no details on limitations, data freshness, or what happens on missing data. Adequate but minimal 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?

Two sentences, front-loaded with purpose, no wasted words. Efficient and clear.

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?

Lists key data types (prices, listings, Airbnb, local context) but lacks detail on return structure or boundary conditions (e.g., what if neighborhood not found). No output schema, so description should be more complete about what is returned.

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 covers 67% of parameters with descriptions (city and neighborhood). Description does not add any parameter-specific meaning beyond what is already in schema. Baseline 3 due to moderate coverage and 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?

Clearly states it provides data-driven neighborhood info, verb 'what a neighborhood/zone is actually like' with specific data types. However, it does not explicitly distinguish from sibling 'get_guide', which may have overlapping purpose.

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?

Explicitly instructs to use for 'cómo es <barrio>?' and 'is X a good area?' questions instead of answering from memory, providing clear context. No exclusions or alternatives mentioned, but the singular guidance is strong.

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.
Behavior5/5

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

Annotations are minimal (not read-only, not destructive). Description adds key traits: single-use, 10-minute expiry, login required, verified WhatsApp number needed, and no code/password. This goes well 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?

Three sentences covering purpose, usage, and constraints. No wasted words. Front-loaded with key action.

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 the tool's behavior and prerequisites are well-explained. Could mention the return type (a string link), but not critical for selection. Adequate for a simple 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?

The only parameter 'return_to' is fully described in the schema (100% coverage). The description does not add extra meaning beyond 'optional site path'. 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?

Description explicitly states the tool provides a one-tap link to open tulugar.com logged in, distinguishing it from other tools that don't deal with session creation. The verb 'give' and resource 'link' 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?

Clearly states when to use: for WhatsApp users needing website access for specific tasks. Implicitly excludes non-WhatsApp users or other actions. No explicit alternative mentioned, 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.

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.

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

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

Annotations indicate destructiveHint=true, and the description adds that it spends a credit, extends the featured window if already featured, and returns a message if no credits. No contradiction with annotations.

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

Conciseness5/5

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

The description is four sentences, front-loaded with the main purpose, and each sentence contributes essential information without redundancy.

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 one-parameter action with clear behavior, the description covers purpose, cost, duration, user confirmation need, and alternative path. No output schema needed.

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 100% of parameters, and the description adds the source hint 'from my_listings' for the listing_id parameter, which provides context beyond the schema 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 clearly states the verb 'promote (feature)' and the resource 'one of the authenticated agent's OWN listings', and specifies the action of spending a promotional credit. This distinguishes it from siblings like 'buy_promotional_credits'.

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 says to confirm with the user before calling because it spends a paid credit, and provides an alternative (buy_promotional_credits) if the account has no credits. This gives clear when-to-use and 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.

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
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds context about irreversibility and the need for user confirmation, as well as the approval process, which enhances transparency beyond what annotations provide.

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 first sentence states the core action and outcome, and the second adds critical guidance. Ideal front-loading.

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 one-parameter submission tool with annotations and no output schema, the description covers purpose, irreversibility, and user confirmation. Missing details like post-submission status checking are not critical for this tool's role.

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 the schema documents the single 'id' parameter adequately. The description does not add extra parameter details, but it's not necessary given the high coverage and simplicity.

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 action ('submit a draft listing for moderation review') and the outcome ('eligible to go public once approved'), with a specific verb and resource that distinguish it from sibling tools like edit_listing or close_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?

Explicitly warns that the action is irreversible and advises to confirm with the user before calling, providing clear guidance on when to use the tool. Does not explicitly mention alternatives or when not to use, but the caution is strong.

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. The description adds that it computes from live medians (sale vs rent, with Airbnb when available) and is zone-level, providing useful behavioral context 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?

Two concise sentences, front-loaded with the core function, then clarifying scope. Every sentence is purposeful.

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?

The description lacks details about the output format (e.g., percentage, single vs multiple values) and how parameters like neighborhood or property_type influence the result. Given no output schema, more completeness would be helpful.

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 75%, so the baseline is 3. The description does not add significant parameter-specific meaning beyond the schema, such as how parameters affect the yield.

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 computes gross rental yield for a zone from live medians, and explicitly distinguishes it from property valuation. This makes the purpose specific and distinct from 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?

The description indicates use for yield/rentabilidad questions, and also specifies it's never a property valuation, providing a negative guideline. However, it lacks explicit alternatives or when-not-to-use scenarios.

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?

Discloses key behaviors beyond annotations: tool does not send the message directly but returns a one-tap WhatsApp link (or email) for the agent to send. Annotations only set readOnlyHint=false and openWorldHint=true, leaving description to clarify non-destructive but stateful 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?

Three sentences efficiently convey purpose, workflow (link generation), and conditions (email fallback). Front-loaded with main action, no redundant details.

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?

Covers key aspects: what it returns (WhatsApp link or email), how to use (share with agent), and data source (my_inquiries). Lacks error conditions or permission requirements but adequate for tool of this complexity.

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% and description adds context ('Compose a helpful, professional reply', 'Pass inquiry_id from my_inquiries') but does not add new parameter semantics beyond reinforcing 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?

Clearly states the tool replies to a buyer inquiry on a listing, specifying 'reply to a buyer inquiry (lead) on one of the agent's listings'. It differentiates from sibling tools like 'send_whatsapp_verification' and 'share_listing_whatsapp' by clarifying it generates a WhatsApp link (not sending directly) and handles email fallback.

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?

Provides guidance like 'Pass inquiry_id from my_inquiries' and describes conditional behavior (email vs WhatsApp), but does not explicitly state when not to use this tool (e.g., when direct sending is preferred) or mention alternatives.

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
Behavior4/5

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

Annotations already provide readOnlyHint=true, so the description does not need to restate safety. It adds value by disclosing the limitation that only public profiles are searched. No further behavioral traits (e.g., pagination, rate limits) are disclosed, but the scope clarification is sufficient 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?

Two sentences: first states action and criteria, second sets expectation. No wasted words. Front-loaded with verb and resource. Efficient and clear.

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?

Description is adequate for a search tool with readOnlyHint, but lacks mention of response format, sorting, or pagination. With no output schema, some expectation of return values would be helpful. However, given the simplicity and annotations, it is minimally 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 60%; city and company_id lack schema descriptions. The description mentions 'by city, or company', which clarifies these parameters' purpose. This compensates for the missing schema descriptions, adding meaning 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 the tool searches for registered real-estate agents by name, city, or company, and specifies the scope (only public profiles). This distinguishes it from siblings like get_agent (single agent) and search_companies.

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 (searching for agents by criteria) and sets expectation about coverage (only registered with public profiles). It does not explicitly mention when not to use or alternatives, but the context from sibling tools provides indirect guidance.

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).

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

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

Annotations already declare readOnlyHint=true, making safety clear. The description adds that punctuation and accents are ignored in queries, which is useful behavioral detail 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?

Two efficient sentences: first states purpose and mentions parameters, second provides example and workflow. No wasted words, front-loaded with key information.

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?

For a tool with 5 parameters and no output schema, the description omits details on 'city', 'type', 'limit', and 'verified' parameters, as well as pagination or response format. The workflow hint is good but insufficient for full autonomous use.

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 description adds meaning for the 'q' parameter with example and notes on punctuation/accents, but does not explain 'city', 'type', 'limit', or 'verified'. With schema coverage at only 20%, the description should compensate more for these undocumented parameters.

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 agencies and developers by name, city, or type, and provides an example workflow. It distinguishes from sibling tools like search_agents and search_listings by explicitly stating its role in finding a company to then 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 explains when to use it (to find a company by name for subsequent listing search) and gives a concrete example. However, it does not explicitly exclude other uses or mention alternatives beyond the implicit workflow.

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

search_listingsSearch ListingsA
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?

Annotations already declare readOnlyHint=true, so the description does not need to restate that. However, it adds no further behavioral context such as authorization requirements, rate limits, or result format. The description is adequate but does not add value beyond the annotation.

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 two short sentences with no extraneous words. It is front-loaded with the main action 'Search real estate listings' followed by a concise list of filters. Could be slightly more structured (e.g., bullet points), but it is efficient and clear.

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 search tool with 12 parameters and no output schema, the description provides the core purpose and key filters but lacks details like pagination (limit parameter mentioned), sorting options, and return format. The building parameter note helps, but overall completeness is moderate.

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 description coverage is 50% (6 of 12 parameters have descriptions). The main description lists some filter types but does not cover all parameters (e.g., neighborhood, min_price, max_price). It adds some context beyond the schema (e.g., mentioning price and bedrooms), but the coverage is only partial. Baseline for 50% coverage is 3, and the description does not fully compensate.

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 real estate listings and lists specific filter options (city, price, bedrooms, property type, agency/company). This distinguishes it from sibling tools like 'search_projects' and 'search_agents', which search for different entities. The verb 'Search' and resource 'real estate listings' 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?

The description indicates when to use the tool (to search listings). It does not explicitly state when not to use it, but the 'building' parameter description provides an explicit alternative: 'Use this — not search_projects — when the user wants the real listings in a named building.' This partial guidance elevates the score, but the main description lacks exclusions.

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). 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".

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoProject/building name (partial ok; punctuation/accents ignored)
cityNo
sortNo
limitNo
statusNo
verifiedNo
max_priceNo
min_priceNo
Behavior5/5

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

Annotations give readOnlyHint=true, and description adds behavioral details (punctuation/accents ignored, finds completed/sold-out buildings). No contradictions; description complements annotations well.

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 short, front-loaded sentences covering the core purpose, use case, and a key behavioral note. Every word earns its place; no fluff.

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 search tool with 8 parameters and no output schema, the description provides enough for the primary use case (name/city search) but omits guidance on advanced filters (sort, limit, status, etc.). Adequate for simple queries but incomplete for full parameter usage.

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 13%, so description needs to compensate. It explains 'q' well (partial name, punctuation ignored) and mentions city implicitly. But 6 other parameters (sort, limit, status, verified, max_price, min_price) have no description, leaving their use undocumented.

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 resource (development projects/buildings) and the search method (by name or city). Examples like 'Petra Tower' and use cases ('apartments in <building/tower name>') make the purpose unambiguous. Distinguishes from siblings like search_listings or search_agents which have different resources.

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 use cases: answering 'apartments in <building/tower name>' and 'is there a project called X'. Implies when to use this tool over siblings (e.g., building-level vs. listing-level). However, lacks explicit exclusions or direct comparisons to sibling tools like search_listings.

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)
Behavior4/5

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

Discloses that a 6-digit code is delivered via WhatsApp. Annotations already indicate mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). 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?

Two sentences, front-loaded with purpose and context. Every sentence earns its place with no redundancy.

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 sufficiently explains what happens (code delivery) and the next action. Adequate for a simple verification initiation 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 both parameters. Description adds an example for phone and mentions default for language, but does not add significant new meaning 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?

Clearly states the tool sends a WhatsApp verification code to the agent's mobile number. Differentiates from sibling verify_whatsapp_code by specifying 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?

Explicitly tells when to use (if account_status shows can_publish=false) and what to do after (call verify_whatsapp_code). Provides clear conditions and instructions.

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 declare readOnlyHint and openWorldHint. Description clarifies it generates a message/link without sending, and explains external side effects (wa.me link, attach photo). 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?

Front-loaded with main action; two sentences cover essentials. Slightly verbose due to detailed output instructions, but 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?

No output schema provided, yet description fully explains return values (caption, link, photo) and post-call personalization. Complete for a generation tool with good annotations.

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 significant value: explains listing_id source (my_listings), client_phone format and optionality, locale default. Also describes output usage, enriching parameter understanding.

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 specifies the verb 'generate' and resource 'WhatsApp message for listing', clearly distinguishing it from sibling tools like send_whatsapp_verification. It states the exact scope: agent's own listings only.

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?

Explicitly states when to use ('whenever agent wants to send/share/forward a listing to a client') and what to pass. Lacks explicit 'when not to use' or sibling alternatives, 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.

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?

Description adds behavioral details beyond annotations: fetches the image, optimizes it, and checks property-photo moderation. Provides useful context about side effects (fetching external URL, processing).

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 cover purpose, output usage, and rejection condition. No wasted words; front-loaded with core action.

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?

Covers input, process, output usage, and failure condition. Lacks explicit return structure (e.g., format of URLs), but for a simple tool with no output schema, it is sufficiently 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 coverage is 100% with a clear description for the single 'url' parameter. Description does not add extra meaning beyond stating 'by URL', so baseline score 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?

Description clearly states it uploads an image from a URL, optimizes it, and returns hosted URLs for use in create_listing or edit_listing. This distinguishes it from sibling tools like create_listing and edit_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?

Explicitly states the tool is for uploading listing images by URL and that returned URLs should be passed to create_listing or edit_listing. Also mentions rejection on moderation failure. No explicit when-not-to-use or alternatives, 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.

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 a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds that successful verification enables publishing listings, which is useful but does not disclose failure behavior, rate limits, or other side effects. Moderate additional value.

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: first states the action and context, second states the outcome. No unnecessary words. Perfectly sized for a simple tool.

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 verification tool with one parameter and no output schema, the description covers the essential aspects: what it does, when to use it, and the success consequence. It does not mention failure modes, but this is acceptable given the tool's straightforward nature.

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 a clear description of the 'code' parameter as a 6-digit string. The description repeats this and adds context about receiving it on WhatsApp, but does not add significant new semantics 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 the verb 'complete verification' and specifies the resource 'WhatsApp verification'. It links to the preceding step (send_whatsapp_verification) and describes the outcome (account can publish listings), distinguishing it from sibling tools like send_whatsapp_verification and publish_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 description explicitly mentions 'after send_whatsapp_verification', providing clear temporal context. It does not explicitly state when not to use this tool or mention alternatives, but given the sibling list, the usage sequence is well implied.

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!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources