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
- Uruchom pobrany instalator Pythona 3.12.
- Jeśli masz już w systemie inną główną wersję Pythona, odznacz opcję „Add Python to PATH” na pierwszym ekranie instalatora.
- Kliknij Install Now.
Krok 2: Przygotowanie plików wtyczki
- Upewnij się, że posiadasz zainstalowany framework pyRevit.
- Wypakuj pobrane repozytorium MCP.
- Zmień nazwę głównego wypakowanego folderu na
RevitMCP.extension - 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:
- Przejdź do folderu z wtyczką: Bash
cd C:\Users\{TwojaNazwaUżytkownika}\AppData\Roaming\Autodesk\Revit\Addins\2026\RevitMCP.extension - Utwórz wirtualne środowisko korzystając z nowej wersji 3.12: Bash
py -3.12 -m venv venv - Aktywuj środowisko: Bash
.\venv\Scripts\activate - Zaktualizuj instalator pakietów: Bash
python -m pip install --upgrade pip - 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
- Uruchom program Autodesk Revit.
- Na wstążce przejdź do zakładki pyRevit i kliknij Settings.
- W sekcji Custom Extension Directories dodaj swoją ścieżkę nadrzędną:
C:\Users\{TwojaNazwaUżytkownika}\AppData\Roaming\Autodesk\Revit\Addins\2026 - Zapisz ustawienia i kliknij Reload na wstążce pyRevit.
Krok 5: Konfiguracja Antigravity (mcp_config.json)
- Otwórz plik konfiguracyjny Antigravity.
- Ctrl+Shift+P —> mcp
- 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"
]
}
}
}
- 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.
