Saltar al contenido principal
IA y agentes

Punto de entrada para clientes de IA

Si tu cliente no ejecuta JavaScript, empieza por llms.txt o por esta misma guía en markdown. Si sí soporta herramientas, prefiere API o MCP antes que inferir desde texto libre. También funciona como developer docs visibles del sitio.

Ruta recomendada

Cómo recorrer la superficie sin perder tiempo

  1. 1. Arranque corto: abre /agentes o /llms.txt.
  2. 2. Si entiendes HTTP: usa /api/v1/status y luego proyectos, propiedades o cotización.
  3. 3. Si soportas MCP: entra por /mcp. El GET explica la superficie y el transporte real usa POST.
  4. 4. Si solo lees archivos: usa markdown por ruta y snapshots JSON/CSV.
  5. 5. Escalación humana: si necesitas validar estado documental o comercial, sube a /contacto.

Ejemplos rápidos

curl

Tres requests suficientes para descubrir capacidades, leer inventario y calcular una cotización básica.

curl https://www.terravivet.com/api/v1/status
curl 'https://www.terravivet.com/api/v1/properties?project=montesito&availableOnly=true&limit=5'
curl -X POST https://www.terravivet.com/api/v1/quote/from-property \
  -H 'content-type: application/json' \
  -d '{"propertyId":"montesito:mz-a-lote-1","purchaseType":"Financiado"}'

Empieza aquí

Empieza aquí

Puertas de entrada pensadas para clientes limitados, evaluaciones manuales y lectores que prefieren texto corto antes que una API.

API y herramientas

API y herramientas

Capas estructuradas para clientes que pueden leer especificaciones, server cards, skills y documentación breve.

Markdown y datos

Markdown y datos

Fallbacks reproducibles para clientes sin JS, crawlers limitados o procesos batch que solo consumen archivos.

Superficies

Superficies HTTP exactas

Métodos exactos para clientes que necesitan rutas canónicas, media types claros y cero ambigüedad antes de invocar.

GET /api/v1/status
application/json

Salud del servicio, capacidades y totales públicos.

/api/v1/status
GET /api/v1/projects
application/json

Portafolio público resumido por proyecto.

/api/v1/projects
GET /api/v1/properties
application/json

Inventario filtrable por proyecto, estado, tipo y texto libre.

/api/v1/properties?project=montesito&availableOnly=true&limit=5
POST /api/v1/quote/calculate
application/json

Cotización manual o por propiedad usando POST JSON.

/api/v1/quote/calculate
POST /api/v1/quote/from-property
application/json

Cotización rápida a partir de un canonicalId.

/api/v1/quote/from-property

Cotización

Cotización rápida para clientes web

Si quieres cotizar sin recorrer toda la UI, usa primero /api/v1/quote/from-property con propertyId. Si solo tienes texto libre, replica estas reglas y valida luego con API o MCP.

Input

Entradas clave

Variables mínimas para resolver entrada, plazo, descuento y cuota.
  • POST /api/v1/quote/from-property requiere propertyId y acepta purchaseType.
  • POST /api/v1/quote/calculate requiere purchaseType y además propertyId, o project + propertyLabel + propertyType + price.
  • El plazo máximo visible actual es 60 meses.
  • Compra de contado devuelve termMonths = 1; compra financiada devuelve cronograma completo.

Rates

Tasas anuales por defecto

Atajos visibles para clientes web que necesiten una base de cálculo rápida.
  • 16.77% para Montesito, Torres Zermatt
  • 24.89% para Santa Bárbara, Valle del Toachi

Formula

Fórmulas visibles en la web

La lógica publicada para que un agente replique el cálculo y luego valide con API o MCP.
  • discountAmount = price * (discountRate / 100)Descuento aplicado sobre el precio publicado.
  • netAmount = max(0, price - discountAmount)Valor neto tras descuento, nunca menor que cero.
  • financedAmount = max(0, netAmount - entryAmount)Monto financiado luego de restar la entrada.
  • fixedInstallment = financedAmount * ((monthlyRate * growthFactor) / (growthFactor - 1))Cuota fija con sistema francés cuando annualRate > 0; si no, reparto lineal.
  • interestAmount = remainingBalance * (annualRate / 100 / 360) * periodDaysLa primera cuota usa interés proporcional con base de 360 días.
  • interestAmount = remainingBalance * (annualRate / 100 / 12)Las siguientes cuotas calculan interés mensual sobre el saldo.
Sistema francés
monthlyRate = annualRate / 100 / 12
growthFactor = (1 + monthlyRate) ^ termMonths
fixedInstallment = financedAmount * ((monthlyRate * growthFactor) / (growthFactor - 1))

Payloads

Payloads para copiar y pegar

Esto ayuda a clientes que sí leen HTML pero fallan al abrir/cotizador.md o /docs/api.md.

Atajo por propertyId
{"propertyId":"montesito:mz-a-lote-1","purchaseType":"Financiado"}
Payload manual
{"project":"Montesito","propertyLabel":"Mz A Lote 1","propertyType":"Lote","price":12990,"purchaseType":"Financiado","entryAmount":3897,"annualRate":16.77,"termMonths":36}

Referencias rápidas: /cotizador.md, /docs/api.md, /docs/mcp.md.

MCP

Tools MCP remotas

Estas tools viven en /mcp y también se describen en la server card pública.

Tools

Set MCP disponible

Tools remotas anunciadas en la server card y útiles para proyectos, propiedades y cotización.
list_projectsget_projectlist_propertiesget_propertycalculate_quote

WebMCP

Tools WebMCP observables por página

Si el navegador expone navigator.modelContext, la implementación actual puede registrar estas cuatro tools públicas en /, /mapa y /cotizador.

Page tools

Home

Ruta observada: /
tv_list_propertiestv_get_propertytv_calculate_quotetv_open_quote

Page tools

Mapa

Ruta observada: /mapa
tv_list_propertiestv_get_propertytv_calculate_quotetv_open_quote

Page tools

Cotizador

Ruta observada: /cotizador
tv_list_propertiestv_get_propertytv_calculate_quotetv_open_quote

Si el host no soporta WebMCP, usa MCP remoto o la API pública. Total actual de tools WebMCP: 4.

Flujo

Flujo MCP mínimo

Tras GET /mcp, un cliente limitado puede avanzar con este orden sin depender de documentación externa.

Flow

Secuencia mínima

Tres pasos suficientes para iniciar, descubrir tools y ejecutar una llamada útil.
  1. 1. initialize para fijar versión de protocolo y capacidades del cliente.
  2. 2. tools/list para leer nombres, descripciones e input schemas.
  3. 3. tools/call con list_projects, list_properties, get_property o calculate_quote.

Ejemplos JSON-RPC

Ejemplos MCP rápidos

1. Initialize
POST /mcp
Accept: application/json, text/event-stream
Content-Type: application/json

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"example-client","version":"1.0.0"}}}
2. tools/list
POST /mcp
Accept: application/json, text/event-stream
Content-Type: application/json

{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
3. tools/call
POST /mcp
Accept: application/json, text/event-stream
Content-Type: application/json

{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"calculate_quote","arguments":{"propertyId":"montesito:mz-a-lote-1","purchaseType":"Financiado"}}}

Cobertura markdown

Proyectos en markdown

Resúmenes curados por proyecto para clientes que no pueden recorrer bien la UI.

Cierre

Orden recomendado para un agente

  1. 1. Abrir /agentes.md o /llms.txt.
  2. 2. Si soporta HTTP estructurado, usar /api/v1/status y luego proyectos, propiedades o cotización.
  3. 3. Si soporta MCP remoto, usar /docs/mcp.md y la server card.
  4. 4. Si solo lee páginas, usar markdown por proyecto, /cotizador.md y los snapshots JSON/CSV.
Esta página resume la superficie pública. Para operaciones complejas, usa API o MCP antes que scraping visual.