Kamai MCP
официальныйПодсчёт объёмов по строительным чертежам: преобразование PDF-планов в помещения, стены, двери, окна, площади и количества с интерактивными видами плана и подсчёта.
Что можно делать с Kamai MCP?
-
Просмотр проектов и чертежей — Запросите интерактивную панель ваших строительных проектов и их чертежей со статусом готовности через
view_projectsилиlist_blueprints. -
Проверка измерений — Запросите сортируемую таблицу измеренных величин (помещения, стены, двери, окна) из чертежа с помощью
view_takeoffилиlist_elements. -
Редактирование элементов чертежа — Дайте указание переименовать, перекрасить или переклассифицировать элементы, либо создать папку легенды через
update_elements,move_elementsилиcreate_folder. -
Загрузка обработанных планов — Получите временную PDF-ссылку на чертеж с выделенными обнаруженными элементами с помощью
download_plan. -
Управление проектами и задачами — Создавайте или переименовывайте проекты, просматривайте или отменяйте задачи обработки через
create_project,update_project,list_jobsилиcancel_job. -
Выполнение расширенных запросов — При включенных инструментах запросов подсчитывайте элементы по категориям, находите конкретные объекты или вычисляйте чистую площадь стен с помощью
count_elements,find_elementsилиcalculate_wall_surface_area.
Размещённый MCP-сервер
npx add-mcp 'https://mcp.kamai.io/mcp'Устанавливается в Claude Code, Codex, Cursor и другие
Документация
kamai-mcp
MCP-сервер Kamai: инструменты и виджеты MCP Apps для Kamai проектов строительных чертежей, чертежей и спецификаций. Он работает через MCP API Kamai и проверяет токены доступа, выданные OAuth-сервером авторизации Kamai. Он не хранит секреты Kamai.
Инструменты
| Инструмент | Что делает |
|---|---|
view_projects | Интерактивная панель проектов и чертежей пользователя |
list_blueprints | Чертежи, сгруппированные по проектам, с их идентификаторами и статусом готовности |
view_blueprint | Страница чертежа с наложенными на него формами спецификаций |
view_takeoff | Измеренные количества спецификаций в виде сортируемой таблицы |
list_elements | Строки по элементам (комнаты, стены, двери, окна, объекты) с контурами |
list_folders | Папки легенды чертежа |
download_plan | PDF обработанного чертежа с выделенными обнаруженными элементами, как временная ссылка для скачивания |
update_elements, move_elements, create_folder | Переименование, перекраска и перемещение элементов; создание папки |
set_opening_height | Сохранение указанной пользователем высоты или метки двери/окна на элементах проёмов в стенах |
create_project, update_project | Создание или переименование проекта |
list_jobs, get_job, cancel_job | Задания обработки проекта |
view_upload | Панель загрузки PDF чертежа |
ingest_blueprint_from_chat | Импорт PDF, прикреплённого к сообщению ChatGPT (только ChatGPT) |
open_kamai | Открытие приложения Kamai в панели |
С KAMAI_QUERY_TOOLS=on (см. ниже):
| Инструмент | Что делает |
|---|---|
count_elements | Количество и итоги по категориям Kamai (двери, окна, стены, влажные помещения…), сгруппированные и суммированные в базе данных |
find_elements | Отдельные элементы с типом, папкой, меткой, ориентацией и измерениями |
calculate_wall_surface_area | Чистая площадь стен (под покраску или штукатурку) комнат |
render_table | Табличная панель, строки которой подсвечивают свои элементы на плане |
set_scale | Установка масштаба чертежа |
list_blueprints также принимает include_inventory (с project_id): что содержит
каждый чертёж.
list_projects, get_project, get_blueprint, request_blueprint_upload,
finalize_blueprint_upload, а также с инструментами запросов get_table_row_elements и
get_element_outlines, доступны только в приложении: вызываются виджетами, не рекламируются
модели.
Локальный запуск с вашим API-ключом
Самый быстрый способ запустить этот сервер с вашими данными Kamai — локальный режим: хост запускает сервер, общается с ним через stdio, а учётные данные — это личный API-ключ из Kamai (API Keys в приложении Kamai) вместо 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" } } } }
Ключ используется как bearer для каждого вызова API; инструменты работают от имени владельца ключа.
Добавьте KAMAI_QUERY_TOOLS=on в окружение для инструментов запросов.
Запуск HTTP-сервера
bun install
cp .env.example .env
bun run dev
Значения в .env.example являются заполнителями: установите MCP_PUBLIC_URL и
MCP_AUTH_ISSUER на ваш туннель и на доступный сервер авторизации
перед запуском, иначе каждый запрос будет отклонён с invalid_token.
| Переменная | Значение |
|---|---|
PORT | Порт прослушивания, по умолчанию 8006 |
MCP_PUBLIC_URL | URL, который хосты вызывают и запрашивают токен (resource в обнаружении); туннель, а не localhost |
MCP_AUTH_ISSUER | Эмитент токенов доступа, сопоставляется побайтово с iss токена |
MCP_AUTH_JWKS_URI | Необязательно. По умолчанию {MCP_AUTH_ISSUER}/jwks.json |
MCP_API_BASE_URL | Базовый URL MCP API Kamai, https://mcp-api.kamai.io. Также аудитория, которую должен содержать токен доступа |
MCP_ACCEPTED_AUDIENCES | Необязательные аудитории через запятую, для перехода. По умолчанию MCP_API_BASE_URL |
KAMAI_API_KEY | Только локальный режим: личный API-ключ, от имени которого работают инструменты |
KAMAI_APP_ORIGINS | Необязательные дополнительные источники через запятую, которые open_kamai может встраивать; первый становится по умолчанию |
KAMAI_QUERY_TOOLS | on регистрирует инструменты запросов. https://mcp-api.kamai.io обслуживает их; отключите его для API, который отвечает на /v1/vocabulary с 404 |
KAMAI_MCP_NO_INSTRUCTIONS | 1 исключает инструкции сервера, как это делает claude.ai, чтобы проверить описания инструментов отдельно |
MCP API и сервер авторизации управляются Kamai, поэтому для работы HTTP-сервера
от начала до конца нужен доступ к обоим. MCP-сервер действительно можно протестировать только
против реального хоста, а хост может достичь только публичного HTTPS URL, поэтому разработка
в HTTP-режиме означает работу за туннелем и указание MCP_PUBLIC_URL на него.
bun run dev сначала собирает виджеты: сервер обслуживает собранный HTML из
dist/widgets/, а не исходники React, поэтому пересобирайте после изменений в
src/widgets/app/.
Виджеты используют React, TypeScript, Vite, Tailwind CSS, DaisyUI и Lucide. Vite создаёт один автономный HTML-ресурс на виджет, поэтому ничего не нужно хостить.
Локальные сборки требуют Bun 1.3.3 и Node.js 22.12 или новее.
Структура
src/index.ts HTTP-сервер, метаданные защищённых ресурсов OAuth, MCP-транспорт
src/local.ts Точка входа stdio для локального режима (личный API-ключ)
src/auth.ts Проверка Bearer-токенов (вызовы RFC 9728)
src/server.ts Регистрация инструментов и ресурсов
src/api.ts Клиент для MCP API Kamai
src/elements.ts list_elements: постраничный вывод, фильтрация и бюджетирование результатов
src/errors.ts Текст, который показывает модель при неудачном вызове инструмента
src/query/ Инструменты запросов: описания, словарь, фильтры, бюджеты, контракт
src/widgets/ Ресурсы виджетов, метаданные CSP и исходники React-виджетов
scripts/ Сборка виджетов (экранирует &, чтобы Open WebUI мог встраивать
виджеты); check-routes и check-vocabulary против живого API
scripts/open-webui/
Помощники Open WebUI: инструмент open_kamai, скрипт хоста
в режиме отображения, локальный мост для демо
Конфиденциальность и поддержка
- Политика конфиденциальности: https://kamai.io/privacy-policy
- Поддержка: https://kamai.io/support или contact@kamai.io
Участие
См. CONTRIBUTING.md. Проблемы безопасности направляйте по адресу в SECURITY.md, а не в трекер задач.
Лицензия
Apache-2.0. Авторское право 2026 Kamai Enterprises LTD.
Название и логотип Kamai являются товарными знаками Kamai Enterprises LTD и не покрываются лицензией.