Kamai MCP
oficialLevantamento de quantitativos a partir de plantas de construção: transforme plantas em PDF em cômodos, paredes, portas, janelas, áreas e contagens, com visualizações interativas da planta e do levantamento.
O que você pode fazer com Kamai MCP?
-
Navegar por projetos e plantas — Peça para ver um painel interativo dos seus projetos de construção e suas plantas com status de prontidão via
view_projectsoulist_blueprints. -
Inspecionar medições de quantitativos — Solicite uma tabela classificável das quantidades medidas (cômodos, paredes, portas, janelas) de uma planta usando
view_takeoffoulist_elements. -
Editar elementos da planta — Instrua a renomear, recolorir ou reclassificar elementos, ou criar uma pasta de legenda, por meio de
update_elements,move_elementsoucreate_folder. -
Baixar planos processados — Obtenha um link temporário de PDF de uma planta com os elementos detectados destacados usando
download_plan. -
Gerenciar projetos e tarefas — Crie ou renomeie projetos, e visualize ou cancele tarefas de processamento, via
create_project,update_project,list_jobsoucancel_job. -
Executar consultas avançadas — Com as ferramentas de consulta habilitadas, conte elementos por categoria, encontre itens específicos ou calcule áreas líquidas de superfícies de paredes usando
count_elements,find_elementsoucalculate_wall_surface_area.
Servidor MCP hospedado
npx add-mcp 'https://mcp.kamai.io/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
kamai-mcp
O servidor MCP da Kamai: ferramentas e widgets de MCP Apps para projetos de blueprint de construção, blueprints e medições do Kamai. Ele roda contra a API MCP da Kamai e valida tokens de acesso emitidos pelo servidor de autorização OAuth da Kamai. Ele não contém segredos da Kamai.
Ferramentas
| Ferramenta | O que faz |
|---|---|
view_projects | Painel interativo dos projetos e blueprints do usuário |
list_blueprints | Blueprints agrupados por projeto, com seus IDs e se estão prontos |
view_blueprint | Uma página de blueprint com suas formas de medição desenhadas por cima |
view_takeoff | Quantidades de medição como uma tabela ordenável |
list_elements | Linhas por elemento (cômodos, paredes, portas, janelas, objetos) com contornos |
list_folders | Pastas de legenda de um blueprint |
download_plan | Um PDF de um blueprint processado com seus elementos detectados destacados, como um link de download temporário |
update_elements, move_elements, create_folder | Renomear, recolorir e reclassificar elementos; criar uma pasta |
set_opening_height | Armazenar uma altura informada pelo usuário, ou uma etiqueta de porta/janela, em peças de abertura de superfície de parede |
create_project, update_project | Criar ou renomear um projeto |
list_jobs, get_job, cancel_job | Trabalhos de processamento de um projeto |
view_upload | Painel de upload para um PDF de blueprint |
ingest_blueprint_from_chat | Importar um PDF anexado a uma mensagem do ChatGPT (somente ChatGPT) |
open_kamai | Abrir o aplicativo Kamai em um painel |
Com KAMAI_QUERY_TOOLS=on (veja abaixo):
| Ferramenta | O que faz |
|---|---|
count_elements | Contagens e totais por categoria Kamai (portas, janelas, paredes, áreas molhadas…), agrupados, somados no banco de dados |
find_elements | Elementos individuais com tipo, pasta, etiqueta, lado e medições |
calculate_wall_surface_area | Área líquida de parede (tinta ou gesso) dos cômodos |
render_table | Um painel de tabela cujas linhas destacam seus elementos na planta |
set_scale | Definir a escala de desenho de um blueprint |
list_blueprints também aceita include_inventory (com um project_id): o que cada
blueprint contém.
list_projects, get_project, get_blueprint, request_blueprint_upload,
finalize_blueprint_upload, e com as ferramentas de consulta get_table_row_elements e
get_element_outlines, são somente para aplicativos: chamáveis pelos widgets, não anunciados ao
modelo.
Executar localmente com sua chave de API
A maneira mais rápida de executar este servidor com seus próprios dados Kamai é o modo local: o host inicia o servidor, fala com ele via stdio, e a credencial é uma chave de API pessoal da Kamai (API Keys no aplicativo Kamai) em vez de OAuth.
bun install
bun run build:widgets
KAMAI_API_KEY=... MCP_API_BASE_URL=https://mcp-api.kamai.io bun run local
Claude Code:
claude mcp add --env KAMAI_API_KEY=... --env MCP_API_BASE_URL=https://mcp-api.kamai.io \
--transport stdio kamai -- bun /path/to/kamai-mcp/src/local.ts
Claude Desktop (claude_desktop_config.json):
{ "mcpServers": { "kamai": {
"command": "bun", "args": ["/path/to/kamai-mcp/src/local.ts"],
"env": { "KAMAI_API_KEY": "...", "MCP_API_BASE_URL": "https://mcp-api.kamai.io" } } } }
A chave é usada como bearer para cada chamada de API; as ferramentas operam como o proprietário da chave.
Adicione KAMAI_QUERY_TOOLS=on ao ambiente para as ferramentas de consulta.
Executar o servidor HTTP
bun install
cp .env.example .env
bun run dev
Os valores em .env.example são placeholders: defina MCP_PUBLIC_URL e
MCP_AUTH_ISSUER para seu túnel e para um servidor de autorização acessível antes
de iniciar, ou cada solicitação será recusada com invalid_token.
| Variável | Significado |
|---|---|
PORT | Porta de escuta, padrão 8006 |
MCP_PUBLIC_URL | A URL que os hosts chamam e pedem um token (o resource na descoberta); um túnel, não localhost |
MCP_AUTH_ISSUER | Emissor dos tokens de acesso, comparado byte a byte com o iss do token |
MCP_AUTH_JWKS_URI | Opcional. Padrão é {MCP_AUTH_ISSUER}/jwks.json |
MCP_API_BASE_URL | URL base da API MCP da Kamai, https://mcp-api.kamai.io. Também o público que um token de acesso deve carregar |
MCP_ACCEPTED_AUDIENCES | Opcional, públicos separados por vírgula, para uma migração. Padrão é MCP_API_BASE_URL |
KAMAI_API_KEY | Somente modo local: a chave de API pessoal com a qual as ferramentas operam |
KAMAI_APP_ORIGINS | Opcional, origens extras separadas por vírgula que open_kamai pode enquadrar; a primeira se torna o padrão |
KAMAI_QUERY_TOOLS | on registra as ferramentas de consulta. https://mcp-api.kamai.io as serve; deixe desligado contra uma API que responde /v1/vocabulary com 404 |
KAMAI_MCP_NO_INSTRUCTIONS | 1 deixa as instruções do servidor de fora, como o claude.ai faz, para testar as descrições das ferramentas sozinhas |
A API MCP e o servidor de autorização são operados pela Kamai, então executar o
servidor HTTP de ponta a ponta precisa de acesso a ambos. Um servidor MCP só é realmente testável
contra um host real, e um host só pode alcançar uma URL HTTPS pública, então o desenvolvimento
em modo HTTP significa rodar atrás de um túnel e apontar MCP_PUBLIC_URL para ele.
bun run dev compila os widgets primeiro: o servidor serve o HTML compilado de
dist/widgets/, não o código-fonte React, então recompile após tocar em qualquer coisa sob
src/widgets/app/.
Os widgets usam React, TypeScript, Vite, Tailwind CSS, DaisyUI e Lucide. O Vite produz um recurso HTML autocontido por widget, então nada precisa de hospedagem.
Compilações locais exigem Bun 1.3.3 e Node.js 22.12 ou mais recente.
Estrutura
src/index.ts Servidor HTTP, metadados de recurso protegido OAuth, transporte MCP
src/local.ts Ponto de entrada stdio para modo local (chave de API pessoal)
src/auth.ts Verificação de token Bearer (desafios RFC 9728)
src/server.ts Registro de ferramentas e recursos
src/api.ts Cliente para a API MCP da Kamai
src/elements.ts Paginação, filtragem e orçamento de resultados do list_elements
src/errors.ts O texto que uma chamada de ferramenta falha mostra ao modelo
src/query/ Ferramentas de consulta: descrições, vocabulário, filtros, orçamentos, contrato
src/widgets/ Recursos de widgets, metadados CSP e fontes dos widgets React
scripts/ Compilação de widgets (escapa & para que o Open WebUI possa incorporar os
widgets); check-routes e check-vocabulary contra uma API ativa
scripts/open-webui/
Auxiliares do Open WebUI: uma ferramenta open_kamai, um script de host
em modo de exibição, uma demonstração de ponte local
Privacidade e suporte
- Política de privacidade: https://kamai.io/privacy-policy
- Suporte: https://kamai.io/support ou contact@kamai.io
Contribuindo
Veja CONTRIBUTING.md. Problemas de segurança vão para o endereço em SECURITY.md, não para o rastreador de problemas.
Licença
Apache-2.0. Direitos autorais 2026 Kamai Enterprises LTD.
O nome e o logotipo Kamai são marcas registradas da Kamai Enterprises LTD e não são cobertos pela licença.