Skip to main content
Glama

Publish a property

publish_property

Use this when an authenticated user explicitly asks to publish a property on PropFácil. This creates a private draft that goes public only after the user reviews and activates it on PropFácil at the returned confirmUrl. Safe to retry with the same idempotencyKey.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "idempotencyKey": "<idempotencyKey>",
      "transactionType": "<transactionType>",
      "price": "<price>",
      "title": "<title>",
      "description": "<description>",
      "city": "<city>"
    },
    "name": "publish_property"
  }
}

Input 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

NameRequiredDescriptionDefault
idYes
urlYes
statusYes
reasonsYes
confirmUrlNoPrivate page where the user reviews and activates the draft.
idempotentReplayYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / confirmUrl
      Added value: +{
      +  "description": "Private page where the user reviews and activates the draft.",
      +  "format": "uri",
      +  "type": "string"
      +}
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "published",
      -  "rejected"
      -]New value: +[
      +  "pending_confirmation",
      +  "published",
      +  "rejected"
      +]
  2. Changed13 schema fields changed
    • addedInput schema / properties / areaSqm / description
      Added value: +"Property area in square meters."
    • addedInput schema / properties / bathrooms / description
      Added value: +"Number of bathrooms, including fractional half-bath values when applicable."
    • addedInput schema / properties / bedrooms / description
      Added value: +"Number of bedrooms; use zero only when the property has none."
    • addedInput schema / properties / city / description
      Added value: +"Mexican city or municipality where the property is located."
    • addedInput schema / properties / currency / description
      Added value: +"Currency used for the advertised price."
    • addedInput schema / properties / description / description
      Added value: +"Public, accurate description of the property."
    • addedInput schema / properties / isCommercial / description
      Added value: +"True for commercial real estate; false for residential real estate."
    • addedInput schema / properties / latitude / description
      Added value: +"WGS84 latitude for the property location."
    • addedInput schema / properties / longitude / description
      Added value: +"WGS84 longitude for the property location."
    • addedInput schema / properties / price / description
      Added value: +"Positive advertised price in the selected currency."
    • addedInput schema / properties / state / description
      Added value: +"Mexican state where the property is located, when known."
    • addedInput schema / properties / title / description
      Added value: +"Public listing title shown to prospective buyers or tenants."
    • addedInput schema / properties / transactionType / description
      Added value: +"Whether the property is offered for sale or lease."
  3. First observed

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), the description discloses the two-phase lifecycle: a private draft that only becomes public after user review and activation at the returned confirmUrl. It also declares retry safety via idempotencyKey. It stops short of 5 because it omits what happens to an abandoned draft, auth-failure behavior, or error semantics.

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

Conciseness5/5

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

Three short sentences, front-loaded with the trigger and followed by the critical lifecycle caveat and the retry guarantee. Every sentence carries distinct decision-relevant information with no filler.

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

Completeness4/5

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

For a 14-parameter mutation tool with a full schema and an output schema, the description covers the two things the schema can't: it is a draft-first publish requiring user activation, and it is idempotent. Return values are covered by the output schema, so no explanation of the response shape is needed. Missing only edge-case behavior around abandonment or failures.

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

Parameters3/5

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

Schema description coverage is 100%, so all 14 parameters are already documented in the schema and the baseline is 3. The description adds only the idempotencyKey reuse guidance and the confirmUrl return, which are useful but largely restate the schema's 'stable unique key; reuse it when retrying' and are silent on the other 13 parameters.

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

Purpose4/5

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

States a specific verb and resource ('publish a property on PropFácil') and immediately clarifies that what is created is a private draft, which corrects a likely misreading of 'publish'. No sibling tool is named, and the near-neighbor save_property_to_list / my_listings are not explicitly differentiated, so it stops short of a 5.

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?

Gives a clear trigger condition ('when an authenticated user explicitly asks to publish') that implies both the auth prerequisite and the need for explicit user intent before invoking. It does not state when NOT to use it or point at an alternative tool for adjacent needs, so no exclusions are present.

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.