Zefix Search

Búsqueda de empresas en el Índice Central de Nombres Comerciales Suizo (zefix.ch)

Documentación

Zefix MCP

Zefix Search on MCP Marketplace

⚠️ No oficial Servidor MCP para zefix.ch – Índice Central de Nombres de Empresas de Suiza.
Este proyecto no está afiliado ni respaldado por el Departamento Federal de Justicia y Policía (DFJP) - Oficina Federal de Justicia (OFJ), que son quienes desarrollan y mantienen zefix.ch.

Funciones y casos de uso

  • Permite a tu asistente de IA buscar empresas registradas en Suiza por nombre o UID (CHE-nnn.nnn.nnn) con filtros opcionales por cantón de registro, forma jurídica, ubicación, nombres anteriores, etc. (replica todos los filtros de la interfaz de Zefix).
  • Dota a tu asistente de IA con todos los detalles disponibles en Zefix (nombres comerciales e identificadores, objeto social, dirección, auditores, historial de cambios, capital, nombres de representantes legales, fusiones y adquisiciones) para crear flujos de automatización adicionales o responder preguntas específicas del negocio.

Preguntas de ejemplo que MCP puede responder

Búsqueda de empresas

  • "Busca si Google tiene una entidad legal en Suiza y muéstrame su dirección registrada."
  • "Was ist der vollständige rechtliche Name und die UID des Unternehmens, das als Migros bekannt ist?"
  • "Recherche le CHE-169.865.482 et dis-moi tout ce que tu sais à son sujet."

Filtrado y descubrimiento

  • "Enumera todas las empresas activas de Treuhand con sede en el cantón de Schaffhausen."
  • "Finde Einzelunternehmen im Bereich Malerei, die irgendwo in der Grossregion Zürich eingetragen sind."
  • "Dresse une liste des adresses et des représentants légaux de toutes les banques en Romandie."

Historial y cambios

  • "¿Cuál es el nuevo nombre de la empresa anteriormente conocida como 'SwissAir'?"
  • "Zeig mir die vollständige Namens- und Eigentümergeschichte von Credit Suisse."
  • "Y a-t-il des entreprises qui ont repris ou fusionné avec UBS AG ?"

Debida diligencia e investigación

  • "¿Quién figura como auditor de Zurich Insurance Group?"
  • "Ich stehe kurz vor der Unterzeichnung eines Vertrags mit Hans Müller als Vertreter von Lindt & Sprüngli – ist er dazu bevollmächtigt?"
  • "Vérifie que Bollinger est une entreprise active spécialisée dans la plomberie, et dis-moi depuis combien de temps elle existe et quel est son capital enregistré."

Requisitos

  • Aplicación host de MCP (Claude, LLM Studio, VSCode+GHCP/Cline, Cursor, Dive, LibreChat, DeepChat, Chainlit, etc.)
  • LLM compatible con llamadas a herramientas (GPT-4.1+, Claude Sonnet/Opus, Gemini, Llama 3.1+, Qwen3.5, etc.)
  • (opcional) Node.js 24+ (para desarrollo o ejecución local sin npx)

Instalación

Como extensión de Claude Desktop (lo más fácil)

  1. Ve a la página de Releases y descarga el archivo zefix.mcpb más reciente.
  2. Haz doble clic: Claude Desktop se abre automáticamente.
  3. Haz clic en Instalar.

Reinicia Claude Desktop si no ves la herramienta zefix en la lista de herramientas disponibles.

Mediante npx (recomendado para todos los demás hosts de MCP)

Añade a la configuración de tu host de MCP:

{
  "mcpServers": {
    "zefix": {
      "command": "npx",
      "args": ["-y", "zefix-mcp-unofficial"]
    }
  }
}

npx descarga, almacena en caché y ejecuta el paquete automáticamente. No se requiere instalación local.

Desde el código fuente

git clone https://github.com/your-org/zefix-mcp-unofficial.git
cd zefix-mcp-unofficial
npm install
npm run build

Luego añade esta sección al archivo de configuración de tu aplicación host de MCP (la sintaxis puede variar, consulta la documentación de tu aplicación host de MCP):

{
  "mcpServers": {
    "zefix": {
      "command": "node",
      "args": ["/absolute/path/to/zefix-mcp-unofficial/dist/index.js"]
    }
  }
}

Referencia de herramientas

get_companies

Busca en el registro de Zefix. Todos los parámetros excepto name_or_uid son opcionales.

ParámetroTipoDescripción
name_or_uidcadenaNombre de la empresa o UID (CHE-nnn.nnn.nnn).
language_keycadenaIdioma de respuesta: en, de, fr, it. Valor predeterminado: en.
cantonscadena[]Filtrar por códigos de cantón, p. ej., ["ZH", "BE"].
locationscadena[]Filtrar por ciudades de sede legal, p. ej., ["Zurich", "Bern"].
legalFormscadena[]Filtrar por forma jurídica, p. ej., ["AG", "GmbH"].
exactSearchbooleanoBuscar desde el inicio del nombre (valor predeterminado: true). Establecer false para búsqueda de subcadena/comodín (*).
phoneticSearchbooleanoActivar coincidencia fonética/difusa.
includeDeletedbooleanoIncluir empresas dadas de baja (valor predeterminado: false).
includeFormerNamesbooleanoBuscar también nombres anteriores de empresas (valor predeterminado: false).

Consejos:

  • Si conoces el UID, úsalo: devolverá el resultado con detalles completos más preciso.
  • Si exactSearch: true no devuelve resultados, reintenta con la combinación de exactSearch: false y phoneticSearch: true.
  • Los resultados se devuelven en formato YAML, con un nivel de detalle que depende de la cantidad de empresas encontradas:
    • 1 resultado → detalles completos, incluido el historial de publicaciones de SOGC;
    • 2–10 → resúmenes detallados, pero sin el historial completo ni la lista de representantes legales;
    • 11+ → solo la lista de nombre/UID/estado.
  • Los resultados están limitados a 100 elementos.
  • El servidor se comunica a través de stdio (transporte estándar de MCP); no imprimirá nada en la terminal cuando se ejecute directamente.
  • Cuando el servidor MCP consulta la API REST de Zefix en https://www.zefix.ch/ZefixREST/api/v1/ (pública, sin autenticación requerida), envía User-Agent: zefix-mcp-unofficial por transparencia. Es posible que desees cambiar uf si usas este MCP como parte de una solución más amplia.

Desarrollo y depuración

Compilación

npm run build
# Compiled output goes to dist/index.js

Inspección

Usa el MCP Inspector para llamar herramientas de forma interactiva e inspeccionar las respuestas:

npx @modelcontextprotocol/inspector node dist/index.js

La primera ejecución te pedirá instalar @modelcontextprotocol/inspector. Después del inicio, abre la URL que se muestra en la terminal (normalmente http://localhost:5173) para acceder a la interfaz del inspector.

Flujo de trabajo:

  1. Selecciona la herramienta get_companies en el panel izquierdo.
  2. Completa los parámetros (p. ej., name_or_uid: "Berg Digital").
  3. Haz clic en Ejecutar e inspecciona la respuesta sin procesar.

Publicación de una nueva versión

Empujar una etiqueta v* activa el flujo de trabajo de release de GitHub Actions, que ejecuta dos trabajos en paralelo:

TrabajoQué haceDónde llega
Publicar en npmnpm run build, npm publishnpmjs.com
Publicar complemento de Claudenpm run build, npx @anthropic-ai/mcpb pack, sube el archivo .mcpbGitHub Releases
# 1. Bump version in BOTH files (npm will reject publishing over an existing version):
#    - package.json  → "version": "x.y.z"
#    - manifest.json → "version": "x.y.z"

# 2. Commit, tag, push — the tag MUST point to the version-bump commit:
git add package.json manifest.json
git commit -m "chore: release vX.Y.Z"
git tag vX.Y.Z
git push && git push --tags

⚠️ Error común: crear la etiqueta antes de editar package.json/manifest.json. CI publica la versión que aparezca en package.json en el commit etiquetado: el nombre de la etiqueta en sí es ignorado por npm. Si etiquetaste demasiado pronto, mueve la etiqueta al commit correcto:

git tag -d vX.Y.Z                   # eliminar etiqueta local
git push origin :refs/tags/vX.Y.Z   # eliminar etiqueta remota
# editar package.json + manifest.json, luego:
git add package.json manifest.json
git commit -m "chore: release vX.Y.Z"
git tag vX.Y.Z
git push && git push --tags

Configuración inicial (una sola vez):

  • token de npm: crea un Access token en npmjs.com → añádelo como Repository secret llamado NPM_TOKEN en GitHub → Settings → Secrets and variables → Actions; la vida útil del token es de 90 días (máximo): actualízalo periódicamente.
  • GitHub releases: no se necesita configuración adicional: el flujo de trabajo usa el GITHUB_TOKEN integrado con permiso contents: write

Licencia