Kranli
New Swiss building permit applications by municipality and trade (last 90 days, official sources).
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"permis-construire": {
"url": "https://kranli.ch/mcp"
}
}
}遠端端點
https://kranli.ch/mcpstreamable-http它能做什麼
工具清單
工具(5)
🟢chercher_demandes(commune, canton, metier, jours, rayon_km, ...)
Search new building permit applications published in Switzerland (Kranli, official publications of the last 90 days) by municipality or canton, trade and period, newest first. Each application comes with its date, municipality, official description, status, trades, link to the official publication, source and mandatory notice ("formule"). / Cherche les nouvelles demandes de permis de construire publiées en Suisse (publications officielles des 90 derniers jours), par commune ou canton, métier et période, les plus récentes d’abord, avec le lien officiel, la source et la formule de chaque demande.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string",
"maxLength": 80,
"description": "Municipality: name, postcode or identifier, e.g. \"Sion\", \"1950\", \"buchs-ag\". / Commune : nom, numéro postal ou identifiant."
},
"canton": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter canton code, e.g. \"VS\". / Sigle du canton, par exemple « VS »."
},
"metier": {
"type": "string",
"maxLength": 80,
"description": "Trade: identifier from the metiers tool or a few words, e.g. \"heat pump\", \"pompe à chaleur\", \"Wärmepumpe\", \"solaire\". / Métier : identifiant ou quelques mots."
},
"jours": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"default": 30,
"description": "How many days back (at most 90). / Nombre de jours en arrière (90 au plus)."
},
"rayon_km": {
"type": "integer",
"minimum": 0,
"maximum": 50,
"default": 0,
"description": "With a municipality: also the municipalities within this many km. / Avec une commune : aussi les communes à moins de N km."
},
"limite": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 10,
"description": "Number of applications returned. / Nombre de demandes rendues."
},
"langue": {
"type": "string",
"enum": [
"fr",
"de",
"it",
"en"
],
"default": "fr",
"description": "Language of labels and of the answer (fr, de, it, en). / Langue des libellés et de la réponse."
}
},
"additionalProperties": false
}🟢trouver_commune(nom, canton, langue)
Find a Swiss municipality by name or postcode; returns its identifier, canton and number of applications in the last 7, 30 and 90 days. / Trouve une commune suisse par son nom ou son numéro postal : identifiant, canton et nombre de demandes récentes.
輸入結構描述
{
"type": "object",
"properties": {
"nom": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Name or postcode, e.g. \"Sion\", \"Buchs AG\", \"8001\". / Nom ou numéro postal."
},
"canton": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter canton code, e.g. \"VS\". / Sigle du canton, par exemple « VS »."
},
"langue": {
"type": "string",
"enum": [
"fr",
"de",
"it",
"en"
],
"default": "fr",
"description": "Language of labels and of the answer (fr, de, it, en). / Langue des libellés et de la réponse."
}
},
"required": [
"nom"
],
"additionalProperties": false
}🟢communes_proches(commune, rayon_km, canton, langue)
List the municipalities within a radius of a municipality (distance between official centres, rounded to the km), with their recent applications. / Les communes autour d’une commune (distance entre centres officiels, arrondie au kilomètre), avec leurs demandes récentes.
輸入結構描述
{
"type": "object",
"properties": {
"commune": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Municipality: name, postcode or identifier. / Commune : nom, numéro postal ou identifiant."
},
"rayon_km": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10,
"description": "Radius in km. / Rayon en kilomètres."
},
"canton": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter canton code, e.g. \"VS\". / Sigle du canton, par exemple « VS »."
},
"langue": {
"type": "string",
"enum": [
"fr",
"de",
"it",
"en"
],
"default": "fr",
"description": "Language of labels and of the answer (fr, de, it, en). / Langue des libellés et de la réponse."
}
},
"required": [
"commune"
],
"additionalProperties": false
}🟢metiers(langue)
List the ten trade families used by Kranli (heating and heat pumps, solar, windows, roofing, facades, interior, outdoor and pools, new build, civil engineering, electrical) with their identifiers and recent counts. / Les dix familles de métiers de Kranli, avec leurs identifiants et leurs demandes récentes.
輸入結構描述
{
"type": "object",
"properties": {
"langue": {
"type": "string",
"enum": [
"fr",
"de",
"it",
"en"
],
"default": "fr",
"description": "Language of labels and of the answer (fr, de, it, en). / Langue des libellés et de la réponse."
}
},
"additionalProperties": false
}🟢resume_semaine(canton, langue)
Number of building permit applications of the last 7 days, by canton and by trade. / Le nombre de demandes de permis de construire des 7 derniers jours, par canton et par métier.
輸入結構描述
{
"type": "object",
"properties": {
"canton": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter canton code, e.g. \"VS\". / Sigle du canton, par exemple « VS »."
},
"langue": {
"type": "string",
"enum": [
"fr",
"de",
"it",
"en"
],
"default": "fr",
"description": "Language of labels and of the answer (fr, de, it, en). / Langue des libellés et de la réponse."
}
},
"additionalProperties": false
}社群
證據