# Firmenwatch — Swiss Company Register

> Search and verify Swiss companies, UID status and register changes with dated official sources.

- name: ch.firmenwatch/firmenwatch
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 100/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ch.firmenwatch%2Ffirmenwatch
- tools: https://api.protogrid.dev/v1/servers/ch.firmenwatch%2Ffirmenwatch/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "firmenwatch": {
      "type": "http",
      "url": "https://firmenwatch.ch/api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% ~updated-50d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 100/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 300000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,193 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 1,193 tokens to load them all
- tool set hash: 144e03ffeca57a721d0bd3662cddecfa
- badge: [![protogrid quality](https://protogrid.dev/badge/ch.firmenwatch/firmenwatch.svg)](https://protogrid.dev/servers/ch.firmenwatch/firmenwatch)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://firmenwatch.ch/api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `bestand_status`: Trennt die neueste verfügbare Publikation von der lückenlos verifizierten Grenze und meldet den Datenqualitätsstatus. Nennt zusätzlich Frische und Abdeckung von MWST, FINMA und SECO. Nutze dies, bevor du dich auf eine Auskunft verlässt.
- `firma_details`: Liefert die öffentlichen Angaben zu einer Firma anhand der UID: Stammdaten, Registerkapital nur mit belegter Währung, Personen- und Organabdeckung ohne Namen, Revision, Registerbefunde, belegbare Registerbezüge und den jüngsten Verlauf sowie den aktuellen MWST-, FINMA- und SECO-Abgleich mit amtlicher Quelle, Stand und Grenzen. Der öffentliche KI-Zugang gibt keine Namen natürlicher Personen und keine Finanzschätzungen aus.
- `firma_risiko`: Fasst zusammen, was im Handelsamtsblatt zu einer Firma publiziert wurde und geschäftlich relevant ist: Konkurs, Liquidation, Nachlassstundung, Kapitalherabsetzung und häufige Organwechsel. Jeder Befund ist einzeln benannt und datiert. Dies ist KEINE Bonitätsauskunft und bewertet KEINE natürlichen Personen.
- `firma_suchen`: Sucht Firmen im Schweizer Handelsregister nach Name oder UID. Liefert Firma, UID, Rechtsform, Sitz, Adresse und Status. Nutze dies, wenn die UID nicht bekannt ist.
- `tagesbriefing`: Liefert die wichtigsten strukturierten Firmenänderungen des jüngsten lückenlos verifizierten Publikationstags und zählt sie nach Art. Nutze dieses Werkzeug für einen täglichen KI-Lauf, ein Morgenbriefing oder eine automatisierte Marktbeobachtung. Optional lässt sich das Briefing nach Kanton, Meldungsart und Stichwort eingrenzen.
- `uid_pruefen`: Prüft eine Schweizer UID auf Format und Prüfziffer (Modulo 11 nach Spezifikation des Bundesamts für Statistik) und schlägt sie im Bestand nach. Nutze dies, bevor du eine UID in ein System übernimmst — Tippfehler werden so erkannt.
