Zefix Search
Búsqueda de empresas en el Índice Central de Nombres Comerciales Suizo (zefix.ch)
Documentación
Zefix MCP
⚠️ 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)
- Ve a la página de Releases y descarga el archivo
zefix.mcpbmás reciente. - Haz doble clic: Claude Desktop se abre automáticamente.
- 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ámetro | Tipo | Descripción |
|---|---|---|
name_or_uid | cadena | Nombre de la empresa o UID (CHE-nnn.nnn.nnn). |
language_key | cadena | Idioma de respuesta: en, de, fr, it. Valor predeterminado: en. |
cantons | cadena[] | Filtrar por códigos de cantón, p. ej., ["ZH", "BE"]. |
locations | cadena[] | Filtrar por ciudades de sede legal, p. ej., ["Zurich", "Bern"]. |
legalForms | cadena[] | Filtrar por forma jurídica, p. ej., ["AG", "GmbH"]. |
exactSearch | booleano | Buscar desde el inicio del nombre (valor predeterminado: true). Establecer false para búsqueda de subcadena/comodín (*). |
phoneticSearch | booleano | Activar coincidencia fonética/difusa. |
includeDeleted | booleano | Incluir empresas dadas de baja (valor predeterminado: false). |
includeFormerNames | booleano | Buscar 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: trueno devuelve resultados, reintenta con la combinación deexactSearch: falseyphoneticSearch: 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íaUser-Agent: zefix-mcp-unofficialpor 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:
- Selecciona la herramienta
get_companiesen el panel izquierdo. - Completa los parámetros (p. ej.,
name_or_uid: "Berg Digital"). - 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:
| Trabajo | Qué hace | Dónde llega |
|---|---|---|
| Publicar en npm | npm run build, npm publish | npmjs.com |
| Publicar complemento de Claude | npm run build, npx @anthropic-ai/mcpb pack, sube el archivo .mcpb | GitHub 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 enpackage.jsonen 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_TOKENen 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_TOKENintegrado con permisocontents: write
Licencia
- MIT.