Calame

Generador visual sin código que convierte cualquier base de datos en múltiples servidores MCP con alcance definido — uno por grupo de acceso, con enmascaramiento de PII y alcance de consultas con cierre por fallo incorporado.

Documentación

Calame

Calame

Convierte cualquier base de datos en un servidor MCP — visualmente.

Inicio rápido · Características · Cómo funciona · Licencia


Calame es una aplicación web autoalojada que se conecta a tu base de datos PostgreSQL, MySQL o SQLite, te permite configurar perfiles de acceso — permisos por tabla, enmascaramiento de PII, alcance a nivel de fila — y los sirve como servidores MCP (Model Context Protocol) con autenticación granular.

Conecta tu perfil a cualquier cliente MCP (LLM, Claude Desktop, Cursor, VS Code, ChatGPT Desktop…) o usa el chat integrado para consultar tus datos en lenguaje natural. Sin generación de código, sin bloqueo — Calame es el plano de control.

Inicio rápido

git clone https://github.com/Calame-Tech/calame.git
cd calame
pnpm install
pnpm build
pnpm dev

Abre http://localhost:4567 — crea la cuenta de administrador, conecta una base de datos, crea un perfil y ya estás en marcha.

O con Docker:

docker compose up

Compose se vincula a 127.0.0.1 por defecto. Establece CALAME_BIND_ADDRESS=0.0.0.0 solo cuando expongas Calame intencionalmente detrás de un firewall o proxy inverso.

El RAG de documentos necesita un proveedor de embeddings. Para usar el modelo local incluido con Docker, prepáralo una vez antes de iniciar Compose:

pnpm install
pnpm model:fetch -- --output-dir .calame-models
docker compose up

El modelo se descarga desde una revisión fijada y se verifica por tamaño y SHA-256. Alternativamente, configura un ajuste de IA remoto con capacidad de embeddings en la interfaz.

En la primera ejecución, Calame genera automáticamente un CALAME_SECRET_KEY utilizado para cifrar tokens y cadenas de conexión, y lo persiste junto a tu base de datos (.calame-secret). Si despliegas con Docker, monta un volumen persistente en /data para que ese archivo sobreviva a los reinicios — de lo contrario, cada reinicio invalida tus tokens guardados. También puedes establecer CALAME_SECRET_KEY tú mismo mediante el entorno para reutilizar un secreto existente.

→ Inicio rápido detallado — recorrido completo desde la instalación hasta tu primera consulta de cliente MCP.

Características

Conectores de base de datos

  • PostgreSQL · MySQL · SQLite · Microsoft SQL Server — introspección de esquema, relaciones, datos de muestra
  • Solo lectura por defecto, con escrituras opcionales bajo política y aprobación; solo consultas parametrizadas
  • Túnel SSH opcional para bases de datos remotas

Perfiles de acceso

  • Elige tablas y columnas para exponer por perfil
  • Detección y enmascaramiento de PII (automático + reglas personalizadas, global o por columna)
  • Alcance de datos a nivel de fila (p. ej., restringir un perfil a client_email = X)
  • Cola de escritura con flujo de aprobación para consultas mutantes

Autenticación — por perfil

  • Abierta, token Bearer, contraseña, SSO OIDC, OAuth 2.1 (Google, Microsoft, GitHub…), o URL de validación externa
  • Tokens por usuario con revocación
  • Registro dinámico de clientes MCP OAuth 2.1 (Claude Desktop / Cursor / VS Code auto-descubrimiento)
  • Registro de auditoría completo con exportación

Chat integrado

  • Consulta tus datos en lenguaje natural desde la interfaz — sin necesidad de cliente externo
  • Proveedores de LLM conectables:
    • Anthropic (Claude directo)
    • OpenRouter (Claude, GPT, Gemini, Llama, …)
    • Personalizado compatible con OpenAI — Ollama autoalojado, vLLM, LM Studio

Base de conocimiento (RAG)

  • Conecta fuentes de documentos (carpetas locales, S3, Google Drive/Sheets, Notion, SharePoint, Git) y busca sobre ellas desde el chat
  • Embeddings locales o remotos — prepara el modelo EmbeddingGemma-300M fijado explícitamente para procesamiento en el dispositivo, o configura un proveedor de IA con capacidad de embeddings. La imagen de Docker no descarga el modelo silenciosamente.
  • Enmascaramiento de PII, búsqueda híbrida (vectorial + por palabras clave), alcance por perfil

Operaciones

  • Invitaciones por correo electrónico (SMTP), gestión de usuarios, panel de métricas
  • Integración con HashiCorp Vault para secretos
  • Plantillas de Docker + proxy inverso (Caddy, nginx) incluidas

Cómo funciona

┌────────────┐   ┌─────────────┐   ┌───────────────────────────────┐
│  Your DB   │──▶│   Calame    │──▶│  MCP client (Claude Desktop, │
│ (Pg/My/Lt) │   │ (profiles,  │   │  Cursor, VS Code, ChatGPT,    │
│            │   │  auth, PII) │   │  built-in chat, LLM…)         │
└────────────┘   └─────────────┘   └───────────────────────────────┘
  1. Conecta una base de datos (Calame introspecciona el esquema).
  2. Crea un perfil — elige tablas, enmascara columnas PII, elige el modo de autenticación.
  3. Inicia el perfil. Su endpoint MCP es http://localhost:4567/mcp/<profile>.
  4. Apunta tu cliente MCP hacia él, o abre el chat integrado.

Comentarios

¿Algo roto? ¿Tienes un caso de uso que no cubrimos? Abre un issue o inicia una discusión.

Licencia

Calame tiene doble licencia:

  • Apache 2.0 — raíz, packages/*, scripts/, y todo lo demás fuera de ee/. Ver LICENSE.
  • Business Source License 1.1 (BUSL-1.1) — todo el directorio ee/ (actualmente ee/sso, la implementación de SSO/OIDC). Ver ee/LICENSE.BUSL y ee/README.md.

En resumen: puedes autoalojar, bifurcar y modificar Calame libremente; la BUSL en ee/* solo restringe reempaquetarlo como un producto competidor de pago. Cada versión con licencia BUSL se convierte automáticamente a Apache 2.0 cuatro años después de su publicación.