Set up IFC MCP
IFC MCP runs as a local MCP server from npm. You do not need a separate desktop installer.
Prerequisites
Install Node.js 18.20 or newer from the official Node.js download page. Choose the LTS version for your operating system.
After installing Node.js, reopen the app where you want to use IFC MCP. npx is included with Node.js and is used to start the MCP server.
You can check your installation from a terminal:
node --version
npx --version
Install command
Most MCP clients start IFC MCP with this command:
npx -y ifc-mcp
The MCP transport is stdio. The server package name is ifc-mcp.
Claude Desktop
Add IFC MCP to the Claude Desktop local MCP server configuration.
- Open Claude Desktop.
- Open
Settings. - Open the developer settings.
- Select
Edit Configif the button is available. - Add the following server entry.
- Save the file.
- Fully quit and reopen Claude Desktop.
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
If the config file already contains JSON, add only the ifc-mcp entry inside the existing mcpServers object.
| Operating system | Claude Desktop config file |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
For more detail, see Claude's local MCP server guide.
VS Code Copilot
You can install IFC MCP in VS Code with the install link or by adding a project config file.
To configure a project manually, create or edit .vscode/mcp.json:
{
"servers": {
"IFC MCP": {
"type": "stdio",
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
Reload VS Code after saving the file. Open Chat and use the tools or configure-tools button to confirm that IFC MCP is available.
For more detail, see the VS Code MCP server documentation.
Codex in VS Code
Add IFC MCP from the Codex settings UI or from the terminal.
- Open VS Code.
- Open the Codex panel.
- Open Codex settings.
- Select
MCP servers. - Add a server named
ifc-mcp. - Set the command to
npx. - Set the arguments to
-y ifc-mcp. - Save the server.
- Reload VS Code or start a new Codex session.
You can also add the server from a terminal:
codex mcp add ifc-mcp -- npx -y ifc-mcp
For more detail, see the Codex MCP documentation.
Claude Code in VS Code
For a project-level setup, create or edit .mcp.json in the project root:
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
Reopen Claude Code in VS Code, type /mcp, and approve the project server if Claude asks.
For a user-level setup, run:
claude mcp add --transport stdio ifc-mcp --scope user -- npx -y ifc-mcp
For more detail, see the Claude Code VS Code documentation and the Claude Code MCP documentation.
Other MCP clients
Use this server entry for MCP clients that support local stdio servers:
{
"mcpServers": {
"ifc-mcp": {
"command": "npx",
"args": ["-y", "ifc-mcp"]
}
}
}
Restart the MCP client after saving the config.
For protocol background, see the Model Context Protocol documentation.
Verify the setup
Start a new chat in your MCP client and check that these tools are available:
| Tool | Purpose |
|---|---|
run-python |
Run IfcOpenShell Python for IFC inspection, reporting, validation, exports, and IFC creation. |
open-ifc-viewer |
Open or show the local IFC viewer. |
show-ifc-file |
Load an IFC file or generated IFC download into the open viewer. |
set-bcf-view |
Apply a BCF or BCFZIP viewpoint file in the open viewer. |
clear-ifc-viewer |
Remove loaded models and BCF state from the viewer. |
Troubleshooting
node or npx is not found
Install Node.js LTS, then fully close and reopen the MCP client. Some desktop apps need a restart before they see updated environment variables.
IFC MCP does not appear in the client
Check that the JSON is valid, the server entry is inside the correct object, and the client has been restarted. In clients with per-chat tool permissions, start a new chat and enable the IFC MCP tools.
The viewer does not open
IFC MCP returns a local viewer URL such as http://127.0.0.1:8765. If your MCP client cannot open links automatically, copy the returned URL into a browser.
If port 8765 is already in use, close the process that uses it and try again.
Python cannot open a Windows, macOS, or Linux host path
Pyodide cannot access host file system paths directly. The assistant must pass the local IFC path in the file_path tool argument and use the preloaded model variable inside Python. Ask the assistant to use the IFC MCP run-python file upload path instead of calling ifcopenshell.open("C:\\...") directly.
A generated download link expired
Generated files are temporary local links. Run the prompt again to recreate the output file.
Applying a BCF viewpoint fails
Load an IFC file in the viewer before applying a BCF viewpoint. Use open-ifc-viewer, then show-ifc-file, then set-bcf-view.