IFC MCP
IFC MCP позволяет вашему AI-ассистенту просматривать IFC/BIM-файлы, создавать IFC-файлы, формировать отчёты, открывать IFC-модели в просмотрщике и применять BCF viewpoints.
Как это работает
После установки задайте вашему AI-клиенту запрос на обычном языке. AI-клиент запускает IFC MCP, когда ему нужны инструменты IFC, и отправляет ваш запрос на локальный сервер.
IFC MCP читает IFC-файлы локально, выполняет необходимую логику IFC в локальном Pyodide runtime с IfcOpenShell и возвращает ответ в чат.
Хорошие примеры запросов:
-
Open examples/sample.ifc and summarize the model. -
Count the walls, doors, windows, spaces, and property sets in examples/sample.ifc. -
Find missing names, classifications, and suspicious property values in this IFC file. -
Create a CSV room-area report from this IFC file. -
Create a simple IFC file with one building, one storey, and four walls. -
Open the IFC viewer and show examples/sample.ifc. -
Apply C:\path\to\viewpoint.bcfzip in the open IFC viewer. -
Clear the IFC viewer.
Если IFC MCP создает отчёт, BCF-файл или новый IFC-файл, он возвращает локальную ссылку для загрузки. Если вы попросили открыть модель, IFC MCP открывает локальную ссылку на просмотрщик. Если ваш AI-клиент автоматически не откроет эту ссылку, откройте её в браузере.
Установка
1. Предварительные требования
Установите Node.js 18.20 или новее с официальной страницы загрузки Node.js: официальная страница загрузки Node.js.
Выберите LTS-версию для вашей ОС, запустите установщик, затем снова запустите приложение, где вы хотите использовать IFC MCP.
IFC MCP использует npx, который включён в Node.js. Если ваше приложение позже скажет, что node или npx не найдены, переустановите Node.js LTS и повторно откройте приложение.
2. Выбор вашего клиента
Claude Desktop
Опция 1: Использовать Claude Desktop UI
-
Откройте Claude Desktop.
-
Откройте
Settings(Настройки). -
Откройте настройки разработчика
DeveloperилиDesktop app. -
Нажмите
Edit Config, если кнопка доступна. Это откроет конфигурационный файл IFC MCP для Claude Desktop. -
Вставьте приведённый ниже JSON, сохраните файл и полностью выйдите и снова запустите Claude Desktop.
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
Если файл уже содержит JSON, добавьте только запись ifc-mcp внутри существующего объекта mcpServers. Не создавайте второй объект mcpServers.
Опция 2: Открыть файл конфигурации напрямую
Используйте этот способ, если вы не видите Edit Config в Claude Desktop:
-
Windows:
%APPDATA%\Claude\claude_desktop_config.json -
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Вставьте тот же JSON из option 1, сохраните файл, затем полностью выйдите и снова запустите Claude Desktop.
Проверка
Чтобы проверить настройку, откройте Claude Desktop, начните новый чат, нажмите кнопку + рядом с полем чата и найдите Connectors. IFC MCP должен появиться там после перезапуска Claude Desktop. Вы должны увидеть инструменты, перечисленные в разделе How It Works выше.
Для подробной информации смотрите руководство Claude по локальному MCP-серверу: local MCP server guide.
VS Code Copilot
Опция 1: Использовать кнопку установки
Это откроет VS Code и добавит IFC MCP.
Если VS Code спросит, доверяете ли вы серверу, примите. Перезагрузите VS Code, если инструменты не появились. Откройте Chat и используйте кнопку tools/configure-tools, чтобы увидеть инструменты IFC MCP.
Опция 2: Добавить файл .vscode/mcp.json вручную
{
"servers": {
"IFC MCP": {
"type": "stdio",
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
Перезагрузите VS Code после сохранения файла.
Откройте Chat и используйте кнопку tools/configure-tools, чтобы увидеть инструменты IFC MCP.
Для более детальной информации смотрите документацию по VS Code MCP server docs.
VS Code Codex
Опция 1: Использовать UI настроек Codex
-
Откройте VS Code.
-
Откройте панель Codex.
-
Откройте настройки Codex.
-
Выберите
MCP servers. -
Нажмите
Add server. -
Введите:
Name: ifc-mcp
-
Command:
npx -
Arguments:
-y ifc-mcp -
Сохраните сервер.
-
Перезапустите VS Code или начните новую сессию Codex.
-
Проверьте доступность инструментов IFC MCP в новой сессии Codex.
Опция 2: Использовать команду терминала
-
Откройте
Terminal -> New Terminalв VS Code. -
Вставьте и запустите:
codex mcp add ifc-mcp -- npx -y ifc-mcp
-
Перезапустите VS Code или начните новую сессию Codex.
-
Проверьте доступность инструментов IFC MCP в новой сессии Codex.
Для подробной информации смотрите Codex MCP docs.
VS Code Claude Code
Опция 1: Использовать проектный JSON-файл
-
Откройте ваш проект в VS Code.
-
Создайте или отредактируйте
.mcp.jsonв корне проекта. -
Добавьте этот JSON и сохраните файл:
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
-
Перезапустите Claude Code в VS Code.
-
Введите
/mcpи подтвердите сервер проекта, если Claude спросит. -
Проверьте, что
ifc-mcpподключён.
Опция 2: Использовать терминальную команду для всех проектов
claude mcp add --transport stdio ifc-mcp --scope user -- npx -y ifc-mcp
Затем снова откройте Claude Code в VS Code, наберите /mcp и проверьте, что ifc-mcp подключён.
Если команда claude не найдена, сначала установите Claude Code.
Для подробной информации смотрите Claude Code VS Code docs и Claude Code MCP docs.
VS Code Claude Code
Опция 1: Использовать проектный JSON-файл
-
Откройте ваш проект в VS Code.
-
Создайте или отредактируйте
.mcp.jsonв корне проекта. -
Добавьте этот JSON и сохраните файл:
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
-
Перезапустите Claude Code в VS Code.
-
Введите
/mcpи подтвердите сервер проекта, если Claude спросит. -
Проверьте, что
ifc-mcpподключён.
Опция 2: Использовать терминальную команду для всех проектов
claude mcp add --transport stdio ifc-mcp --scope user -- npx -y ifc-mcp
Затем снова откройте Claude Code в VS Code, наберите /mcp, и проверьте, что ifc-mcp подключён.
Если команда claude не найдена, установите Claude Code.
Для подробной информации смотрите Claude Code VS Code docs и Claude Code MCP docs.
Другие MCP клиенты
Добавьте эту запись сервера в конфигурацию вашего MCP клиента:
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
Перезапустите MCP-клиент после сохранения конфигурации.
Для подробной информации смотрите Model Context Protocol docs.
Использование вашего собственного просмотрщика
Если ваше приложение уже имеет IFC-viewer, вы можете повторно использовать обычный интерфейс инструментов IFC MCP и выполнять действия просмотрщика в вашем приложении вместо открытия встроенного локального просмотрщика. MCP-клиент всё равно вызывает такие инструменты, как show-ifc-file и set-bcf-view; ваше приложение определяет только, что именно делают эти инструменты просмотра.
{
"show-ifc-file": async ({ file_path }) => {
return loadIfcIntoThisViewer(file_path);
},
"set-bcf-view": async ({ bcf_path }) => {
return applyBcfToThisViewer(bcf_path);
},
"clear-ifc-viewer": async () => {
return clearThisViewer();
},
}
import { createServer } from "ifc-mcp";
const server = createServer({
viewer: {
"show-ifc-file": async ({ file_path }) => {
return loadIfcIntoThisViewer(file_path);
},
"set-bcf-view": async ({ bcf_path }) => {
return applyBcfToThisViewer(bcf_path);
},
"clear-ifc-viewer": async () => {
return clearThisViewer();
},
},
});
Названия колбэков и имена аргументов соответствуют именам инструментов MCP и их схемам, поэтому второго механизма именования не требуется.
Локальная разработка
Для локальной разработки из этого репозитория:
npm install
npm test
Рабочее пространство включает .vscode/mcp.json, чтобы VS Code мог запускать сервер из этого репозитория.
Безопасность
IFC MCP держит работу с IFC на вашей машине. Он читает ваши IFC-файлы локально, выполняет локальный анализ IFC и открывает локальный просмотрщик. Он не публикует просмотрщик в интернет.
Сгенерированные отчёты, BCF-файлы и IFC-файлы являются временными локальными ссылками для загрузки.
IFC MCP не записывает сгенерированные выходные файлы в папку вашего проекта по умолчанию.
Используйте IFC MCP только с IFC/BIM-файлами и папками проектов, которым доверяете. Он может читать файлы, которые вы просите использовать, и неправильные или вводящие в заблуждение данные модели могут привести к неверным отчётам или сгенерированным IFC-файлам.