Cómo se conecta
La configuración exacta para Cursor, VS Code, clientes propios y el camino con llave.
Antes de empezar
Si tu cliente habla OAuth, no necesitas nada de esto
En Claude, ChatGPT o Perplexity (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.
Claude
Paso a paso, con el menú exacto.
ChatGPT
Modo desarrollador, plugin y OAuth.
Perplexity
Conector personalizado (Custom MCP).
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. Y para los editores (Cursor, VS Code, Windsurf), donde la configuración va en un archivo del proyecto.
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
{
"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:
{
"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:
{
"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 y Perplexity
Van por OAuth y tienen su propia guía, porque el menú está en otro sitio en cada uno y ChatGPT además pide activar el modo desarrollador: ChatGPT · Perplexity.
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
Si tu llave entra a varios negocios, 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íntoma | Causa casi siempre |
|---|---|
| El asistente no ve las herramientas | La configuración no se recargó. Reinicia el cliente. |
401 | La llave está mal copiada, revocada o vencida. Míralo en el panel. |
403 PLAN_FEATURE_REQUIRED | Tu plan no incluye la API pública o la conexión con asistentes (details.feature dice cuál). |
403 SCOPE_REQUIRED | La llave no tiene ese permiso. details.scope dice cuál falta: edítala en el panel, sin cambiar el secreto. |
400 pidiendo companyId | Tu llave entra a varios negocios y no mandaste la cabecera de arriba. |