Add your description here
Project description
MCP Revit Hackathon Demo (AU 2025)
A lightweight Model Context Protocol (MCP) sample that lets AI clients query a Revit model for BIM insights like element counts, category breakdowns, families/types, room compliance, and naming conventions. It’s designed for quick demos, teaching, and extending MCP patterns with AEC data.
Highlights
- MCP-native: works with MCP-enabled clients (e.g., Claude Desktop)
- Simple prompts → structured BIM answers
- Windows-first sample with minimal setup
- Easy to extend with new queries and checks
Features
- Element insights
- Count total elements in the model
- Category breakdown (e.g., Walls, Doors, Rooms)
- Get elements by category or ID
- Families and types
- List families and types by category
- Summarize unique families/types and instance counts
- Room checks
- Basic compliance heuristics (area/height/load fields present)
- Naming convention review (name/number/mark/department/occupancy)
- Developer-friendly
- Small, readable code layout
- Example prompts and outputs
- Works with sample model data under
models/
Example Prompts
- “how many elements in model?” → 8
- “give me details of all categories in model” → Walls: 4, Doors: 3, Rooms: 1
- “How many family and type name, give me details” → Basic Wall: Generic - 200mm; M_Single-Flush: 0915 x 2134mm
- “I want check compliance standard for room” → flags missing occupancy/finishes/HVAC loads
- “give me check naming conversion for room category” → suggests standard naming and numbering patterns
Screenshots
System requirements
- Python 3.10 or higher installed.
- You must use the Python MCP SDK 1.2.0 or higher.
- The demo using Github Copilot Chat in Vscode, so you need to install the Github Copilot Chat and Vscode to run the demo. Some subscription may be required for the Copilot Chat.
Set up your environment
First, let’s install uv and set up our Python project and environment:
Macos/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Set up your project
- Clone the repository:
git clone https://github.com/yourusername/mcp-revit-sample-au2025.git
cd mcp-revit-sample-au2025
- Create a virtual environment:
python -m venv venv
source venv/bin/activate
- Install the required packages:
# Install dependencies
uv add mcp[cli] httpx
- configuration file (Use Claude):
Macos/Linux:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
code $env:AppData\Claude\claude_desktop_config.json
Paste the following configuration into the file:
{
"mcpServers": {
"revit-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/mcp-revit-sample-au2025",
"run",
"revit.py"
]
}
}
}
Config using VsCode :
- Create a
.vscodefolder in the root of your project. - Create a
mcp.jsonfile inside the.vscodefolder. - Paste the following configuration into the
mcp.jsonfile:
{
"servers": {
"revit-mcp-vscode": {
"command": "uv",
"type": "stdio",
"args": [
"--directory",
"C:\\Users\\chuon\\Downloads\\repos\\mcp-revit-sample-au2025",
"run",
"revit.py"
],
"env": {
}
}
}
}
- Restart Vscode.
- Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and type "MCP: Start Server" to start the MCP server.
Preview
Knowledge
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_chuongmep_mcp_revit_sample_au2025-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_chuongmep_mcp_revit_sample_au2025-0.1.0.tar.gz
- Upload date:
- Size: 376.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ec8b0a4909473afb1d1bc83ca89f7b43c09da73a2e1a0c631a61169d51d43b6
|
|
| MD5 |
5d049bfff9a4608f3f90ac265b3a659b
|
|
| BLAKE2b-256 |
90af74e6382ed3ad82cdc2e95557a36f1ecb9bfb20d2454de0895aaa3099093f
|
File details
Details for the file iflow_mcp_chuongmep_mcp_revit_sample_au2025-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_chuongmep_mcp_revit_sample_au2025-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a3df3e001718c1352002586c6781943359a7fe25c57e4a959700673c7538afa
|
|
| MD5 |
e760c3ae3084dc1c648e7dec6f4fc06c
|
|
| BLAKE2b-256 |
2ecf488d18eb6caa2f1c3b778036997287a6e0786b81b443c63a9fe99b0a9b09
|