joomil-mcp
joomil-mcp
MCP-сервер для Joomil.ch — ведущей франкоязычной площадки объявлений Швейцарии, работающей с 2007 года.
Просматривайте и ищите более 45 000 активных объявлений в 34 категориях: недвижимость, транспорт, работа, животные, электроника, мода и многое другое — всё из франкоязычных регионов Швейцарии (Романдия).
Инструменты
Инструмент | Описание |
| Выводит фильтры |
| Поиск объявлений с фильтрами: ключевое слово, категория, кантон (строгий enum), местоположение, диапазон цен, сортировка, пагинация |
| Получить полные детали объявления по ID: описание, изображения, продавец, дата истечения |
| Список активных категорий с иерархией через |
| Список значений кантонов, поддерживаемых фильтром |
Related MCP server: marktplaats-mcp
Быстрый старт
Это удалённый MCP-сервер — локальная установка не требуется.
Endpoint: https://joomil-mcp.snowy-surf-deec.workers.dev/mcp
Claude Desktop
Добавьте в ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"joomil": {
"command": "npx",
"args": ["mcp-remote", "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"]
}
}
}Cursor
Добавьте в настройки MCP:
{
"joomil": {
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}Примеры запросов
"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."
Совет для агентов: вызывайте
get_cantonsперед фильтрацией по кантону — API использует неочевидные написания (например,BernвместоBerne,GeneveвместоGenève/Geneva). Для запросов в свободной форме сначала вызовитеsuggest_filters, затем передайте возвращённый объектfiltersвsearch_classifieds.
Справочник API
suggest_filters
Параметр | Тип | Описание |
| string | Запрос на естественном языке, например |
Возвращает готовый к использованию объект filters для search_classifieds, а также оценку уверенности категории и предупреждения при неоднозначном сопоставлении. Метаданные категорий кратковременно кэшируются MCP-слоем, чтобы не перезагружать дерево категорий для каждого предложения.
Полезные примеры:
Запрос пользователя | Типичные предлагаемые фильтры |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
"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
Параметр | Тип | Описание |
| string | Полнотекстовый поиск (заголовок + описание) |
| number | ID категории — включает подкатегории |
| enum | Строгий enum — см. |
| string | Название города или почтовый индекс (частичное совпадение) |
| number | Минимальная цена в CHF |
| number | Максимальная цена в CHF |
| enum |
|
| number | Результатов на странице (1–50, по умолчанию 20) |
| number | Смещение пагинации — используйте |
Ответы инструмента включают краткое человекочитаемое резюме, за которым следует компактный сериализованный JSON в content для обратной совместимости MCP. Полные данные также возвращаются в structuredContent с results, total, limit, offset, has_more, next_offset и filtered_out (элементы, удалённые с текущей страницы из-за ограничений категорий на стороне MCP).
Форма результата (каждый элемент):
{
"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
Параметр | Тип | Описание |
| number | ID объявления (из результатов поиска или URL объявления) |
Возвращает полные детали объявления, включая полное описание, изображения, путь категории, дату истечения, уровень продвижения и данные продавца.
get_categories
Параметр | Тип | Описание |
| number | Необязательный — опустите для всех, |
get_cantons
Без параметров. Возвращает значения кантонов, принимаемые фильтром canton в search_classifieds, с их французскими названиями:
{
"cantons": [
{ "name": "Geneve", "label_fr": "Genève", "code": "GE", "region": "Romandie" },
{ "name": "Bern", "label_fr": "Berne", "code": "BE", "region": "Suisse alémanique" }
],
"total": 12
}Всегда передавайте поле name (не label_fr и не code) в фильтр canton.
Данные
Источник: публичный REST API Joomil.ch
Охват: более 45 000 активных объявлений, 34 корневые категории, более 190 000 зарегистрированных пользователей
Расположение: Швейцария (франкоязычные регионы — Романдия)
Язык: французский
Частота обновления: в реальном времени
Аутентификация: не требуется
Ограничения
Этот MCP-сервер только для чтения и использует только публичные данные.
Нет операций записи: нельзя создавать, редактировать или удалять объявления; нельзя связываться с продавцами.
Нет аутентификации: нет учётных записей, сообщений, избранного или сохранённых поисков.
Нет контакта с продавцом: номера телефонов и адреса электронной почты не раскрываются — используйте
urlобъявления, чтобы открыть Joomil.ch напрямую.Нет публикации: размещение объявления должно выполняться на joomil.ch.
Ограниченные категории: Erotique (28), Rencontres & Amitié (14000), Voyance & Astrologie (651) и их подкатегории отфильтровываются MCP-слоем в соответствии с политикой контента. Базовый PHP API остаётся доступным для прямого использования.
Строгий фильтр кантона: принимаются только значения, возвращаемые
get_cantons. Другие написания (Berne,Genève,Geneva,GE,VD...) молча игнорируются вышестоящим API и вернули бы все объявления вместо отфильтрованного набора — строгий enum здесь предотвращает это.Валюта: все цены указаны в CHF. Объявления могут иметь
price.amount: null(цена по запросу) или0(бесплатно).Ошибки вышестоящего API: сбои Joomil API возвращаются как ошибки инструмента MCP с
isError: true.
Разверните свой собственный
git clone https://github.com/Valmo-Sarl/joomil-mcp
cd joomil-mcp
npm install
npx wrangler login
npm run deployЛицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and browse global classifieds across 80 markets. No auth required for read-only access.
Read-only search of Québec's bilingual classifieds: ads, categories, filters, places.
Search and discover local community listings, classifieds, services and events.
Live kleinanzeigen.de search, ad, seller, category and location data for AI clients
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.714 npm2MIT
- AlicenseAqualityCmaintenanceEnables AI agents to search and monitor Dutch and Belgian classifieds (Marktplaats and 2dehands) for listings, seller profiles, and categories.845 PyPI4MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search willhaben.at marketplace listings and retrieve full ad details, using filters for category, condition, size, color, pattern, brand, and more.3MIT
- AlicenseAqualityCmaintenanceEnables searching Moldova's largest classifieds board from an AI client without an account or API key, covering listings such as apartments, cars and phones with category, filter, price and currency controls. Also retrieves full ad details, photos as visible images, seller profiles and phone numbers, dependent options like city sectors or car models, and 999.md's own price statistics.48MIT