Constaia

Servidor MCP

@constaia/mcp conecta Constaia con agentes de IA como Claude Desktop, Claude Code o Cursor mediante Model Context Protocol.

@constaia/mcp es un servidor Model Context Protocol que permite a un agente de IA validar, clasificar y extraer datos de documentos con Constaia. Le pides "¿es este PDF un certificado médico deportivo vigente?" y el agente llama a la API por ti.

Se ejecuta en tu equipo por stdio con un solo comando:

npx -y @constaia/mcp

Necesita Node.js 18 o superior y la variable CONSTAIA_API_KEY.

API preliminar

Las herramientas y sus parámetros pueden cambiar antes de la versión 1.0.

Configuración

VariableObligatoriaDescripción
CONSTAIA_API_KEYSíTu clave. Empieza con una ck_test_…: es gratuita y determinista.
CONSTAIA_ALLOWED_DIRSNoCarpetas (separadas por comas) desde las que el agente puede subir ficheros. Si no la defines, puede leer cualquier ruta.
CONSTAIA_BASE_URLNoURL base de la API. Por defecto https://api.constaia.com.

Edita claude_desktop_config.json (en macOS, ~/Library/Application Support/Claude/; en Windows, %APPDATA%\Claude\) y reinicia la aplicación:

claude_desktop_config.json
{
  "mcpServers": {
    "constaia": {
      "command": "npx",
      "args": ["-y", "@constaia/mcp"],
      "env": {
        "CONSTAIA_API_KEY": "ck_test_…",
        "CONSTAIA_ALLOWED_DIRS": "/Users/tu-usuario/Documentos/constaia"
      }
    }
  }
}

Herramientas

HerramientaQué haceParámetros
analyze_documentValida y extrae datos. Devuelve tipo, veredicto (si hay expect), campos, checks y warnings.file, expect, checks, exports, extract, language, metadata
classify_documentSolo identifica el tipo (0,2 créditos).file, expect
list_document_typesLista los tipos del catálogo con sus campos.—
get_analysisRecupera un análisis por id (an_…), p. ej. uno asíncrono.id
get_balanceMuestra créditos disponibles, reservados y del plan gratis.—

file es una ruta local absoluta (o que empiece por ~/) a un JPEG, PNG, WEBP, HEIC o PDF de hasta 20 MB, o una URL http(s) pública. checks usa los mismos nombres que la API, en snake_case: not_expired, max_age_days, holder… Ver Analizar un documento.

Cada herramienta devuelve un resumen legible (veredicto, motivos, campos) y, a continuación, el JSON completo de la respuesta.

Ejemplos de uso

Con una clave ck_test_… puedes probar con los ficheros de ejemplo del modo test:

Analiza ~/Documentos/constaia/dni_valid.jpg. ¿Es un DNI español vigente?

Revisa ~/Documentos/constaia/medical_certificate.pdf y dime si es un certificado médico deportivo de menos de un año y firmado.

Clasifica todos los ficheros de ~/Documentos/constaia y hazme una tabla con el tipo de cada uno.

¿Cuántos créditos me quedan?

Buenas prácticas

  • Empieza con una clave de test. Con ck_test_… no se consumen créditos y las respuestas son deterministas. Cambia a ck_live_… solo cuando sepas qué hará el agente.
  • Limita las carpetas. Define CONSTAIA_ALLOWED_DIRS para que el agente solo pueda subir documentos de una carpeta concreta.
  • Piensa en los datos personales. Los documentos se analizan en la UE y, por defecto, el fichero se borra al terminar (storage: "none"). Pero el resultado (nombre, número de documento, fechas) vuelve al agente y queda en la conversación con el modelo que uses. No lo uses con documentos de terceros si ese tratamiento no está cubierto en tu política de privacidad.
  • No compartas la clave. Si guardas la configuración en un fichero del proyecto que se sube a git (como .cursor/mcp.json), no pongas ahí una clave ck_live_….
  • Revisa las acciones. analyze_document y classify_document consumen créditos en modo real. Deja que tu cliente te pida confirmación antes de ejecutarlas.
  • Los warnings no son pruebas. Un screen_photo_suspected o edited_suspected es un indicio para que una persona lo revise, no una prueba de fraude.

En esta página