Skip to main content
Glama
Valmo-Sarl

joomil-mcp

by Valmo-Sarl

joomil-mcp

Servidor MCP para Joomil.ch — el principal mercado de anuncios clasificados de habla francesa de Suiza, activo desde 2007.

Explora y busca más de 45.000 anuncios activos en 34 categorías: inmuebles, vehículos, empleo, animales, electrónica, moda y más, todo desde las regiones francófonas de Suiza (Romandía).

Herramientas

Herramienta

Descripción

suggest_filters

Infiere los filtros de search_classifieds a partir de una consulta en lenguaje natural

search_classifieds

Busca anuncios con filtros: palabra clave, categoría, cantón (enum estricto), ubicación, rango de precios, orden, paginación

get_classified

Obtén los detalles completos de un anuncio por ID: descripción, imágenes, vendedor, fecha de caducidad

get_categories

Lista las categorías activas con jerarquía mediante parent_id

get_cantons

Lista los valores de cantón admitidos por el filtro canton (ortografías específicas de la API)

Related MCP server: willhaben-mcp

Inicio rápido

Este es un servidor MCP remoto: no requiere instalación local.

Endpoint: https://joomil-mcp.snowy-surf-deec.workers.dev/mcp

Claude Desktop

Añade a ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "joomil": {
      "command": "npx",
      "args": ["mcp-remote", "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"]
    }
  }
}

Cursor

Añade a tu configuración de MCP:

{
  "joomil": {
    "url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
  }
}

Ejemplos de prompts

  • "Trouve-moi une voiture automatique à moins de 10'000 CHF dans le canton de Vaud."

  • "Cherche un appartement 3 pièces à Sion."

  • "Quelles catégories d'électronique propose Joomil ?"

  • "Montre-moi les annonces de canapés vintage en Valais."

  • "Cherche des offres d'emploi dans l'hôtellerie à Neuchâtel."

Consejo para agentes: llama a get_cantons antes de filtrar por cantón: la API usa ortografías poco evidentes (p. ej. Bern no Berne, Geneve no Genève/Geneva). Para solicitudes de texto libre, llama primero a suggest_filters y luego pasa el objeto filters devuelto a search_classifieds.

Referencia de la API

suggest_filters

Parámetro

Tipo

Descripción

query

string

Solicitud de búsqueda en lenguaje natural, p. ej. appartement 3 pièces à Sion

Devuelve un objeto filters listo para usar en search_classifieds, además de una puntuación de confianza de categoría y advertencias cuando la coincidencia es incierta. Los metadatos de categoría se almacenan en caché brevemente en la capa MCP para evitar volver a obtener el árbol de categorías en cada sugerencia.

Ejemplos útiles:

Solicitud del usuario

Filtros sugeridos típicos

Tesla Model 3 moins de 25'000 CHF

q: "Tesla Model 3", cat_id: 101, price_max: 25000, sort: "price_asc"

vélo budget 1.5k CHF

q: null, categoría en deporte/ocio, price_max: 1500, sort: "price_asc"

appartement 3 pièces à Sion

q: "3 pièces", cat_id: 10255, location: "Sion"

voiture entre 10'000 et 20'000 CHF

cat_id: 101, price_min: 10000, price_max: 20000

Golf GTI dans le canton de Vaud

q: "Golf GTI", cat_id: 101, canton: "Vaud"

canapé vintage à Lausanne

q: "vintage", cat_id: 10022, location: "Lausanne"

iPhone 14 à Genève

q: "iPhone 14", cat_id: 10127, location: "Genève"

{
  "query": "appartement 3 pièces à Sion",
  "filters": {
    "q": "3 pièces",
    "cat_id": 10255,
    "canton": null,
    "location": "Sion",
    "price_min": null,
    "price_max": null,
    "sort": "recent",
    "limit": 20
  },
  "category": {
    "id": 10255,
    "name": "Appartements",
    "url": "https://www.joomil.ch/annonces/immobilier/locations/appartements/10255",
    "parent_id": 339,
    "confidence": 0.82,
    "reason": "requête immobilière appartement"
  },
  "confidence": 0.74,
  "warnings": [],
  "next_step": "Call search_classifieds with the filters object. Adjust q or cat_id if the result set is too broad."
}

search_classifieds

Parámetro

Tipo

Descripción

q

string

Búsqueda de texto completo (título + descripción)

cat_id

number

ID de categoría: incluye subcategorías

canton

enum

Enum estricto: consulta get_cantons. Geneve, Vaud, Valais, Fribourg, Neuchatel, Jura, Bern, Argovie, Zurich, Lucerne, Bale-Ville, Etranger

location

string

Nombre de ciudad o código postal (coincidencia parcial)

price_min

number

Precio mínimo en CHF

price_max

number

Precio máximo en CHF

sort

enum

recent (predeterminado, más recientes primero), price_asc, price_desc, views (más vistos)

limit

number

Resultados por página (1–50, predeterminado 20)

offset

number

Desplazamiento de paginación: usa next_offset de la respuesta anterior

Las respuestas de la herramienta incluyen un breve resumen legible seguido de JSON serializado compacto en content para compatibilidad con MCP. Los datos completos también se devuelven en structuredContent con results, total, limit, offset, has_more, next_offset y filtered_out (elementos eliminados de la página actual por restricciones de categoría del lado MCP).

Forma del resultado (cada elemento):

{
  "id": 366872, "title": "Maison avec étangs",
  "price": { "amount": 237977.5, "currency": "CHF" },
  "location": { "city": "Saint Eugène", "postal_code": "71320", "canton": "Geneve", "country": "FR" },
  "category": { "id": 10261, "name": "Maisons & Villas", "url": "https://..." },
  "url": "https://www.joomil.ch/annonce/.../366872",
  "created_at": "2026-06-26T22:17:11+02:00",
  "has_picture": true,
  "seller": { "name": "jpclair", "certified": false }
}

get_classified

Parámetro

Tipo

Descripción

id

number

ID del anuncio (de los resultados de búsqueda o de la URL del anuncio)

Devuelve los detalles completos del anuncio, incluida la descripción completa, imágenes, ruta de categoría, fecha de caducidad, nivel de impulso y datos del vendedor.

get_categories

Parámetro

Tipo

Descripción

parent_id

number

Opcional: omítelo para todas, 0 para categorías raíz, o cualquier ID de categoría para sus hijos

get_cantons

Sin parámetros. Devuelve los valores de cantón aceptados por el filtro canton de search_classifieds, con sus etiquetas en francés:

{
  "cantons": [
    { "name": "Geneve", "label_fr": "Genève", "code": "GE", "region": "Romandie" },
    { "name": "Bern", "label_fr": "Berne", "code": "BE", "region": "Suisse alémanique" }
  ],
  "total": 12
}

Pasa siempre el campo name (no label_fr ni code) al filtro canton.

Datos

  • Fuente: API REST pública de Joomil.ch

  • Cobertura: más de 45.000 anuncios activos, 34 categorías de nivel superior, más de 190.000 usuarios registrados

  • Ubicación: Suiza (regiones francófonas — Romandía)

  • Idioma: francés

  • Frecuencia de actualización: tiempo real

  • Autenticación: no se requiere

Limitaciones

Este servidor MCP es de solo lectura y utiliza solo datos públicos.

  • Sin operaciones de escritura: no se pueden crear, editar ni eliminar anuncios; no se puede contactar con los vendedores.

  • Sin autenticación: no hay cuentas de usuario, ni mensajes, ni favoritos, ni búsquedas guardadas.

  • Sin contacto con el vendedor: no se exponen números de teléfono ni direcciones de correo electrónico; usa la url del anuncio para abrir Joomil.ch directamente.

  • Sin publicación: publicar un anuncio debe hacerse en joomil.ch.

  • Categorías restringidas: Erotique (28), Rencontres & Amitié (14000), Voyance & Astrologie (651) y sus descendientes se filtran en la capa MCP según la política de contenido. La API PHP subyacente sigue disponible para uso directo.

  • El filtro de cantón es estricto: solo se aceptan los valores devueltos por get_cantons. Otras ortografías (Berne, Genève, Geneva, GE, VD...) son ignoradas silenciosamente por la API ascendente y devolverían todos los anuncios en lugar de un conjunto filtrado; el enum estricto aquí lo evita.

  • Moneda: todos los precios están en CHF. Los anuncios pueden tener price.amount: null (precio bajo petición) o 0 (gratis).

  • Errores ascendentes: los fallos de la API de Joomil se devuelven como errores de herramienta MCP con isError: true.

Despliega el tuyo

git clone https://github.com/Valmo-Sarl/joomil-mcp
cd joomil-mcp
npm install
npx wrangler login
npm run deploy

Licencia

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and retrieve listings from Sweden's largest second-hand marketplaces, Blocket and Tradera. Returns unified data including prices, images, seller information, and direct links to listings.
    8
  • A
    license
    A
    quality
    C
    maintenance
    Enables searching Austria's largest classifieds marketplace (willhaben.at) for real estate, cars, jobs, and second-hand items via natural-language queries and structured filters, with full listing details.
    7
    19
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to search and view advertisements on Marktplaats.nl with extensive filtering options.
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to search and consult Leboncoin classified ads through the MCP protocol, with tools for ad search, detail retrieval, user profiles, and category/region listings.
    MIT

View all related MCP servers

Related MCP Connectors

  • Search products in nearby stores. Agents can also list items for sale on a user's behalf.

  • Search Swiss federal legislation: laws, articles, amendments via the Fedlex SPARQL endpoint.

  • Search listings, message posters, and create draft posts on Capmus, the university marketplace

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Valmo-Sarl/joomil-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server