1820.ch – Telefonbuch Schweiz

Swiss phone directory: search people and businesses, reverse number lookup, business categories.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,068Tokens (tool definitions)
~5.3 KBTypical response size
Moderate attention impact (1.62% of 128k context)

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-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools