Calame

Gerador visual no-code que transforma qualquer banco de dados em múltiplos servidores MCP com escopo — um por grupo de acesso, com mascaramento de PII e escopo de consulta com falha segura integrados.

Documentação

Calame

Calame

Transforme qualquer banco de dados em um servidor MCP — visualmente.

Início rápido · Recursos · Como funciona · Licença


O Calame é um aplicativo web auto-hospedado que se conecta ao seu banco de dados PostgreSQL, MySQL ou SQLite, permite configurar perfis de acesso — permissões por tabela, mascaramento de PII, escopo em nível de linha — e os disponibiliza como servidores MCP (Model Context Protocol) com autenticação refinada.

Conecte seu perfil a qualquer cliente MCP (LLM, Claude Desktop, Cursor, VS Code, ChatGPT Desktop…) ou use o chat integrado para consultar seus dados em linguagem natural. Sem geração de código, sem dependência — o Calame é o plano de controle.

Início rápido

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

Abra http://localhost:4567 — crie a conta de administrador, conecte um banco de dados, crie um perfil e você estará pronto.

Ou com Docker:

docker compose up

O Compose vincula-se a 127.0.0.1 por padrão. Defina CALAME_BIND_ADDRESS=0.0.0.0 somente quando você expõe intencionalmente o Calame atrás de um firewall ou proxy reverso.

O RAG de documentos precisa de um provedor de embeddings. Para usar o modelo local incluído com Docker, prepare-o uma vez antes de iniciar o Compose:

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

O modelo é baixado de uma revisão fixada e verificado por tamanho e SHA-256. Alternativamente, configure uma configuração de IA remota com capacidade de embedding na interface.

Na primeira execução, o Calame gera automaticamente um CALAME_SECRET_KEY usado para criptografar tokens e strings de conexão, e o persiste ao lado do seu banco de dados (.calame-secret). Se você implantar com Docker, monte um volume persistente em /data para que esse arquivo sobreviva a reinicializações — caso contrário, cada reinicialização invalida seus tokens salvos. Você também pode definir CALAME_SECRET_KEY você mesmo por meio do ambiente para reutilizar um segredo existente.

→ Início rápido detalhado — passo a passo completo, da instalação à primeira consulta de cliente MCP.

Recursos

Conectores de banco de dados

  • PostgreSQL · MySQL · SQLite · Microsoft SQL Server — introspecção de esquema, relações, dados de exemplo
  • Somente leitura por padrão, com gravações opcionais sujeitas a política e aprovação; apenas consultas parametrizadas
  • Tunelamento SSH opcional para bancos de dados remotos

Perfis de acesso

  • Selecione tabelas e colunas para expor por perfil
  • Detecção e mascaramento de PII (automático + regras personalizadas, global ou por coluna)
  • Escopo de dados em nível de linha (por exemplo, restringir um perfil a client_email = X)
  • Fila de gravação com fluxo de aprovação para consultas de mutação

Autenticação — por perfil

  • Aberta, token Bearer, senha, SSO OIDC, OAuth 2.1 (Google, Microsoft, GitHub…), ou URL de validação externa
  • Tokens por usuário com revogação
  • Registro dinâmico de cliente MCP OAuth 2.1 (Claude Desktop / Cursor / VS Code com descoberta automática)
  • Log de auditoria completo com exportação

Chat integrado

  • Consulte seus dados em linguagem natural pela interface — sem necessidade de cliente externo
  • Provedores de LLM conectáveis:
    • Anthropic (Claude direto)
    • OpenRouter (Claude, GPT, Gemini, Llama, …)
    • Compatível com OpenAI personalizado — Ollama auto-hospedado, vLLM, LM Studio

Base de conhecimento (RAG)

  • Conecte fontes de documentos (pastas locais, S3, Google Drive/Planilhas, Notion, SharePoint, Git) e pesquise nelas pelo chat
  • Embeddings locais ou remotos — prepare o modelo EmbeddingGemma-300M fixado explicitamente para processamento no dispositivo, ou configure um provedor de IA com capacidade de embedding. A imagem Docker não baixa o modelo silenciosamente.
  • Mascaramento de PII, pesquisa híbrida (vetorial + palavra-chave), escopo por perfil

Operações

  • Convites por e-mail (SMTP), gerenciamento de usuários, painel de métricas
  • Integração com HashiCorp Vault para segredos
  • Modelos de Docker + proxy reverso (Caddy, nginx) incluídos

Como funciona

┌────────────┐   ┌─────────────┐   ┌───────────────────────────────┐
│  Your DB   │──▶│   Calame    │──▶│  MCP client (Claude Desktop, │
│ (Pg/My/Lt) │   │ (profiles,  │   │  Cursor, VS Code, ChatGPT,    │
│            │   │  auth, PII) │   │  built-in chat, LLM…)         │
└────────────┘   └─────────────┘   └───────────────────────────────┘
  1. Conecte um banco de dados (o Calame faz a introspecção do esquema).
  2. Crie um perfil — selecione tabelas, mascare colunas de PII, escolha o modo de autenticação.
  3. Inicie o perfil. O endpoint MCP dele é http://localhost:4567/mcp/<profile>.
  4. Aponte seu cliente MCP para ele, ou abra o chat integrado.

Feedback

Algo quebrado? Tem um caso de uso que não cobrimos? Abra uma issue ou inicie uma discussão.

Licença

O Calame é duplamente licenciado:

  • Apache 2.0 — raiz, packages/*, scripts/ e tudo o mais fora de ee/. Consulte LICENSE.
  • Business Source License 1.1 (BUSL-1.1) — todo o diretório ee/ (atualmente ee/sso, a implementação de SSO/OIDC). Consulte ee/LICENSE.BUSL e ee/README.md.

Em resumo: você pode auto-hospedar, bifurcar e modificar o Calame livremente; a BUSL em ee/* apenas restringe reembalá-lo como um produto concorrente pago. Cada versão licenciada sob BUSL converte-se automaticamente para Apache 2.0 quatro anos após sua publicação.