CazVid
Documentación de la API

Acceso para agentes (MCP)

Servidor MCP de CazVid

El servidor MCP (Model Context Protocol) remoto de CazVid da a los agentes de IA acceso mediante herramientas a la CazVid Developer API. Conecta un agente para previsualizar y crear empleos, buscar en el pool de candidatos, revisar tus endpoints de webhooks, buscar empleos públicos y trabajar los contactos e interacciones de tu CRM en lenguaje natural, con la misma clave de API y las mismas cuotas que las APIs REST.

Endpoint MCP

https://mcp.cazvid.com/mcp

Solo transporte Streamable HTTP.

Descripción general

El servidor MCP es un servidor remoto sin estado en https://mcp.cazvid.com/mcp. Apunta cualquier cliente MCP hacia él (Claude Code, conectores personalizados de Claude.ai, el modo desarrollador de ChatGPT, Cursor, VS Code) y el agente obtiene quince herramientas que envuelven las APIs públicas de Job Builder, Candidate Search, Webhooks, Job Search y CRM de CazVid. El servidor no guarda secretos: reenvía tu clave de API de CazVid a la API upstream, y toda la aplicación de cuotas y planes ocurre en el upstream.

Un solo endpoint, solo Streamable HTTP

Todo el tráfico es un POST al único endpoint /mcp con el transporte Streamable HTTP. GET /mcp devuelve 405 (el servidor no abre ningún stream iniciado por el servidor). No hay transporte solo-SSE ni stdio.

Conectar un cliente

Proporciona tu clave de API de CazVid de una de dos formas. Ambas usan la misma ruta de validación; elige la que soporte tu cliente.

Autenticación por encabezado (Claude Code, Cursor, VS Code)

Los clientes que pueden establecer encabezados de solicitud envían la clave como Authorization: Bearer <clave> o x-api-key: <clave> en POST /mcp. Esta es la forma principal.

Authorization: Bearer cazvid_jb_...
x-api-key: cazvid_jb_...

Claude Code (CLI)

claude mcp add --transport http cazvid https://mcp.cazvid.com/mcp \
  --header "Authorization: Bearer cazvid_jb_YOUR_KEY"

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "cazvid": {
      "url": "https://mcp.cazvid.com/mcp",
      "headers": { "Authorization": "Bearer cazvid_jb_YOUR_KEY" }
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "cazvid": {
      "type": "http",
      "url": "https://mcp.cazvid.com/mcp",
      "headers": { "Authorization": "Bearer cazvid_jb_YOUR_KEY" }
    }
  }
}

Forma de ruta en la URL (conectores de Claude.ai, ChatGPT)

Las interfaces de conectores que solo exponen un campo de URL y no pueden establecer encabezados usan la forma de clave en la ruta POST /mcp/<clave>. En Claude.ai agrégalo en Configuración > Conectores > Agregar conector personalizado; en ChatGPT activa el modo desarrollador, agrega un conector con la autenticación en Sin autenticación y pega la URL.

https://mcp.cazvid.com/mcp/cazvid_jb_YOUR_KEY
  • La URL entonces contiene tu credencial. Mantenla privada - cualquiera con la URL puede gastar tu cuota.
  • Rótala o revócala en cualquier momento en la app de CazVid en Perfil > Developer API; la URL anterior deja de funcionar de inmediato.
  • El servidor establece Referrer-Policy: no-referrer en cada respuesta y nunca registra URLs, encabezados ni claves.

Las claves en la cadena de consulta (por ejemplo ?key=...) se ignoran - la llamada procede sin clave. Usa un encabezado o el segmento de ruta.

Herramientas

Las herramientas de cada familia se exponen como una sola lista plana. preview_job y create_job cubren la publicación de empleos; search_candidates cubre la búsqueda de candidatos; list_webhook_endpoints cubre los webhooks; search_jobs cubre la búsqueda de empleos; las nueve herramientas crm_* cubren el CRM; list_api_usage reporta las cuotas de las cinco familias.

HerramientaQué haceCuota
preview_jobGenera un borrador de empleo (título, modalidad, salario, descripción opcional) a partir de un prompt. No se guarda nada.Job Builder: 1 de 10/día
create_jobCrea un empleo real. Por defecto es un borrador revisable; solo lo envía a la revisión normal de CazVid con instrucción explícita. La idempotencia derivada del contenido hace que los reintentos sean seguros.Job Builder: 1 de 10/día
list_api_usageReporta las cuotas de las cinco familias (usado, restante, hora de reinicio). No consume nada.Gratis
search_candidatesBúsqueda de solo lectura del pool de candidatos con una consulta en lenguaje natural y filtros opcionales. Los resultados no incluyen datos de contacto.Candidate Search: 1 de 100/día
list_webhook_endpointsLista de solo lectura de los endpoints de webhooks de la organización, con la URL, el estado, los eventos suscritos y las marcas de tiempo de cada uno. Nunca devuelve secretos de firma.Gratis
search_jobsBúsqueda de solo lectura de empleos públicos de CazVid con una consulta en lenguaje natural y filtros opcionales. Cada resultado incluye un applyUrl y ningún dato de contacto del reclutador.Job Search: 1 de 500/día
crm_search_contactsLista o búsqueda de solo lectura de tus contactos del CRM, que devuelve filas compactas más el id del contacto. Aquí se omiten correos y teléfonos; pagina con una bandera hasMore.CRM: 1 de 500/día
crm_get_contactDetalle completo de solo lectura de un contacto del CRM por id, incluidos todos sus correos y teléfonos con su etiqueta, sus tags y el estado de su currículum.CRM: 1 de 500/día
crm_upsert_contactCrea un contacto en el CRM; solo el nombre es obligatorio. Deduplica por correo o teléfono dentro del workspace, así que una llamada repetida que lleve alguno de esos devuelve el contacto existente y un reintento es seguro. Un contacto creado solo con nombre no tiene clave de deduplicación, así que reintentarlo puede producir un segundo contacto.CRM: 1 de 500/día
crm_update_contactActualiza campos de un contacto existente del CRM. Envía solo lo que cambia; los correos y teléfonos se limitan a uno cada uno y reemplazan la ranura principal en vez de agregarse.CRM: 1 de 500/día
crm_delete_contactBorrado suave de un contacto del CRM. Lo archiva y elimina sus interacciones y membresías de listas. Es destructivo, así que llámalo solo ante una petición explícita.CRM: 1 de 500/día
crm_log_interactionAgrega una entrada de línea de tiempo (correo, llamada, entrevista, nota) a un contacto del CRM, con un nombre de tipo de la taxonomía fija. Nunca se deduplica, así que no reintentes a ciegas.CRM: 1 de 500/día
crm_list_interactionsLínea de tiempo de solo lectura de las interacciones de un contacto del CRM, de la más reciente a la más antigua, cada una con su tipo, fecha, nota y tags. Pagina con una bandera hasMore.CRM: 1 de 500/día
crm_list_interaction_typesLista de solo lectura de los nombres de tipo de interacción válidos para `crm_log_interaction`, agrupados por categoría. La taxonomía es una lista global fija.CRM: 1 de 500/día
crm_upload_resumeAdjunta un currículum PDF, DOC o DOCX (base64 en línea, hasta 10 MB) a un contacto del CRM y lo encola para su análisis. El análisis es asíncrono y solo llena los campos vacíos del contacto.CRM: 1 de 500/día, más 1 de 50/clave/día de subidas

create_job crea por defecto un borrador revisable y solo publica cuando se lo pides explícitamente. Su clave de idempotencia se deriva del contenido de la solicitud, así que reintentar con argumentos idénticos en 24 horas devuelve el empleo ya creado en vez de un duplicado. search_candidates es de solo lectura y no devuelve datos de contacto. list_webhook_endpoints es de solo lectura y nunca devuelve secretos de firma; los endpoints se crean, verifican, rotan y eliminan en la app de CazVid o en la API REST. search_jobs es de solo lectura y devuelve empleos públicos, cada uno con un applyUrl y nunca datos de contacto del reclutador. En el CRM, crm_upsert_contact deduplica por correo o teléfono dentro del workspace, así que un reintento que lleve alguno de esos devuelve el contacto existente en vez de un duplicado (un contacto creado solo con nombre no tiene clave de deduplicación, así que reintentarlo puede producir un segundo contacto); crm_log_interaction nunca se deduplica, así que no reintentes a ciegas una llamada que pueda haber tenido éxito; y crm_delete_contact es un borrado suave que archiva el contacto junto con sus interacciones y membresías de listas.

Cuotas y claves

El servidor MCP usa la misma clave de CazVid Developer API y las mismas cuotas diarias por organización que las APIs REST. No hay nada nuevo que aprovisionar.

  • Job Builder: 10 llamadas exitosas de preview_job o create_job por organización por día UTC.
  • Candidate Search: 100 llamadas de search_candidates por organización por día UTC, más un límite de ráfaga de 20 por minuto.
  • Webhooks: list_webhook_endpoints no consume cuota. El tope de la familia de webhooks es sobre las entregas de eventos, no sobre esta herramienta - hasta 5.000 entregas por organización por día.
  • Job Search: 500 llamadas de search_jobs por organización por día UTC, más un límite de ráfaga de 30 por minuto.
  • CRM: 500 llamadas crm_* por organización por día UTC, más un límite de ráfaga de 30 por minuto. Es una cuota separada de las demás familias, y cada llamada con cuota cuenta, incluidas las lecturas. crm_upload_resume además consume 1 de una cuota separada de subida de currículums de 50 por clave de API por día UTC.
  • list_api_usage no consume cuota y reporta lo usado, lo restante y las horas de reinicio de las cinco familias.
  • Todas las cuotas se reinician a la medianoche UTC. Una llamada limitada por tasa devuelve la hora de reinicio y te dirige a list_api_usage.
  • Las claves provienen de Perfil > Developer API en la app de CazVid. El alcance de job-search es gratuito - cualquier cuenta registrada de CazVid puede generar una clave para él. Los alcances de job-builder, candidate-search y crm requieren un plan Platinum, Diamond o Enterprise, y los webhooks requieren un plan Platinum o superior. Una sola clave puede llevar todos los alcances que permita tu plan.

Para los contratos completos de solicitud y respuesta, consulta la documentación de Job Builder API, la documentación de Candidate Search API, la documentación de Webhooks API, la documentación de Job Search API y la documentación de CRM API.

Los datos de candidatos están sujetos a los términos de uso aceptable.

Conectar sin una clave

Conectarse y listar herramientas funciona sin una clave para que la configuración del conector nunca se rompa. Llamar a una herramienta sin clave no falla con error - devuelve una guía clara de cómo agregar tu clave.

  • El handshake (initialize) y tools/list funcionan sin clave, así que un cliente puede completar la configuración y mostrar las quince herramientas.
  • Una llamada a una herramienta sin clave devuelve un mensaje legible que explica cómo conectarse, no un error de protocolo.
  • Una vez que se proporciona una clave (por encabezado o forma de ruta), la misma llamada corre contra la cuota de tu organización.