VerifikaDocs
MCP

Cómo se conecta

La configuración exacta para Claude, ChatGPT, Cursor, VS Code y clientes propios.

Antes de empezar

Si tu cliente habla OAuth, no necesitas nada de esto

En Claude (y en cualquier cliente que siga el estándar de autorización de MCP) basta con añadir https://api.verifika.tech/mcp sin cabeceras: te lleva a una pantalla de Verifika, autorizas y listo. Ninguna llave que copiar. Ver Conectar con un clic.

Esta página es para el otro camino: con llave, que es el que necesitas cuando no hay una persona que pueda autorizar —un servidor, un cron, un bot— o cuando tu cliente todavía no sabe hacer OAuth.

Con llave necesitas una llave de API con los permisos que quieras darle al asistente. Sácala en el panel: Integraciones → API pública → Crear llave.

Empieza con una llave de solo lectura

Marca solo los permisos .read la primera vez. Vas a querer ver qué hace el asistente antes de dejarlo escribir en el libro — y ampliar los permisos después no te obliga a cambiar el secreto ni a reconfigurar nada.

Claude Desktop

Edita el archivo de configuración:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%\Claude\claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "verifika": {
      "type": "http",
      "url": "https://api.verifika.tech/mcp",
      "headers": {
        "Authorization": "Bearer vk_live_TU_LLAVE"
      }
    }
  }
}

Reinicia Claude Desktop. Deberías ver «verifika» en la lista de herramientas conectadas.

Claude Code

Desde la terminal, en cualquier carpeta:

claude mcp add --transport http verifika https://api.verifika.tech/mcp \
  --header "Authorization: Bearer vk_live_TU_LLAVE"

Compruébalo con claude mcp list.

Cursor

~/.cursor/mcp.json (global) o .cursor/mcp.json en el proyecto:

.cursor/mcp.json
{
  "mcpServers": {
    "verifika": {
      "url": "https://api.verifika.tech/mcp",
      "headers": { "Authorization": "Bearer vk_live_TU_LLAVE" }
    }
  }
}

VS Code

.vscode/mcp.json en el proyecto. Con inputs la llave se pide al arrancar y no queda escrita en un archivo que puedas subir a git por accidente:

.vscode/mcp.json
{
  "inputs": [
    {
      "id": "verifika-key",
      "type": "promptString",
      "description": "API key de Verifika",
      "password": true
    }
  ],
  "servers": {
    "verifika": {
      "type": "http",
      "url": "https://api.verifika.tech/mcp",
      "headers": { "Authorization": "Bearer ${input:verifika-key}" }
    }
  }
}

ChatGPT

En Configuración → Conectores → Agregar conector personalizado, pega la URL del servidor y la cabecera de autorización. Requiere un plan que habilite conectores personalizados.

Un cliente propio

Cualquier SDK de MCP sirve. Con el de TypeScript:

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://api.verifika.tech/mcp'),
  {
    requestInit: {
      headers: { Authorization: `Bearer ${process.env.VERIFIKA_API_KEY}` },
    },
  },
);

const client = new Client({ name: 'mi-app', version: '1.0.0' });
await client.connect(transport);

const { tools } = await client.listTools();
console.log(tools.map((t) => t.name));

const res = await client.callTool({
  name: 'list_incomes',
  arguments: { status: 'VERIFIED', limit: 10 },
});

Si tu llave entra a varios negocios

Con un plan Multi, pasa el negocio en la cabecera para no tener que repetirlo en cada pregunta:

"headers": {
  "Authorization": "Bearer vk_live_TU_LLAVE",
  "Verifika-Company-Id": "cmt7xbfrg0001q3w1itst7uwo"
}

Sin ella, las herramientas piden companyId como argumento y el asistente tendrá que preguntártelo.

Comprobar que quedó

Pregúntale al asistente:

«¿Qué permisos tiene mi llave de Verifika?»

Debería llamar a whoami y responderte con el alias de la llave, sus permisos, el negocio y el plan. Si eso funciona, todo lo demás también.

Si algo falla

SíntomaCausa casi siempre
El asistente no ve las herramientasLa configuración no se recargó. Reinicia el cliente.
401La llave está mal copiada, revocada o vencida. Míralo en el panel.
403 PLAN_FEATURE_REQUIREDTu plan no incluye la API pública.
403 SCOPE_REQUIREDLa llave no tiene ese permiso. details.scope dice cuál falta: edítala en el panel, sin cambiar el secreto.
400 pidiendo companyIdTu llave entra a varios negocios y no mandaste la cabecera de arriba.

En esta página