1820.ch – Telefonbuch Schweiz
Swiss phone directory: search people and businesses, reverse number lookup, business categories.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"telefonbuch": {
"url": "https://mcp.1820.ch/mcp"
}
}
}Remote endpoints
https://mcp.1820.ch/mcpstreamable-httpWhat it can do
Tool inventory
Tools (4)
🟢browse_business_category(category, location, limit, lang)
Lists public directory entries in one business category, optionally narrowed to a locality/postcode/canton. Use search_swiss_directory instead for a free-text query.
Input Schema
{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "The business category slug (e.g. \"restaurant\", \"coiffeur\", \"sanitaer\"). Valid slugs are the slug values in categories, as returned by get_directory_entry, or a top-level group slug such as \"bau-handwerk\".",
"minLength": 1,
"maxLength": 200
},
"location": {
"type": "string",
"description": "Locality, postcode, or canton (e.g. \"Baden\", \"5400\", \"ZH\") to narrow the category to. Always put a place name here.",
"maxLength": 200
},
"limit": {
"type": "integer",
"description": "Maximum number of results, 1-20.",
"default": 10,
"minimum": 1,
"maximum": 20
},
"lang": {
"type": "string",
"description": "Response language: de, fr, it, or en. Defaults to de.",
"enum": [
"de",
"fr",
"it",
"en"
]
}
},
"required": [
"category"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"entry_id": {
"type": "string"
},
"name": {
"type": "string"
},
"entry_type": {
"type": "string"
},
"address": {
"type": [
"null",
"object"
],
"properties": {
"street": {
"type": "string"
},
"street_number": {
"type": "string"
},
"post_code": {
"type": "string"
},
"locality": {
"type": "string"
},
"canton": {
"type": "string"
},
"country": {
"type": "string"
}
},
"additionalProperties": false
},
"category": {
"type": "string"
},
"advertising_block": {
"type": "boolean"
},
"source_url": {
"type": "string"
}
},
"required": [
"entry_id",
"entry_type",
"advertising_block"
],
"additionalProperties": false
}
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"name",
"url"
],
"additionalProperties": false
},
"retrieved_at": {
"type": "string"
},
"advertising_block_note": {
"type": "string"
}
},
"required": [
"results",
"source",
"retrieved_at",
"advertising_block_note"
],
"additionalProperties": false
}🟢get_directory_entry(entry_id, lang)
Fetches the full public detail for one directory entry by its entry_id (public_id), including phone numbers, opening hours, and links when the entry has them. Use get_directory_entry for phone numbers and opening hours; use search_swiss_directory or browse_business_category to find an entry_id first.
Input Schema
{
"type": "object",
"properties": {
"entry_id": {
"type": "string",
"description": "The entry's public_id, as returned by search_swiss_directory, browse_business_category, or reverse_phone_lookup.",
"minLength": 1,
"maxLength": 32
},
"lang": {
"type": "string",
"description": "Response language: de, fr, it, or en. Defaults to de.",
"enum": [
"de",
"fr",
"it",
"en"
]
}
},
"required": [
"entry_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"entry": {
"type": "object",
"properties": {
"entry_id": {
"type": "string"
},
"name": {
"type": "string"
},
"entry_type": {
"type": "string"
},
"address": {
"type": [
"null",
"object"
],
"properties": {
"street": {
"type": "string"
},
"street_number": {
"type": "string"
},
"post_code": {
"type": "string"
},
"locality": {
"type": "string"
},
"canton": {
"type": "string"
},
"country": {
"type": "string"
}
},
"additionalProperties": false
},
"category": {
"type": "string"
},
"categories": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"slug"
],
"additionalProperties": false
}
},
"advertising_block": {
"type": "boolean"
},
"source_url": {
"type": "string"
},
"phones": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"e164": {
"type": "string"
},
"display_value": {
"type": "string"
},
"kind": {
"type": "string"
},
"price_information": {
"type": "string"
},
"refuse_advertising": {
"type": "boolean"
}
},
"required": [
"e164"
],
"additionalProperties": false
}
},
"opening_hours": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"day_of_week": {
"type": "integer"
},
"closed": {
"type": "boolean"
},
"opens": {
"type": "string"
},
"closes": {
"type": "string"
}
},
"required": [
"day_of_week",
"closed"
],
"additionalProperties": false
}
},
"closed_on_holidays": {
"type": [
"null",
"boolean"
]
},
"description": {
"type": "string"
},
"links": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"kind",
"value"
],
"additionalProperties": false
}
}
},
"required": [
"entry_id",
"entry_type",
"advertising_block"
],
"additionalProperties": false
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"name",
"url"
],
"additionalProperties": false
},
"retrieved_at": {
"type": "string"
},
"advertising_block_note": {
"type": "string"
}
},
"required": [
"entry",
"source",
"retrieved_at",
"advertising_block_note"
],
"additionalProperties": false
}🟢reverse_phone_lookup(phone_number, lang)
Looks up the public directory entry (or entries) associated with a Swiss phone number. Accepts national ("079 123 45 67"), E.164 ("+41791234567"), or compact notation. Returns an empty result list when the number has no findable public listing.
Input Schema
{
"type": "object",
"properties": {
"phone_number": {
"type": "string",
"description": "The phone number to look up, in any common Swiss notation (national, E.164, or compact).",
"minLength": 1,
"maxLength": 40
},
"lang": {
"type": "string",
"description": "Response language: de, fr, it, or en. Defaults to de.",
"enum": [
"de",
"fr",
"it",
"en"
]
}
},
"required": [
"phone_number"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"matched_e164": {
"type": "string"
},
"match_kind": {
"type": "string"
},
"entry_type": {
"type": "string"
},
"name": {
"type": "string"
},
"locality": {
"type": "string"
},
"entry_id": {
"type": "string"
},
"address": {
"type": [
"null",
"object"
],
"properties": {
"street": {
"type": "string"
},
"street_number": {
"type": "string"
},
"post_code": {
"type": "string"
},
"locality": {
"type": "string"
},
"canton": {
"type": "string"
},
"country": {
"type": "string"
}
},
"additionalProperties": false
},
"source_url": {
"type": "string"
}
},
"required": [
"matched_e164",
"match_kind"
],
"additionalProperties": false
}
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"name",
"url"
],
"additionalProperties": false
},
"retrieved_at": {
"type": "string"
}
},
"required": [
"results",
"source",
"retrieved_at"
],
"additionalProperties": false
}🟢search_swiss_directory(query, location, entry_type, limit, lang)
Full-text search over the Swiss public phone/business directory (1820.ch). Matches ALL words in query, so a short keyword works best; put any place name in location, not query. For "business type X in place Y", browse_business_category with a category slug is an alternative. Use get_directory_entry for phone numbers and opening hours of a specific result.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "One short keyword: a person's or company name, or ONE business type (e.g. \"Müller\", \"Migros\", \"Coiffeur\"). Every word must match, so no sentences or extra adjectives. Never put a place name here — use location instead.",
"minLength": 1,
"maxLength": 200
},
"location": {
"type": "string",
"description": "Locality, postcode, or canton (e.g. \"Baden\", \"5400\", \"ZH\") to narrow the search. Always put a place name here, never in query.",
"maxLength": 200
},
"entry_type": {
"type": "string",
"description": "Restrict results to person, business, or all entries.",
"default": "all",
"enum": [
"person",
"business",
"all"
]
},
"limit": {
"type": "integer",
"description": "Maximum number of results, 1-20.",
"default": 10,
"minimum": 1,
"maximum": 20
},
"lang": {
"type": "string",
"description": "Response language: de, fr, it, or en. Defaults to de.",
"enum": [
"de",
"fr",
"it",
"en"
]
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"results": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"entry_id": {
"type": "string"
},
"name": {
"type": "string"
},
"entry_type": {
"type": "string"
},
"address": {
"type": [
"null",
"object"
],
"properties": {
"street": {
"type": "string"
},
"street_number": {
"type": "string"
},
"post_code": {
"type": "string"
},
"locality": {
"type": "string"
},
"canton": {
"type": "string"
},
"country": {
"type": "string"
}
},
"additionalProperties": false
},
"category": {
"type": "string"
},
"advertising_block": {
"type": "boolean"
},
"source_url": {
"type": "string"
}
},
"required": [
"entry_id",
"entry_type",
"advertising_block"
],
"additionalProperties": false
}
},
"source": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"name",
"url"
],
"additionalProperties": false
},
"retrieved_at": {
"type": "string"
},
"advertising_block_note": {
"type": "string"
}
},
"required": [
"results",
"source",
"retrieved_at",
"advertising_block_note"
],
"additionalProperties": false
}Community
Evidence