Integracja Autodesk Revit z modelem Gemini poprzez MCP

Od pewnego czasu w ramach praktyki projektowej testuję różne sposoby wykorzystania narzędzi opartych na AI. Zaczynałem od automatyzacji przez skrypty, później dochodziły próby generowania kodu z języka naturalnego, analizy przepisów czy eksperymenty z obrazem. Z tych doświadczeń wynika jedna rzecz: klasyczne podejście do kodowania zaczyna mieć coraz mniejsze znaczenie w codziennej pracy projektowej. Coraz więcej wskazuje na to, że automatyzacja i zarządzanie modelem idzie w stronę bezpośredniej pracy z agentami AI, które komunikują się z oprogramowaniem przez API i operują bezpośrednio na modelu.
Środowisko BIM — szczególnie w przypadku pracy w Revit — łączy geometrię z dużą ilością danych opisowych co z jednej strony jest dużym plusem bo dane geometryczne zawierają warstwę informacyjną pozwalającą na identyfikację elementów (w przeciwieństwie do tradycyjnego CAD) ale z drugiej strony sprawia, że automatyzacja nie jest trywialna. Problem nie polega tylko na generowaniu poleceń, ale na jednoczesnym rozumieniu relacji między elementami modelu.
Przeglądając dostępne rozwiązania integrujące AI poprzez Model Context Protocol (MCP) z Revitem, zauważyłem, że większość przykładów opiera się na modelu Claude. Postanowiłem sprawdzić alternatywę i przeprowadzić wdrożenie z wykorzystaniem Gemini. Decyzja była w dużej mierze pragmatyczna — to model, z którego korzystam na co dzień w pracy projektowej i badawczej, więc naturalnym było sprawdzenie go w tym kontekście. Uproszczenie stosu narzędzi ma też znaczenie praktyczne: praca w jednym środowisku jest po prostu wygodniejsza i eliminuje konieczność utrzymywania kilku równoległych rozwiązań (w tym opłacania kilku subskrypcji). Drugi powód był techniczny. Model architektoniczny to jednocześnie geometria, zależności między elementami i dane opisowe. W praktyce oznacza to konieczność pracy multimodalnej na różnych typach informacji naraz. Chciałem sprawdzić, jak Gemini radzi sobie z takim kontekstem w bezpośrednim połączeniu z Revitem przez MCP — bez dodatkowych warstw pośrednich.

Celem testu było sprawdzenie dwóch rzeczy:
– czy komunikacja przez MCP działa stabilnie,
– czy model poprawnie interpretuje strukturę danych z Revita.

Poniżej opisuję konfigurację środowiska, która pozwala odtworzyć to połączenie. Do wpisu dołączam również krótki materiał wideo pokazujący działanie całości. Ścieżki zostały zanonimizowane — trzeba je dostosować do własnego środowiska.


Konfiguracja środowiska (pyRevit + MCP)

Wymagane komponenty

Python 3.12 (64-bit) https://www.python.org/downloads/windows/
W praktyce ta wersja działa stabilniej przy instalacji zależności — unika się problemów z kompilacją (m.in. Rust), które pojawiają się w 3.13.
Repozytorium Revit MCP (plik .zip z GitHub) https://github.com/mcp-servers-for-revit/mcp-server-for-revit-python/archive/refs/heads/master.zip
Wtyczka PyRevit zainstalowanym rozszerzeniem revit-mcp-python i aktywnym ustawieniem Routes Server

Krok 1: Instalacja Pythona

  1. Uruchom pobrany instalator Pythona 3.12.
  2. Jeśli masz już w systemie inną główną wersję Pythona, odznacz opcję „Add Python to PATH” na pierwszym ekranie instalatora.
  3. Kliknij Install Now.

Krok 2: Przygotowanie plików wtyczki

  1. Upewnij się, że posiadasz zainstalowany framework pyRevit.
  2. Wypakuj pobrane repozytorium MCP.
  3. Zmień nazwę głównego wypakowanego folderu na
    RevitMCP.extension
  4. Przenieś ten folder dokładnie do swojej lokalizacji, tak aby pełna ścieżka wyglądała następująco:
    C:\Users\{TwojaNazwaUżytkownika}\AppData\Roaming\Autodesk\Revit\Addins\2026\RevitMCP.extension

Krok 3: Konfiguracja wirtualnego środowiska i zależności

Otwórz terminal (Wiersz polecenia lub PowerShell) i wykonuj po kolei poniższe komendy:

  1. Przejdź do folderu z wtyczką: Bash cd C:\Users\{TwojaNazwaUżytkownika}\AppData\Roaming\Autodesk\Revit\Addins\2026\RevitMCP.extension
  2. Utwórz wirtualne środowisko korzystając z nowej wersji 3.12: Bash py -3.12 -m venv venv
  3. Aktywuj środowisko: Bash .\venv\Scripts\activate
  4. Zaktualizuj instalator pakietów: Bash python -m pip install --upgrade pip
  5. Zainstaluj wymagane biblioteki (system pobierze gotowe paczki, omijając problem z kompilatorem Rust dla wersji Pythona od 3.13): Bash pip install -r requirements.txt

Krok 4: Rejestracja rozszerzenia w Revicie

  1. Uruchom program Autodesk Revit.
  2. Na wstążce przejdź do zakładki pyRevit i kliknij Settings.
  3. W sekcji Custom Extension Directories dodaj swoją ścieżkę nadrzędną:
    C:\Users\{TwojaNazwaUżytkownika}\AppData\Roaming\Autodesk\Revit\Addins\2026
  4. Zapisz ustawienia i kliknij Reload na wstążce pyRevit.

Krok 5: Konfiguracja Antigravity (mcp_config.json)

  1. Otwórz plik konfiguracyjny Antigravity.
  2. Ctrl+Shift+P —> mcp
  3. Podmień konfigurację serwera na poniższą, aby wskazywała dokładnie na wirtualne środowisko w Twoim folderze Addins:

JSON

{
  "mcpServers": {
    "revit-python-mcp": {
      "command": "C:\\Users\\{TwojaNazwaUżytkownika}\\AppData\\Roaming\\Autodesk\\Revit\\Addins\\2026\\RevitMCP.extension\\venv\\Scripts\\python.exe",
      "args": [
        "C:\\Users\\{TwojaNazwaUżytkownika}\\AppData\\Roaming\\Autodesk\\Revit\\Addins\\2026\\RevitMCP.extension\\main.py"
      ]
    }
  }
}
  1. Zapisz plik konfiguracyjny i zrestartuj procesy Antigravity. Serwer MCP jest gotowy do działania.

Krótki komentarz na koniec

Na tym etapie to nadal eksperyment, ale kierunek jest dość czytelny: zamiast pisać kolejne warstwy skryptów, zaczynamy pracować bezpośrednio na modelu przez warstwę interpretacyjną. Największym ograniczeniem nie jest dostęp do API, tylko jakość rozumienia kontekstu przez model.