Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Search Swiss classifieds on Joomil.ch — top marketplace in French-speaking Switzerland since 2007.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://joomil-mcp.snowy-surf-deec.workers.dev/mcp在终端中运行这条命令
claude mcp add --transport http joomil https://joomil-mcp.snowy-surf-deec.workers.dev/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"joomil": {
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"joomil": {
"type": "http",
"url": "https://joomil-mcp.snowy-surf-deec.workers.dev/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://joomil-mcp.snowy-surf-deec.workers.dev/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
发布者(ValmoDev)不是仓库所有者(Valmo-Sarl);可能是其他人代为上架的
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 0 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于7个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
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.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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