Skip to main content
Glama

MCP Server for Vacation Rentals

Official Model Context Protocol (MCP) server for La Palma 24 - Search and discover vacation rental properties across La Palma, Canary Islands.

MCP Registry License: MIT

About

La Palma 24 has been connecting travelers with unique vacation rentals in La Palma, Canary Islands since 2002. This MCP server enables AI assistants like Claude, ChatGPT, and others to help users discover and book the perfect accommodation through natural conversation.

Live Server: https://mcp.la-palma24.net

Related MCP server: MCP VRBO

Features

  • Real-time availability search across 70,000+ monthly listings

  • Dynamic pricing with seasonal rates and discounts

  • Location-based filtering by municipality and neighborhood

  • Multilingual support (Spanish, English, German)

  • Detailed property information with photos and amenities

  • Fast responses with optimized queries

Available Tools

buscar_disponibilidad

Search for available properties for specific dates.

{
  "fecha_llegada": "2024-06-15",
  "fecha_salida": "2024-06-22",
  "num_personas": 4,
  "municipio": "Santa Cruz de La Palma"
}

calcular_precio_estancia

Calculate total stay price including all fees and discounts.

{
  "id_casa": "property-123",
  "fecha_llegada": "2024-06-15",
  "fecha_salida": "2024-06-22",
  "num_personas": 4
}

obtener_detalles_propiedad

Get complete property details in your preferred language.

{
  "id_casa": "property-123",
  "idioma": "en"
}

listar_propiedades

Browse all properties with flexible filtering.

{
  "municipio": "Los Llanos de Aridane",
  "dormitorios": 2,
  "personas_max": 4,
  "limit": 10
}

listar_municipios

Get list of all municipalities with available properties.

listar_barrios

Get list of neighborhoods, optionally filtered by municipality.

{
  "municipio": "Santa Cruz de La Palma"
}

Quick Start

Using with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "lapalma24": {
      "url": "https://mcp.la-palma24.net"
    }
  }
}

Using with VS Code (GitHub Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "lapalma24": {
      "url": "https://mcp.la-palma24.net"
    }
  }
}

Using with ChatGPT

  1. Go to Settings → Apps

  2. Click "Create custom app"

  3. Enter MCP server URL: https://mcp.la-palma24.net

  4. Save and enable

Example Queries

Once connected, you can ask your AI assistant:

  • "Find me a 2-bedroom apartment in Santa Cruz de La Palma for next week"

  • "What's available in Los Llanos de Aridane for a family of 4 in July?"

  • "Show me properties near the beach with ocean views"

  • "Calculate the price for property X from June 15 to June 22"

  • "What are the best areas to stay in La Palma for stargazing?"

Locations Covered

La Palma 24 covers all 14 municipalities of La Palma:

  • Santa Cruz de La Palma (Capital)

  • Los Llanos de Aridane

  • Breña Alta

  • Breña Baja

  • El Paso

  • Tazacorte

  • Tijarafe

  • Puntagorda

  • Garafía

  • Barlovento

  • San Andrés y Sauces

  • Puntallana

  • Villa de Mazo

  • Fuencaliente de La Palma

Rate Limits & Security

  • Free tier: 100 requests per hour per IP

  • Authentication: None required (public read-only access)

  • HTTPS only: TLS 1.3 enforced

  • No personal data: Server does not store user queries

For higher limits or commercial integrations, contact: info@la-palma24.net

Technical Details

  • Protocol: MCP (Model Context Protocol)

  • Transport: HTTP/HTTPS

  • Format: JSON-RPC 2.0

  • Hosted: Canary Islands, Spain

  • Uptime: 99.9% SLA

License

MIT License - see LICENSE file for details.

Support

About La Palma

La Palma, the "Isla Bonita" (Beautiful Island), is one of the Canary Islands' best-kept secrets. Known for its:

  • World-class stargazing (UNESCO Starlight Reserve)

  • Volcanic landscapes and dramatic coastlines

  • Laurel forests (UNESCO World Heritage Site)

  • Black sand beaches and natural pools

  • Hiking trails through diverse microclimates


Made with ❤️ in La Palma, Canary Islands

Connecting travelers with authentic island experiences since 2002

Available Tools

6 tools
buscar_disponibilidadAInspect

Busca propiedades vacacionales disponibles en La Palma para unas fechas específicas. Permite filtrar por municipio, barrio y número de personas.

ParametersJSON Schema
NameRequiredDescriptionDefault
barrioNoFiltrar por barrio/zona (ej: Centro, San Telmo, El Charco)
municipioNoFiltrar por municipio (ej: Santa Cruz de La Palma, Los Llanos de Aridane)
fecha_salidaYesFecha de salida en formato YYYY-MM-DD (ej: 2024-06-22)
num_personasNoNúmero de huéspedes (default: 2)
fecha_llegadaYesFecha de llegada en formato YYYY-MM-DD (ej: 2024-06-15)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden; it adequately discloses that the tool checks availability and allows filtering by municipality, neighborhood, and guest count. As a read-only search operation, it doesn't require disclosure of side effects or permissions. The description adds context about the geographic scope (La Palma) and the filtering capability.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and includes only necessary details about filters. Every sentence earns its place, with no repetition or fluff.

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?

The description covers the essential behavior, targets, and filters. Although there is no output schema to reference, the description implies that the tool returns a list of available properties, which is sufficient for a search tool of this complexity. Slight gap: it doesn't specify the exact return format, but the core completeness is strong.

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

Parameters3/5

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

Schema coverage is 100%, with every parameter already having a description, format, or default. The description only names the filter parameters (municipio, barrio, num_personas) without adding additional meaning or usage details beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: searching for available vacation properties in La Palma for specific dates. It specifies the resource (properties), the action (search availability), and distinguishes it from sibling tools like listar_propiedades or calcular_precio_estancia by focusing on date-based availability and filtering.

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

Usage Guidelines4/5

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

The description implies when to use this tool—when looking for properties available on specific dates—by explicitly mentioning date requirements and available filters. It doesn't name alternatives or provide exclusions, but the context is clear enough for an agent to select it over siblings.

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

calcular_precio_estanciaAInspect

Calcula el precio total de una estancia incluyendo tarifas por temporada, descuentos aplicables, número de noches y personas.

ParametersJSON Schema
NameRequiredDescriptionDefault
id_casaYesID de la propiedad
fecha_salidaYesFecha de salida en formato YYYY-MM-DD
num_personasNoNúmero de huéspedes (default: 2)
fecha_llegadaYesFecha de llegada en formato YYYY-MM-DD

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It adds behavioral context by specifying that the calculation includes seasonal rates, discounts, nights, and persons, which goes beyond the raw input/output schema. However, it does not disclose whether the operation is read-only, what the return format looks like, or how errors are handled.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that communicates the tool's purpose and scope without any redundant words. Every phrase earns its place.

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

Completeness3/5

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

While the description covers the core purpose and calculation factors, it lacks details about return values, edge cases, or prerequisites. Since there is no output schema and no annotations, the description should provide more context about expected behavior, leaving it adequate but with clear gaps.

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

Parameters4/5

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

The schema provides 100% coverage of parameters, so the baseline is 3. The description adds value by linking dates to 'número de noches' and referencing 'personas', and by explaining that discounts and seasonal rates are factored in, enriching the semantic meaning of the inputs.

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 starts with a specific verb 'Calcula' and resource 'precio total de una estancia', clearly distinguishing it from sibling tools that list or search properties. It also lists the key factors (seasonal rates, discounts, nights, persons) that define its scope.

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

Usage Guidelines3/5

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

The description implies usage for calculating stay prices but provides no explicit when-to-use or when-not-to-use guidance. There are no alternatives mentioned or exclusions given, leaving the usage context purely implied.

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

listar_barriosAInspect

Obtiene la lista de barrios/zonas disponibles, opcionalmente filtrados por municipio. Útil para búsquedas más específicas de ubicación.

ParametersJSON Schema
NameRequiredDescriptionDefault
municipioNoFiltrar barrios por municipio (ej: Santa Cruz de La Palma)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the tool gets a list and optionally filters, which largely repeats the schema; it does not disclose output shape, ordering, pagination, behavior when no matches occur, or whether the operation is read-only.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the verb and resource, then adds the optional filter and use case. Every clause contributes meaningful information without unnecessary detail.

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 low-complexity tool with one optional parameter and no output schema, the description provides the essential details: what is returned and when it is useful. It is adequate, though it could be slightly richer by mentioning the relationship to sibling tools or the exact structure of the returned list.

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%; the input schema already documents 'municipio' with an example. The description's 'opcionalmente filtrados por municipio' adds no new semantic detail beyond the schema, so the baseline score of 3 applies.

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

Purpose5/5

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

The description starts with a specific verb and resource: 'Obtiene la lista de barrios/zonas disponibles', clearly indicating it returns location neighborhoods. It also mentions the optional 'municipio' filter, which differentiates it from sibling tools like listar_municipios and listar_propiedades.

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

Usage Guidelines3/5

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

The phrase 'Útil para búsquedas más específicas de ubicación' gives a clear use case for more specific location searches, implying when it should be used. However, it does not explicitly mention alternatives or exclusions (e.g., when to use listar_municipios instead), so guidance is only implied.

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

listar_municipiosAInspect

Obtiene la lista completa de municipios disponibles en La Palma donde hay propiedades. Útil para saber qué ubicaciones se pueden filtrar.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses the scope ('donde hay propiedades') and guarantees a complete list ('lista completa'), which is useful. It does not mention return format, pagination, or potential empty results, but for a simple read-only list tool this is somewhat adequate.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the action, and every phrase serves a purpose. It is efficient and clear without wasted words.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, no output schema), the description is complete enough: it explains what the tool returns and why it is useful. It doesn't describe the exact data structure, but that is not necessary for a simple list tool.

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

Parameters4/5

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

There are zero parameters, so the schema is empty and coverage is 100%. The description adds context about the output scope ('complete list' and 'where properties exist'), which goes beyond the empty schema. Baseline for 0 params is 4.

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 ('Obtiene la lista completa de municipios'), the resource ('municipios disponibles en La Palma donde hay propiedades'), and scope. It distinguishes from the sibling tool 'listar_barrios' by focusing specifically on municipalities, not neighborhoods.

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 a clear use case: 'Útil para saber qué ubicaciones se pueden filtrar' – the agent knows when to invoke it. However, it does not explicitly name alternatives or exclusion cases, though the scope is well-defined.

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

listar_propiedadesAInspect

Lista todas las propiedades vacacionales disponibles con filtros opcionales por ubicación, capacidad y características. Incluye paginación.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNúmero máximo de resultados (default: 50)
barrioNoFiltrar por barrio/zona
offsetNoOffset para paginación (default: 0)
municipioNoFiltrar por municipio
dormitoriosNoNúmero de dormitorios
personas_maxNoCapacidad mínima de personas

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses pagination ('Incluye paginación'), which is a behavioral trait, but does not mention auth requirements, rate limits, result ordering, or potential volume of results. The pagination mention is somewhat redundant given the limit/offset parameters, but it still adds some behavioral context beyond the schema.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the main action, optional filters, and pagination. No wasted words; every piece of information is relevant and necessary.

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

Completeness3/5

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

For a list tool with no output schema and six optional parameters, the description is adequate but not complete. It omits any mention of how results are returned (e.g., full objects vs. summaries), default sort order, or how this tool interacts with siblings like buscar_disponibilidad. Given the tool's simplicity and the schema coverage, a score of 3 is appropriate.

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 each parameter is already documented. The tool description adds only a high-level grouping ('ubicación, capacidad y características') that roughly maps to the parameters, but does not provide syntax or format details beyond the schema. Baseline of 3 is appropriate since the schema handles the heavy lifting.

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

Purpose5/5

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

The description uses a specific verb ('Lista') and resource ('propiedades vacacionales disponibles'), making it clear this is a listing tool for available vacation properties with optional filters. It distinguishes from siblings like obtener_detalles_propiedad (specific property details) and buscar_disponibilidad (availability search) by implying a broad list operation.

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

Usage Guidelines4/5

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

The description provides clear context: use this to list all available properties, with optional filters for location, capacity, and features. It does not explicitly name alternatives or exclusions, but the purpose is distinct enough from siblings that an agent can infer when to use it. However, it stops short of explicitly contrasting with sibling tools.

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

obtener_detalles_propiedadAInspect

Obtiene información completa de una propiedad específica: características, amenidades, ubicación, precios, fotos, descripciones en el idioma solicitado.

ParametersJSON Schema
NameRequiredDescriptionDefault
idiomaNoIdioma para descripciones: es (español), en (inglés), de (alemán)es
id_casaYesID de la propiedad a consultar

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description alone must convey behavior. It discloses the types of information returned (features, amenities, photos, etc.) and that descriptions are localized. However, it does not mention error handling (e.g., invalid id_casa), response size, or whether photos are URLs or embedded data. This is a moderate level of 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?

The description is a single, front-loaded sentence in Spanish that clearly states the action, object, and scope. Every element (characteristics, amenities, location, prices, photos, language) earns its place, and there is no redundant fluff. It is concise and well-structured.

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

Completeness4/5

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

Given the tool's simplicity (2 params, no output schema), the description provides a solid overview of the response content by listing key categories. It doesn't specify the exact structure or failure modes, but for a property-details retrieval tool, this is adequate. The lack of output schema raises the importance of the description, which covers the main aspects of expected return data.

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

Parameters3/5

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

The input schema provides 100% coverage of both parameters, including descriptions for id_casa and idioma, so runtime parameter semantics are already well-defined. The description adds no new parameter-specific details beyond 'idioma solicitado', which is essentially restating the idioma parameter. Thus, parameter semantics depend fully on the schema, yielding a baseline score.

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

Purpose5/5

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

The description specifies a clear action ('obtiene información completa') on a specific resource ('propiedad específica') and enumerates content categories (características, amenidades, precios, fotos, etc.). This distinguishes it from siblings like listar_propiedades (listing) and calcular_precio_estancia (pricing).

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 makes it evident this tool is for retrieving rich details of a single property, implying use when a specific property's full information is needed. It does not explicitly name alternative tools or state exclusions, but context signals with sibling names reinforce differentiation. No explicit 'when not to use' is provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.0
    • First observedbuscar_disponibilidad
    • First observedcalcular_precio_estancia
    • First observedlistar_barrios
    • First observedlistar_municipios
    • First observedlistar_propiedades
    • First observedobtener_detalles_propiedad

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: availability search, price calculation, listing neighborhoods, municipalities, properties, and getting details. No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in Spanish with underscores (e.g., buscar_disponibilidad, listar_municipios). No mixing of conventions.

Tool Count5/5

6 tools is well-scoped for the vacation rental domain, covering search, pricing, location data, and property details without being excessive or insufficient.

Completeness4/5

The set covers core operations for browsing and calculating prices, but lacks booking or reservation creation, which might be needed for a complete rental workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables searching and retrieving VRBO vacation rental listings using browser automation. Supports filtering by location, dates, guests, price range, and property features to find and compare vacation rentals.
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables access to Idealista API for searching and retrieving property listings across Spain, Portugal, and Italy. Supports various property types including homes, apartments, garages, commercial properties, offices, and land with detailed filtering options.
    14
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Search vacation rental properties, check real-time availability, get canonical pricing quotes, and create direct bookings. Each property is its own node with live data. Supports staircase pricing, seasonal rates, and 11 languages.
    4
    13
    220 npm
    3
    Apache 2.0