Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Search Swiss classifieds on Joomil.ch — top marketplace in French-speaking Switzerland since 2007.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://joomil-mcp.snowy-surf-deec.workers.dev/mcpRun this in your terminal
claude mcp add --transport http joomil https://joomil-mcp.snowy-surf-deec.workers.dev/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"joomil": {
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"joomil": {
"type": "http",
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://joomil-mcp.snowy-surf-deec.workers.dev/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The publisher (ValmoDev) is not the repo owner (Valmo-Sarl); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 7 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
MCP server for Joomil.ch — Switzerland's leading French-speaking classifieds marketplace, active since 2007.
Browse and search 45,000+ active listings across 34 categories: real estate, vehicles, jobs, animals, electronics, fashion and more — all from Switzerland's French-speaking regions (Romandie).
| Tool | Description |
|---|---|
suggest_filters | Infer search_classifieds filters from a natural-language query |
search_classifieds | Search listings with filters: keyword, category, canton (strict enum), location, price range, sort, pagination |
get_classified | Get full details of a listing by ID: description, images, vendor, expiry date |
get_categories | List active categories with hierarchy via parent_id |
get_cantons | List the canton values supported by the canton filter (API-specific spellings) |
This is a remote MCP server — no local installation required.
Endpoint: https://joomil-mcp.snowy-surf-deec.workers.dev/mcp
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": { "joomil": { "command": "npx", "args": ["mcp-remote", "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"] } } }
Add to your MCP settings:
{
"joomil": { "url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp" } }
Tip for agents: call
get_cantonsbefore filtering by canton — the API uses
non-obvious spellings (e.g.
BernnotBerne,GenevenotGenève/Geneva).
For free-text user requests, call
suggest_filtersfirst, then pass the returned
filtersobject tosearch_classifieds.
suggest_filters| Parameter | Type | Description |
|---|---|---|
query | string | Natural-language search request, e.g. appartement 3 pièces à Sion |
Returns a ready-to-use filters object for search_classifieds, plus a category confidence score and warnings when matching is uncertain. Category metadata is cached briefly by the MCP layer to avoid refetching the category tree for every suggestion.
Useful examples:
| User request | Typical suggested filters |
|---|---|
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, category in sport/leisure, 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| Parameter | Type | Description |
|---|---|---|
q | string | Full-text search (title + description) |
cat_id | number | Category ID — includes subcategories |
canton | enum | Strict enum — see get_cantons. Geneve, Vaud, Valais, Fribourg, Neuchatel, Jura, Bern, Argovie, Zurich, Lucerne, Bale-Ville, Etranger |
location | string | City name or postal code (partial match) |
price_min | number | Minimum price in CHF |
price_max | number | Maximum price in CHF |
sort | enum | recent (default, newest first), price_asc, price_desc, views (most viewed) |
limit | number | Results per page (1–50, default 20) |
offset | number | Pagination offset — use next_offset from previous response |
Tool responses include a short human-readable summary followed by compact serialized JSON in content for MCP backward compatibility. Full data is also returned in structuredContent with results, total, limit, offset, has_more, next_offset, and filtered_out (items removed from the current page by MCP-side category restrictions).
Result shape (each item):
{
"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| Parameter | Type | Description |
|---|---|---|
id | number | Listing ID (from search results or listing URL) |
Returns full listing details, including complete description, images, category path, expiry date, boost level, and seller details.
get_categories| Parameter | Type | Description |
|---|---|---|
parent_id | number | Optional — omit for all, 0 for root categories, or any category ID for its children |
get_cantonsNo parameters. Returns the canton values accepted by search_classifieds' canton filter, with their French labels:
{
"cantons": [ { "name": "Geneve", "label_fr": "Genève", "code": "GE", "region": "Romandie" }, { "name": "Bern", "label_fr": "Berne", "code": "BE", "region": "Suisse alémanique" } ], "total": 12 }
Always pass the name field (not label_fr nor code) to the canton filter.
This MCP server is read-only and uses public data only.
url to open Joomil.ch directly.get_cantons are accepted. Other spellings (Berne, Genève, Geneva, GE, VD...) are silently ignored by the upstream API and would return all listings instead of a filtered set — the strict enum here prevents that.price.amount: null (price on request) or 0 (free).isError: true.git clone https://github.com/Valmo-Sarl/joomil-mcp
cd joomil-mcp npm install npx wrangler login npm run deploy
MIT