Skip to main content

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

  • Model Overview
  • Interaction Sample

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

  1. Clone the repository:
git clone https://github.com/yourusername/mcp-revit-sample-au2025.git
cd mcp-revit-sample-au2025
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate
  1. Install the required packages:
# Install dependencies
uv add mcp[cli] httpx
  1. 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 :

  1. Create a .vscode folder in the root of your project.
  2. Create a mcp.json file inside the .vscode folder.
  3. Paste the following configuration into the mcp.json file:
{
  "servers": {
    "revit-mcp-vscode": {
      "command": "uv",
      "type": "stdio",
      "args": [
        "--directory",
        "C:\\Users\\chuon\\Downloads\\repos\\mcp-revit-sample-au2025",
        "run",
        "revit.py"
      ],
      "env": {

      }
    }
  }
}
  1. Restart Vscode.
  2. Open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P) and type "MCP: Start Server" to start the MCP server.

Preview

preview

Knowledge

Project details


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

If you're not sure about the file name format, learn more about wheel file names.

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

Hashes for iflow_mcp_chuongmep_mcp_revit_sample_au2025-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1ec8b0a4909473afb1d1bc83ca89f7b43c09da73a2e1a0c631a61169d51d43b6
MD5 5d049bfff9a4608f3f90ac265b3a659b
BLAKE2b-256 90af74e6382ed3ad82cdc2e95557a36f1ecb9bfb20d2454de0895aaa3099093f

See more details on using hashes here.

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

Hashes for iflow_mcp_chuongmep_mcp_revit_sample_au2025-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a3df3e001718c1352002586c6781943359a7fe25c57e4a959700673c7538afa
MD5 e760c3ae3084dc1c648e7dec6f4fc06c
BLAKE2b-256 2ecf488d18eb6caa2f1c3b778036997287a6e0786b81b443c63a9fe99b0a9b09

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page