Spree Commerce developer docs for AI agents
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Description from the maker (original English)
Search Swiss classifieds on Joomil.ch — top marketplace in French-speaking Switzerland since 2007.
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.
Passed 3/4 checks · What you ask goes through the maker’s server (joomil-mcp.snowy-surf-deec.workers.dev)
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Joomil — Swiss Classifieds MCPhttps://joomil-mcp.snowy-surf-deec.workers.dev/mcpLeave Authentication as Claude detected it, then click Add
+ConnectorsJoomil — Swiss Classifieds MCP
Use Joomil — Swiss Classifieds MCP and tell me what you can do for me, then show me one thing✓ If Claude says it is using Joomil — Swiss Classifieds MCP or shows a Joomil — Swiss Classifieds MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT on business plans only
ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Joomil — Swiss Classifieds MCPhttps://joomil-mcp.snowy-surf-deec.workers.dev/mcpStart a new chat and pick Joomil — Swiss Classifieds MCP from your plugins before typing
Use Joomil — Swiss Classifieds MCP and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using Joomil — Swiss Classifieds MCP or shows a Joomil — Swiss Classifieds MCP tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --transport http joomil https://joomil-mcp.snowy-surf-deec.workers.dev/mcpYou should see Joomil — Swiss Classifieds MCP listed as connected
Use Joomil — Swiss Classifieds MCP and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Joomil — Swiss Classifieds MCP or shows a Joomil — Swiss Classifieds MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Use Joomil — Swiss Classifieds MCP and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Joomil — Swiss Classifieds MCP or shows a Joomil — Swiss Classifieds MCP tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Use Joomil — Swiss Classifieds MCP and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Joomil — Swiss Classifieds MCP or shows a Joomil — Swiss Classifieds MCP tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
https://joomil-mcp.snowy-surf-deec.workers.dev/mcpJSON settings are under “For developers” below
Claude Code
claude mcp add --transport http joomil https://joomil-mcp.snowy-surf-deec.workers.dev/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"joomil": {
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"joomil": {
"type": "http",
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Tool names and descriptions exactly as the server reported them on Nov 10, 2026. The maker wrote them, not us; we show them as plain text.
suggest_filtersInfer search_classifieds filters from a natural-language query. Use this before search_classifieds when the user mentions a category, location, canton or price in free text. Returns a ready-to-use filters object, a category confidence score and warnings for uncertain matches.
search_classifiedsSearch classified ads on Joomil.ch — Switzerland's leading French-speaking classifieds marketplace (since 2007). Returns a paginated list of public listings with title, description (truncated to 300 chars), price, location, category and vendor info. All parameters are optional —
get_classifiedGet full details of a single classified ad on Joomil.ch by its numeric ID. Returns complete description, all images URLs, category breadcrumb (full_path), vendor info (name, certified status, pro company), expiry date and boost level. Use search_classifieds first to find relevant
get_categoriesList active categories of the Joomil.ch marketplace. Returns a flat list with parent_id for hierarchy reconstruction. Omit parent_id for all categories, use parent_id=0 for root categories only, or pass a specific ID to get direct children of that category.
get_cantonsList the Swiss cantons supported by Joomil's `canton` filter. Returns the exact `name` value to pass to search_classifieds, plus a readable French label. Call this before filtering by canton — the API values are non-obvious (e.g. 'Bern' not 'Berne', 'Geneve' not 'Genève' or 'Gene
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 11, 2026
The publisher (ValmoDev) is not the repo owner (Valmo-Sarl); someone else may have listed it
Code last changed 5 months ago
We have not read this repo from GitHub yet
Responded in 656 ms (HTTP 200)
No sign-in needed
Read 5 tool descriptions and found no hidden instructions to the AI
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 4 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 5 months ago, 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 Business and above.
In the same category: Spree Commerce developer docs for AI agents, Stripe MCP, Sessy — Amazon SES observability
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
Read-only Amazon SES observability: search events, inspect bounces, pull delivery stats.
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