Skip to main content
Glama

Publish a property

publish_property

Use this when an authenticated user explicitly asks to publish a property publicly on PropFácil. This creates a public listing and is safe to retry with the same idempotencyKey.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityYesMexican city or municipality where the property is located.
priceYesPositive advertised price in the selected currency.
stateNoMexican state where the property is located, when known.
titleYesPublic listing title shown to prospective buyers or tenants.
areaSqmNoProperty area in square meters.
bedroomsNoNumber of bedrooms; use zero only when the property has none.
currencyNoCurrency used for the advertised price.MXN
latitudeNoWGS84 latitude for the property location.
bathroomsNoNumber of bathrooms, including fractional half-bath values when applicable.
longitudeNoWGS84 longitude for the property location.
descriptionYesPublic, accurate description of the property.
isCommercialNoTrue for commercial real estate; false for residential real estate.
idempotencyKeyYesStable unique key for this publish request; reuse it when retrying.
transactionTypeYesWhether the property is offered for sale or lease.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
urlYes
statusYes
reasonsYes
idempotentReplayYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare it's not read-only and not destructive. The description adds valuable behavior: 'creates a public listing' and 'safe to retry with the same idempotencyKey,' clarifying idempotency semantics and public visibility. This goes beyond what the annotations provide, though it could have mentioned side effects like notifications or indexing. Satisfactory transparency.

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

Conciseness5/5

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

Two concise sentences. The first sentence explains when to use it, and the second explains key behavior and idempotency. No unnecessary words, perfectly front-loaded. Excellent conciseness.

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

Completeness4/5

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

With 14 parameters, 6 required, and an output schema present, the description doesn't need to detail return values or every parameter. It covers the essential workflow trigger (user request) and a critical behavior (idempotent retry). It could have mentioned authentication requirements or conflict handling, but it's sufficiently complete for a tool of this complexity.

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

Parameters3/5

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

The schema description coverage is 100% (all parameters have descriptions), so the baseline is 3. The description does not add parameter-specific details, but it doesn't need to, as the schema is comprehensive. No additional semantic value is provided for parameters, which aligns with the baseline.

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

Purpose5/5

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

The description clearly states the action ('publish a property publicly') and resource ('property listing on PropFácil'). It distinguishes from sibling tools by focusing on the 'publish' action and the public listing aspect, which none of the siblings do. The specific verb 'publish' and context 'when an authenticated user explicitly asks' make the purpose unambiguous.

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

Usage Guidelines4/5

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

The description gives explicit context: 'when an authenticated user explicitly asks to publish a property publicly.' It clearly states when to use the tool. However, it does not explicitly list when not to use it or mention alternative tools (e.g., for editing an existing listing). This is a minor gap, but the context is clear and actionable.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation4/5

Most tools have a distinct resource-action pair, making selection generally clear. The main ambiguity is between get_property_list and list_property_lists, both of which involve favorite lists and could be confused by an agent despite different singular/plural meanings.

Naming Consistency4/5

The majority of tools follow a snake_case action_noun pattern like search_properties, save_property_to_list, and rename_property_list. The exceptions are my_listings, which uses a possessive noun with no verb, plus get_property_contact and restore_property_results, which slightly break the otherwise consistent pattern.

Tool Count5/5

Thirteen tools is a well-scoped set for a property search, listing publication, and favorite-list management server. Each tool supports a concrete workflow or user intent, with no obvious duplicated or filler tools.

Completeness3/5

The favorite-list workflows are reasonably complete, but there are notable lifecycle gaps: property listings can be published and searched but not updated, delisted, or deleted, and there is no explicit create-list operation for naming custom lists beyond the default behavior. This creates awkward workarounds for some common user requests.