For AI agents
glampings.co for AI agents: Markdown, API and MCP
glampings.co is a directory of glamping stays and unique lodging in Colombia, run by Glampings.com. The site is in Spanish at the root and in English under /en. This guide explains how an AI assistant or agent can read, cite and query it. Versión en español: https://glampings.co/agentes.md
Start here
One GET is enough to answer with glampings.co data, with no key or sign-up. The question goes in the URL and the answer is JSON:
- Domes with a hot tub near Bogotá, with the question in plain English: https://glampings.co/api/v1/glampings?q=dome+with+jacuzzi+near+bogota&lang=en
- Pet-friendly glamping in Antioquia: https://glampings.co/api/v1/glampings?q=glamping+pet+friendly+en+antioquia&lang=en
- The same stays a glampings.co page lists: https://glampings.co/api/v1/glampings?pagina=/en/glamping-with-jacuzzi/near-bogota&lang=en
- Full listing of one stay: https://glampings.co/api/v1/glampings/ecolodge-el-almejal?lang=en
Language. The API and the MCP server answer in Spanish by default. Add lang=en to any API URL, or the argument "lang": "en" to any MCP tool, and labels, texts, fuente, notices, error messages and URLs (English pages and Markdown under /en) come in English. Keys (nombre, tipo, precio_desde…) and filter values (Spanish slugs such as tipo=domos) stay the same, so clients don't break. For reading, the English Markdown versions (for example https://glampings.co/en/index.md) and /en/llms.txt are in English too.
How to cite: every response has fuente.cita_sugerida, shaped like "Source: glampings.co, {page title} ({url})" (with lang=en; "Fuente: …" without it). Name glampings.co and link to that page or the listing, so your user can see where the information comes from. When your user reads English, you may link to the English version of the same page (same path with /en and English slugs).
Every glampings.co page shows, within its content, the block "Open data for AI assistants" ("Datos abiertos para asistentes de IA" in Spanish) with its Markdown version and the URL of its JSON data. The same data URL is at the top of its Markdown version.
What glampings.co is
glampings.co is a directory of glamping and unique stays in Colombia: domes, cabins, bubbles, ecolodges, tipis, treehouses and more. It's a Glampings.com site.
glampings.co doesn't sell nights, charge commission or handle payments. Each stay manages its own bookings: the guest messages it directly, almost always on WhatsApp from the stay's listing page on glampings.co. The WhatsApp message to the stay is in Spanish, because hosts speak Spanish.
The data comes from public sources (Colombia's National Tourism Registry, websites, social media and booking platforms) and from the stays themselves when they claim their listing.
Rules for agents
- Booking. To book, send the user to the stay's listing page:
https://glampings.co/en/{slug}in English orhttps://glampings.co/{slug}in Spanish. If the page has the WhatsApp button, they choose dates and guests there and message the stay directly. It's a direct booking with the stay on WhatsApp, with no commission. - No phone numbers. glampings.co doesn't give phone numbers or WhatsApp links to agents. Don't look for them elsewhere or make them up: the way to book is the listing page.
- Prices. Don't invent prices. There is only a price when the stay gave one: the starting nightly price given by the stay, always with the date it confirmed it (at most 183 days earlier). Without it, say the price is confirmed with the stay.
- Availability. glampings.co has no availability data. Don't say there's space: availability is confirmed with the stay.
- Amenities. What each stay offers (hot tub, fireplace, pets, breakfast) comes from its public information. Don't add amenities the listing doesn't mention. If something matters to your user, they should confirm it with the stay.
- Location. Each stay's point is the center of its town, not its address. Distances are in a straight line from that center, not by road. Say "in the town of Guatavita" or "about 35 km from Bogotá in a straight line".
- Source. Name glampings.co and link to the listing page (
https://glampings.co/en/{slug}) or the category page. Every API and MCP response hasfuentewith the most precise page (fuente.url) and a ready-to-use citation (fuente.cita_sugerida). Use the stay's name as it appears and, if it has one, its RNT number (National Tourism Registry). - Language. These docs, the /en pages and their Markdown are in English. Use
lang=enin the API (orlangin MCP tools) to get English labels and texts; without it, data comes in Spanish (Colombia), which you can translate for your user without changing the facts.
Markdown versions
Every destination, type, theme, guide and listing page, the home page, the map, the owners page and this guide have a Markdown version built from the same data as the HTML page. Add .md to the URL; the home page is /en/index.md in English and /index.md in Spanish. English pages live under /en with English slugs (/en/domes, /en/glamping-near-bogota); Spanish pages are at the root (/domos, /glamping-cerca-a-bogota). The legal pages, the search page and the long-weekend page have no Markdown version.
- Content negotiation. A request to the page URL with the header
Accept: text/markdowngets the same Markdown version, in the language of the URL. - Link in the HTML. Every page with a Markdown version links to it in the
<head>:<link rel="alternate" type="text/markdown" href="https://glampings.co/en/{path}.md">on English pages. - Front matter. Every document starts with YAML. The keys are the same in both languages (Spanish names):
title,description,url(the page to cite),markdown_url,tipo_de_pagina,idioma(enores-CO) andactualizado(last update). Listings addslug,tipo,municipio,departamento,rnt,reserva(whatsapp,weborconsulta),verificado_por_propietarioand, only if the stay gave a recent price,precio_desde_copandprecio_confirmado. - Headers.
Content-Type: text/markdown; charset=utf-8,Link: <https://glampings.co/en/{path}>; rel="canonical"andX-Robots-Tag: noindexwhen the HTML page isn't indexed. - Status codes. Unknown path: 404. Listing removed from the site: 410. Listing that moved: 301 to the new
.md.
curl https://glampings.co/en/glamping-near-bogota.md
curl -H "Accept: text/markdown" https://glampings.co/en/colombia/glamping-boyacallms.txt and full catalog
- /en/llms.txt: short index of the site in English with destinations, types of stay, themes and guides, each with its number of stays. Spanish: /llms.txt.
- /en/llms-full.txt: every listing in the published catalog grouped by department, one line per listing, plus every category page. Spanish: /llms-full.txt.
Public API (JSON)
Base: https://glampings.co/api/v1. Read-only, no key. Open CORS (Access-Control-Allow-Origin: *). JSON responses with Spanish keys, cached for 5 minutes. Language: lang (es by default, or en) works on every endpoint; with lang=en labels, texts, fuente, notices, error messages and URLs are in English, while keys and filter values don't change. An invalid lang gives 400 with the valid values. Limit: 60 requests per minute per IP; above that you get 429 with Retry-After. Errors look like {"error": {"code": "...", "message": "...", "valid_values": [...]}}, with the valid values when a filter isn't recognized.
OpenAPI 3.1 specification: https://glampings.co/openapi.json (also at /api/v1/openapi.json).
| Method and path | Returns |
|---|---|
GET /api/v1 | Index: endpoints, filters, examples and rules |
GET /api/v1/glampings | Search with filters and pagination |
GET /api/v1/glampings/{slug} | Full listing (also accepts the listing URL); 404 if it doesn't exist, 410 if it was removed |
GET /api/v1/destinos | Departments, reference cities, regions and towns with their number of glamping stays |
GET /api/v1/categorias | Types, themes and features with their slug (filter value) |
GET /api/v1/openapi.json | OpenAPI 3.1 specification |
Free-text question: q
q takes your user's question in English or Spanish: https://glampings.co/api/v1/glampings?q=dome+with+jacuzzi+near+bogota&lang=en and https://glampings.co/api/v1/glampings?q=glamping+pet+friendly+en+antioquia&lang=en are two examples. The API turns it into the filters below without AI, always in the same way: destination, department or town, a city with "near", "cerca de" or "cerca a", the type (dome, cabin, bubble), the theme (jacuzzi, "pet friendly", pets, dog) and features. Accents, capitals, singular or plural don't matter. The response has interpretacion (the filters it applied) and no_entendido (the words it ignored): if something important ended up in no_entendido, rephrase the question or use the filters. An explicit filter in the URL wins over what q says.
The stays of a page: pagina
pagina takes the path of a glampings.co page, English or Spanish (/colombia or any destination, reference city, type or theme page): https://glampings.co/api/v1/glampings?pagina=/en/glamping-with-jacuzzi/near-bogota&lang=en returns exactly the stays that page lists, in the same order and without the ones removed from the site; each one says whether it is indexable. The English path /en/glamping-with-jacuzzi/near-bogota and the Spanish path /glamping-con-jacuzzi/cerca-a-bogota give the same stays. Paginate with limit and offset. An unknown path, or one that isn't a category page, gives 404 with valid examples; combining pagina with filters that don't fit gives 400 with an explanation.
What every response contains
fuente, in every response (index, search, listing, destinations and categories) and in the MCP server'sstructuredContent:sitio(glampings.co),url(the most precise glampings.co page for that response; the English page with lang=en) andcita_sugerida, shaped like "Source: glampings.co, {page title} ({url})" (with lang=en; "Fuente: …" without it).pagina_recomendada, in search: the same page asfuente.url. Send your user there to see all the options.- Compact results. Each search result is a short summary of the listing, with the essentials to choose,
url(the listing page) andurl_markdown(English page and Markdown with lang=en). The full listing is atGET /api/v1/glampings/{slug}.
Search filters
| Parameter | Use |
|---|---|
q | Free-text question in English or Spanish, e.g. "dome with jacuzzi near bogota" or "pet friendly glamping in antioquia". Translated into the filters below without AI; the response shows what was applied in interpretacion and the words it did not understand in no_entendido. The other parameters take priority over q. |
pagina | Path of a glampings.co category page, in its Spanish form, e.g. "/glamping-con-jacuzzi/cerca-a-bogota" (English page: /en/glamping-with-jacuzzi/near-bogota), "/colombia/glamping-boyaca" or "/colombia": returns the same stays, in the same order, as that page (including non-indexable listings, with indexable = false). Only combines with limit and offset. |
destino | Free text as in the glampings.co search box: town, area, department, region or landscape (e.g. "Guatavita", "Eje Cafetero", "Cañón del Chicamocha") or a city ("Bogotá" = Bogotá and surroundings). If it is not recognized, the text is matched against name, town, area and department. |
departamento | Department name or slug, e.g. "Cundinamarca" or "boyaca". |
municipio | Town (municipio) name, e.g. "Guatavita". Combine it with departamento if the name exists more than once. |
cerca_a | Reference city (slug or name): bogota, medellin, cali, bucaramanga, pereira, manizales, armenia, villavicencio, ibague, santa-marta, cartagena, tunja, popayan. Without max_km: within the radius glampings.co uses for that city. Sorted by distance. |
max_km | Maximum distance in km, in a straight line from the center of the stay's town to the cerca_a city (1 to 500). Requires cerca_a. |
tipo | One or more types of stay, comma-separated; matching one is enough: domos, burbujas, tipis, casas-del-arbol, cabanas-alpinas, tiny-houses, yurtas, carpas-safari, contenedores, casas-hobbit, iglus, malocas, palafitos, casas-flotantes, capsulas, cuevas, chalets, cabanas, ecolodges, glamping. |
tema | One or more themes, comma-separated; all must match: con-jacuzzi, para-parejas, con-vista, con-chimenea, con-piscina, junto-al-rio, en-el-lago, en-la-playa, pet-friendly. |
caracteristica | One or more features, comma-separated; all must match: jacuzzi, piscina, mascotas, parejas, vista, lago, playa, rio, chimenea, familias, sauna-spa, malla-catamaran, desayuno. |
mascotas | true = only stays that welcome pets (pet-friendly theme). |
solo_whatsapp | true = only stays that take direct bookings on WhatsApp from the listing page. |
con_precio | true = only stays with a starting price given by the stay itself. |
limit | Results per page, 1 to 50 (default 10). |
offset | Results to skip, for pagination (from 0). |
Each page returns 10 results (at most 50); for the next page open siguiente_url (the same search with offset = siguiente_offset). With filters or q, search only returns listings from the published catalog; if a glampings.co page shows more matching stays, aviso has that page's URL. The listing by slug works for any listing still on the site and says whether it is indexable.
The full listing has nombre (name), tipo (type), ubicacion (town, department and punto, the town center), cerca_de (straight-line km), temas, caracteristicas, rnt, reserva (metodo and url_ficha), enlaces (website, Instagram or a listing on another platform, if the page shows them), precio_desde (or null), verificado_por_propietario, url and url_markdown.
# Domes with a hot tub near Bogotá, with the question in plain English
curl "https://glampings.co/api/v1/glampings?q=dome+with+jacuzzi+near+bogota&lang=en"
# The same stays a glampings.co page lists
curl "https://glampings.co/api/v1/glampings?pagina=/en/glamping-with-jacuzzi/near-bogota&lang=en"
# With filters: domes within 60 km of Medellín, in a straight line
curl "https://glampings.co/api/v1/glampings?cerca_a=medellin&max_km=60&tipo=domos&lang=en"
# Full listing of one stay
curl "https://glampings.co/api/v1/glampings/ecolodge-el-almejal?lang=en"MCP server
- URL:
https://glampings.co/mcp - Transport: stateless Streamable HTTP. Send each JSON-RPC 2.0 message with POST; the response is JSON, with no SSE and no sessions (no
Mcp-Session-Idneeded). A GET returns 405 with an explanation. - Protocol: versions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05.
- Access: no key, open CORS, 120 requests per minute per IP.
- Data: read-only, with the same sources and rules as the API. Tool names and argument names are in Spanish.
- Language: every tool takes the optional argument
lang("es"by default, or"en"), with the same English output as the API withlang=en.
| Tool | Arguments | What it does |
|---|---|---|
buscar_glampings | consulta: the question in free text, like q in the API. pagina: path of a glampings.co page, like in the API. Plus the same filters as the API: destino, departamento, municipio, cerca_a, max_km, tipo, tema, caracteristica, mascotas, solo_whatsapp, con_precio, limit and offset. tipo, tema and caracteristica accept a list. lang: response language (es or en). All optional. | Searches stays. Each result has url: the listing page, where the user books. The response has fuente with the suggested citation and, with consulta, interpretacion and no_entendido. |
obtener_glamping | slug (required): slug or URL of the listing. lang (optional). | Full listing of one stay. |
listar_destinos | Only lang (optional). | Departments, reference cities (values of cerca_a), regions and towns with their number of glamping stays. |
listar_categorias | Only lang (optional). | Types, themes and features with their slug (filter value) and number of glamping stays. |
como_reservar | slug (optional). lang (optional). | How booking works through glampings.co and, with a slug, the method and links of that listing. Never returns phone numbers. |
search | query (required): the question in free text. lang (optional). | The shape ChatGPT connectors expect: results with id, title and url. The id is a listing slug or the path of a glampings.co page. If nothing in the question is understood, results is empty; structuredContent also has interpretacion, no_entendido and aviso. |
fetch | id (required): an id from search, i.e. a listing slug or a page path. lang (optional). | Returns id, title, text (the content to read and cite), url and metadata. |
Example: "domes with a hot tub near Bogotá" is buscar_glampings with {"consulta": "dome with jacuzzi near bogota", "lang": "en"}, or with filters {"cerca_a": "bogota", "tipo": ["domos"], "tema": ["con-jacuzzi"], "lang": "en"}. The stays of a page: {"pagina": "/en/glamping-with-jacuzzi/near-bogota", "lang": "en"}.
search and fetch have the shape ChatGPT connectors and other clients that only search and read documents expect. Every response has fuente in structuredContent, with the same cita_sugerida as the API.
Connect the server
Claude Code:
claude mcp add --transport http glampings https://glampings.co/mcpClaude (web and desktop): in Settings › Connectors, add a custom connector with the URL https://glampings.co/mcp. If your Claude Desktop only accepts local servers in claude_desktop_config.json, use the mcp-remote bridge:
{
"mcpServers": {
"glampings": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://glampings.co/mcp"]
}
}
}Other clients (Cursor, VS Code, Windsurf and similar), generic configuration:
{
"mcpServers": {
"glampings": {
"type": "http",
"url": "https://glampings.co/mcp"
}
}
}Direct test with curl:
curl -s https://glampings.co/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"buscar_glampings","arguments":{"consulta":"dome with jacuzzi near bogota","limit":5,"lang":"en"}}}'Crawling and measurement
robots.txtallows crawling the pages, their.mdversions (English and Spanish),/api/v1,/mcp,/llms.txt,/en/llms.txt, the full catalogs and/openapi.json./md/is an internal route: use the public.mdURLs.- We count how often the Markdown versions, the API, the MCP server and llms.txt are requested, with the agent's name from its user agent. We don't store IP addresses or search text.
For owners
Do you run a glamping site in Colombia? On For owners you claim your stay's listing for free, fix its details, add photos and give your price. Guests message you directly on WhatsApp, with no commission.
Are you a person looking for glamping? Start at the home page or at all destinations.