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.
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.
Tool Definition Quality
Average 4.2/5 across 39 of 39 tools scored. Lowest: 3.3/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.
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.
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.
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 toolsaccount_statusAccount StatusARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language for the checkout page (default es) |
Tool Definition Quality
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.
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.
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.
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.
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.
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_listingADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the agent's own listing to close (from my_listings) |
Tool Definition Quality
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.
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.
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.
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.
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.
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)ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| price_gs | No | Property price in guaraníes | |
| price_usd | No | Property price in USD (use this OR price_gs) | |
| include_mortgage_costs | No | Include bank appraisal/title/notary fixed fees (default true) |
Tool Definition Quality
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.
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.
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.
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.
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.
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 AccountARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 AgentADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Buyer name | |
| No | Buyer email (email or phone required) | ||
| phone | No | Buyer phone / WhatsApp (email or phone required) | |
| message | Yes | The inquiry message | |
| company_id | No | Company/agency to contact directly | |
| listing_id | No | Listing to inquire about (exactly one of listing_id / project_id / company_id) | |
| project_id | No | Development project to inquire about |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| images | No | Up to 25 image URLs. Optional for a draft; at least one is required to publish. | |
| location | Yes | Listing 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. | |
| description | No | ||
| land_details | No | Bedrooms/bathrooms/area for the property. | |
| listing_type | Yes | ||
| price_amount | Yes | Price (positive number) | |
| house_details | No | Bedrooms/bathrooms/area for the property. | |
| property_type | Yes | ||
| price_currency | No | Use 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_language | Yes | Language the title/description are written in | |
| apartment_details | No | Bedrooms/bathrooms/area for the property. | |
| commercial_details | No | Bedrooms/bathrooms/area for the property. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
delete_saved_searchdelete_saved_searchADestructiveInspect
Delete one of the connected user's saved searches by id (stops its alerts).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Saved search id (from my_saved_searches) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true, alerting the agent to destructive behavior. The description adds valuable context by stating that the action also stops alerts, which is beyond the annotations. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the key action. Every word serves a purpose with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter and no output schema, the description adequately covers the action and its side effect (stopping alerts). It is complete enough for an agent to understand the tool's impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema already describes the id parameter as 'Saved search id (from my_saved_searches)'. The description only mentions 'by id' without adding new semantic meaning, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete', the resource 'saved searches', and specifies it operates on the connected user's saved searches by id, also noting it stops alerts. This distinguishes it from siblings like save_search (create) and my_saved_searches (list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by saying 'by id' and referencing the parameter, but it does not explicitly state when to use this tool versus alternatives or when not to use it. There are no other delete-saved-search siblings, so the guidance is adequate but could be more explicit.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing ID to update | |
| images | No | ||
| description | No | ||
| land_details | No | Bedrooms/bathrooms/area for the property. | |
| price_amount | No | ||
| house_details | No | Bedrooms/bathrooms/area for the property. | |
| price_currency | No | ||
| apartment_details | No | Bedrooms/bathrooms/area for the property. | |
| commercial_details | No | Bedrooms/bathrooms/area for the property. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
fetchFetchARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id returned by `search`. |
Tool Definition Quality
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.
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.
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.
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.
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.
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_agentARead-onlyInspect
Get details about one real estate agent by id or slug: profile, rating, reviews, specialties, and contact info.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Agent id or slug |
Tool Definition Quality
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.
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.
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.
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.
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.
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_companyARead-onlyInspect
Get details about one agency or developer by id or slug (from search_companies): profile, rating, specialties, languages, service areas, and contact info.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Company id or slug |
Tool Definition Quality
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.
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.
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.
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.
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.
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 GuidesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ListingBRead-onlyInspect
Get full listing detail by ID or slug.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 SummaryARead-onlyInspect
Market stats: avg price, median, price/m². Scope with neighborhood for zone-level numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| country | No | ||
| listing_type | No | ||
| neighborhood | No | Neighborhood/barrio name for zone-scoped stats | |
| property_type | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ProjectBRead-onlyInspect
Get project detail with units and prices.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 DataBRead-onlyInspect
Airbnb/STR city-level data: nightly rates, occupancy.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name or slug, accents optional (e.g. "Asunción" or "asuncion") | |
| country | No | Country name or slug — disambiguates duplicate city names across countries | |
| neighborhood | No | Neighborhood name for specific area stats |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
link_emailLink Email to AccountAInspect
Attach a real email address to the signed-in user's phone-keyed TuLugar account (accounts created via WhatsApp have no usable email). Sends a confirmation link TO that email; the user must open it — the link proves they own the address. Ask for the email, confirm it back to them, then call this. Only works for accounts that do not have a real email yet; if the email belongs to another account, the tool explains the options (never merges silently).
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address the user wants to attach |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, destructiveHint=false), the description reveals that a confirmation link is sent to the email, requiring user action, and that the tool never merges accounts silently. This provides critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concisely structured: first sentence states the primary function, followed by mechanism and constraints. Every sentence adds value, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is fully complete. It covers purpose, usage, constraints, behavior, and side effects, leaving no ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the 'email' parameter with 100% coverage. The description adds no additional parameter-level semantics beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Attach a real email address to the signed-in user's phone-keyed TuLugar account'. It specifies the context (accounts created via WhatsApp lack email) and distinguishes the action from other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Only works for accounts that do not have a real email yet', and explains that if the email belongs to another account, the tool explains options without merging. It also instructs the user to ask for the email, confirm it, then call the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_locationsList LocationsARead-onlyInspect
List countries, cities, or neighborhoods with listing counts.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name for neighborhoods (alternative to parent_id) | |
| type | Yes | ||
| parent_id | No | country_id for cities, city_id for neighborhoods |
Tool Definition Quality
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.
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.
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.
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.
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.
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 CalculatorARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| principal | Yes | Loan amount | |
| term_years | Yes | Loan term in years (1–50) | |
| annual_rate | Yes | Annual interest rate, as a decimal (0.065) or percent (6.5) | |
| monthly_income | No | Optional — enables a debt-to-income ratio |
Tool Definition Quality
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.
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.
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.
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.
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.
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 InquiriesARead-onlyInspect
List buyer inquiries (leads) received on the authenticated agent's listings, newest first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max 100 (default 50) |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ListingsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max 100 (default 50) | |
| status | No | Optional status filter |
Tool Definition Quality
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.
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.
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.
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.
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.
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_searchesARead-onlyInspect
List the connected user's saved searches and their alert settings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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 GuideARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City the neighborhood belongs to (recommended) | |
| country | No | ||
| neighborhood | Yes | Neighborhood/barrio name (accents optional) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| return_to | No | Optional site path to land on (e.g. "/es/account/listings"). Defaults to the account home. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ListingADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | ID of the agent's own listing to feature (from my_listings) |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ListingADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing ID to submit for review |
Tool Definition Quality
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.
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.
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.
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.
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.
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 YieldARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City (required) | |
| country | No | ||
| neighborhood | No | Optional neighborhood scope; falls back to the city when data is thin | |
| property_type | No | Default apartment |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | The reply to send to the buyer | |
| inquiry_id | Yes | The inquiry/lead id (from my_inquiries) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
save_searchsave_searchAInspect
Save a property search for the connected user so they get alerts when new matching listings appear (e.g. "2-bed apartments for rent under $800 in Villa Morra"). Requires a connected account — if not connected, use connect_account first. Uses the same filters as search_listings. Returns the saved id.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| name | No | Optional label for the saved search | |
| bedrooms | No | ||
| currency | No | ||
| max_price | No | ||
| min_price | No | ||
| listing_type | Yes | ||
| neighborhood | No | ||
| property_type | No | ||
| alert_frequency | No | How often to be alerted about new matches (default daily) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No contradictions with annotations. Adds useful behavioral context: alerts are enabled, returns saved id. Lacks mention of limits or costs, but acceptable for a save operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences that are front-loaded with the core action and include an example. No filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description covers the essential: purpose, alerts, prerequisite, and output (saved id). Minor gaps like duplicate handling or alert pricing, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (20%), yet the description compensates somewhat by stating it uses the same filters as search_listings and provides an example. However, individual parameters like city, bedrooms, etc., are not elaborated beyond schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Save a property search for the connected user so they get alerts...' with a concrete example. It distinguishes from sibling tools like search_listings and delete_saved_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions prerequisite: 'Requires a connected account — if not connected, use connect_account first.' Also notes that it uses the same filters as search_listings, guiding when to use this vs the search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearchARead-onlyInspect
Search Tu Lugar real estate listings by free-text query (location, neighborhood, or keywords). Returns a list of matching listings with id, title, and URL. Use fetch to get a listing's full content.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search phrase, e.g. "apartment in Villa Morra" or "Encarnación" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that it returns a list with id, title, and URL, which is useful context. No additional behavioral traits (e.g., pagination, rate limits) are disclosed. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no unnecessary words. The purpose and key instruction are front-loaded. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with one parameter and no output schema, the description covers what it searches, what it returns, and a follow-up action. It lacks information about result limits or sorting, but given the tool's simplicity, it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description restates the purpose of the query parameter, adding examples (location, neighborhood, keywords). This adds marginal value beyond the schema's example. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches real estate listings by free-text query, specifying resource (listings) and operation (search). It also mentions the return format (id, title, URL). However, it does not explicitly differentiate from sibling tools like search_listings or search_agents, which slightly reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for free-text queries and advises using 'fetch' for full content, but it does not explicitly state when to prefer this tool over other search tools (e.g., search_listings for structured filters). No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agentssearch_agentsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Agent name (or part of it) | |
| city | No | ||
| limit | No | Max 20 | |
| verified | No | Only verified agents | |
| company_id | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 & DevelopersARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Company/agency name (partial ok; punctuation/accents ignored) | |
| city | No | ||
| type | No | ||
| limit | No | ||
| verified | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ListingsARead-onlyInspect
Search real estate listings. Filter by city, price, bedrooms, property type, or a specific agency/company.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name, e.g. "Asunción" | |
| sort | No | ||
| limit | No | Max 20 | |
| company | No | Agency/company NAME to list only their properties, e.g. "RE/MAX Urbana" (resolved automatically; punctuation/accents ignored). | |
| bedrooms | No | ||
| building | No | Building/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. | |
| amenities | No | Comma-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_price | No | ||
| min_price | No | ||
| listing_type | No | ||
| neighborhood | No | ||
| property_type | No | apartment, house, land, commercial |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ProjectsARead-onlyInspect
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".
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Project/building name (partial ok; punctuation/accents ignored) | |
| city | No | ||
| sort | No | ||
| limit | No | ||
| status | No | ||
| verified | No | ||
| max_price | No | ||
| min_price | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| phone | Yes | Mobile number in international format, e.g. +595981234567 | |
| language | No | Message language (default es) |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public https URL of the source image |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The 6-digit code sent to the WhatsApp number |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!