Welche Voraussetzungen gelten?#
- Rillsoft Project Version 10 unter Windows; frühere Versionen haben keinen MCP-Server.
- Ein KI-Client oder ein Skript, das das Model Context Protocol über Streamable HTTP im Protokollstand 2025-06-18 spricht. Ältere Protokollstände nimmt der Server nicht an.
- Für die ersten Schritte ein mitgeliefertes Branchenbeispiel; alle Daten darin sind synthetisch.
Einrichten in drei Schritten#
Server starten, Client auf den Endpunkt zeigen, einen lesenden Aufruf prüfen – mehr braucht der erste Kontakt nicht. Jeder Schritt lässt sich einzeln zurücknehmen, kein Schritt verändert ein Projekt.
Server aktivieren#
| Weg | Wirkung |
|---|---|
RillPrj.exe /mcp | Server auf 127.0.0.1:3928 für diese Sitzung |
RillPrj.exe /mcp:8123 | Server auf 127.0.0.1:8123 |
| Einstellungen → MCP-Server → „aktivieren" | Server startet sofort und bei jedem Programmstart auf dem eingestellten Port |
| ohne Flag, Einstellung inaktiv | kein Listener, kein offener Port |
Das Startflag übersteuert die Einstellungen für die Sitzung und unterdrückt den Startbildschirm und die Rückfrage zur Autowiederherstellung, damit ein unbeaufsichtigter Start nicht an einem Dialog hängen bleibt. Die Statuszeile auf der Einstellungsseite zeigt, ob der Server läuft, per Flag läuft, blockiert ist (Port belegt, vermutlich eine zweite Instanz) oder inaktiv ist.
Client verbinden#
Der Endpunkt ist http://127.0.0.1:<Port>/mcp – der Pfad gilt exakt, auch
/mcp/ ist ein 404. Konfiguration eines MCP-Clients:
{
"mcpServers": {
"rillsoft-project": {
"type": "http",
"url": "http://127.0.0.1:3928/mcp"
}
}
}Mit gesetztem API-Key kommt eine Kopfzeile dazu:
{
"mcpServers": {
"rillsoft-project": {
"type": "http",
"url": "http://127.0.0.1:3928/mcp",
"headers": { "Authorization": "Bearer <KEY>" }
}
}
}Erster sicherer Test#
Ohne Initialisierung geht kein Aufruf. Drei Nachrichten genügen, und keine davon verändert das Projekt:
initialize– der Server vergibt eine Sitzung; die Kennung steht im AntwortkopfMcp-Session-Id.notifications/initialized– die Bestätigung schaltet die Werkzeuge frei. Ab jetzt trägt jede AnfrageMcp-Session-IdundMCP-Protocol-Version.tools/list– der Vertrag: alle Werkzeuge mit Titel, Beschreibung, Ein- und Ausgabeschema. Ein erster lesender Aufruf istrillsoft_project_tree_get, der komplette berechnete Projektbaum.
Jede Werkzeugantwort liefert das Ergebnis doppelt: als Klartext in
content[0].text und maschinenlesbar in structuredContent. Am Ende beendet
ein DELETE /mcp mit der Sitzungskennung die Sitzung.
Die drei Schritte als curl-Aufrufe in Git Bash
# 1. initialize – die Session-Id steht im Antwortkopf
MCP_SESSION=$(curl -s -i -X POST http://127.0.0.1:3928/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}' \
| tr -d '\r' | awk -F': ' 'tolower($1)=="mcp-session-id"{print $2}')
# 2. ab jetzt tragen alle Aufrufe Sitzung und Protokollstand
mcp() { curl -s -X POST http://127.0.0.1:3928/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Mcp-Session-Id: $MCP_SESSION" \
-H "MCP-Protocol-Version: 2025-06-18" -d "$1"; }
# 3. die Bestätigung schaltet die Werkzeuge frei
mcp '{"jsonrpc":"2.0","method":"notifications/initialized"}'
# der Vertrag: alle Werkzeuge mit Titel, Beschreibung, Ein- und Ausgabeschema
mcp '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# ein erster lesender Aufruf: der komplette berechnete Projektbaum
mcp '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"rillsoft_project_tree_get","arguments":{}}}'Wie wird der Zugriff geschützt?#
Der API-Key ist optional. Leer bedeutet: keine Authentifizierung. Ist in den
Einstellungen ein Key gesetzt, verlangt jeder Request – unabhängig vom
Startweg – Authorization: Bearer <KEY>, sonst antwortet der Server mit
401. Der Vergleich läuft zeitkonstant. Nötig ist der Key auf
Mehrbenutzer- und Terminalserver-Rechnern, weil 127.0.0.1 maschinenweit
gilt und nicht sitzungsweit.
Was leisten Nur-Lesen-Modus und Lizenz?#
Im Nur-Lesen-Modus zeigt tools/list genau die Werkzeuge der Zugriffsklasse
nur lesend: kein Vorgang, keine Zuweisung, kein Termin, keine Datei, kein
Undo-Schritt. Ändernde Aufrufe – auch Datei-, Pool- und Undo-Werkzeuge –
liefern einen klaren Werkzeugfehler, ohne das Projekt anzufassen.
Einige lesende Werkzeuge verändern sichtbar etwas: die Fensterwerkzeuge nur das Fenster, die Darstellungswerkzeuge den Ansichtszustand, der mit der Projektdatei gespeichert wird (Spalten, Gliederung, Markierung). Das Projekt gilt danach als geändert. Die Beschreibung jedes dieser Werkzeuge nennt diese Wirkung.
Die meisten Werkzeuge prüfen keine Lizenz; sie stehen so weit offen wie das Dokumentmodell. Vier folgen der Lizenz wie ihr Gegenstück in der Oberfläche: die Kandidatenliste, die Assistenten „Personal zuordnen" und „Personal herausnehmen" sowie die Rollenableitung. Fehlt die Funktion in der Lizenz, liefern sie einen Fehler statt still zu arbeiten.
Was Sie sehen, sieht die KI#
Der Kapazitätsreport rechnet nichts selbst. Er serialisiert die sichtbare, bereits berechnete Ansicht: Zeitraum aus dem Zeitfilter, Zeitraster aus der Kalenderskala, Kennzahl aus der eingestellten Darstellung. Jede Perspektive, die die KI einstellt, ist gleichzeitig auf dem Bildschirm zu sehen – und ein Strg+Z stellt Ansicht, Struktur, Zeitfilter und Darstellung gemeinsam wieder her. Dasselbe gilt für jede Mutation: Erkennt Rillsoft Project beim Abschluss einen Konflikt, rollt es selbst zurück, und das Werkzeug meldet den Grund bei unverändertem Projekt.

Ohne KI: Skripte und Integrationen#
Nicht ein Chat-Plugin, sondern der Zugang zu Rillsoft Project als Ganzem –
auch ohne KI, per Skript, mit mitgelieferten Beispieldaten. Derselbe Endpunkt
lässt sich ohne KI-Assistent bedienen. Die mcp-Funktion aus dem curl-Beispiel
oben ist bereits ein Skript; in PowerShell sieht ein Aufruf so aus:
$body = @'
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
'@
curl.exe -s -X POST http://127.0.0.1:3928/mcp `
-H "Content-Type: application/json" `
-H "Mcp-Session-Id: $env:MCP_SESSION" `
-H "MCP-Protocol-Version: 2025-06-18" -d $bodyTypische Anwendungen: Abwesenheiten aus dem Urlaubssystem rollierend in den Ressourcenpool spiegeln, Kapazitäts- und Soll/Ist-Reports periodisch ziehen, Projekte aus Vorlagen erzeugen, eine Ansicht für eine Aufnahme reproduzierbar einstellen. Jedes Werkzeug beschreibt Eingabe und Ausgabe als vollständiges JSON-Schema; beide werden zur Laufzeit durchgesetzt. Feldnamen sind englisch und in beiden Richtungen gleich, sodass eine Antwort ohne Umbenennen zum nächsten Aufruf weitergereicht werden kann.
Zwei Stolperfallen beim automatisierten Start: Rillsoft Project aus PowerShell
oder cmd starten, denn eine POSIX-Shell wie Git Bash schreibt das
/mcp-Flag zu einem Pfad um. Und der Server lauscht erst einige Sekunden nach
dem Programmstart.
Wie schnell antwortet der Server?#
Gemessen am größten mitgelieferten Beispielprojekt des Anlagenbau-Pakets mit 650 Elementen, 637 Anordnungsbeziehungen und rund 1.500 Zuweisungen, im Debug-Build auf der Referenzmaschine:
| Vorgang | Zeit |
|---|---|
| Projekt öffnen | 7,8 s (Kontrollmessung auf anderem Rechner: 6,6 s) |
| kompletten Baum auslesen | 2,0 s (Kontrollmessung: 1,1 s) |
| Arbeitsspeicher nach dem Öffnen | 102 MB |
| ändernder Aufruf | rund 0,4 s bei diesem Projekt, rund 0,16 s bei einem kleinen |
Das Arbeiten mit einem fertigen Projekt ist unkritisch. Langsam ist allein der skriptgesteuerte Aufbau großer Projekte, weil jeder ändernde Aufruf einen vollständigen Undo-Schnappschuss anlegt; das ganze Anlagenbau-Paket mit zwölf Projekten entsteht in rund 16.700 Aufrufen.
Was gilt bei mehreren Instanzen?#
Rillsoft Project ist eine Ein-Dokument-Anwendung: eine Instanz, ein
Projekt, ein Port. Der Server bindet exklusiv an seinen Port; eine zweite
Instanz auf demselben Port scheitert beim Start und meldet das in der
Statuszeile. Für parallele Projekte bekommt jede Instanz einen eigenen Port
(/mcp:3928, /mcp:3929, …) und im Client einen eigenen Servereintrag. Eine
automatische Portsuche gibt es bewusst nicht – der Client muss wissen, welche
Instanz er anspricht. Ein Projektverzeichnis oder eine Adressierung über eine
Projektkennung gibt es nicht; ein Projekt wird über seinen Dateipfad geöffnet.
Wie meldet der Server Fehler?#
Protokollfehler und fachliche Ablehnung sind getrennt: An einem Protokollfehler kann der Aufrufer nichts korrigieren, aus einer fachlichen Ablehnung baut er den zweiten Versuch.
| Fall | Antwort |
|---|---|
Origin-Kopfzeile vorhanden | HTTP 403 |
API-Key gesetzt und Authorization falsch | HTTP 401 |
Pfad nicht exakt /mcp | HTTP 404 |
Anfrage nach initialize ohne Sitzung oder Protokollstand | HTTP 400 |
| unbekannte oder verfallene Sitzung (30 Minuten Leerlauf) | HTTP 404 – mit initialize neu beginnen |
| Argumente verletzen das Eingabeschema | JSON-RPC -32602 mit Feldpfad, etwa arguments.timescale.level |
| unbekannte UUID, Konflikt, Sperre, Lizenz, Nur-Lesen | result.isError: true mit Klartext und stabilem Code in _meta.errorCode |
Der Fehlertext ist der Selbstkorrekturkanal eines Agenten. Er nennt den Feldpfad, die erlaubten Werte oder das Werkzeug, das den fehlenden Zustand herstellt. Daneben steht ein stabiler englischer Fehlercode, der in der deutschen, englischen und russischen Ausgabe derselbe ist – eine Wiederholungsregel baut man auf den Code, nicht auf den Wortlaut. Höchstens 32 Sitzungen laufen gleichzeitig; JSON-RPC-Batches werden abgelehnt.
Wenn nach einem harten Programmende kein Port aufgeht: Der Dialog zur
Autowiederherstellung wartet auf eine Antwort, wenn der Server über die
Einstellung statt über das Flag gestartet wurde. Die Sicherungsdateien
*.mbk unter %TEMP%\Rillsoft beantworten oder für Skriptläufe vorab
entfernen.
Referenz: die zehn Werkzeugbereiche#
Die sechs Karten oben fassen zusammen; vollständig decken die Werkzeuge zehn Bereiche ab – die Gliederung der Produktdokumentation. Den Vertrag je Werkzeug – Schemas, Zugriffsklassen, Fehlercodes – beschreibt die Entwicklerseite; wie ein Bereich in der Praxis aussieht, zeigen die verlinkten Beispiele.
| Bereich | Was ein Client damit tut |
|---|---|
| Projekt und Konflikte lesen | den kompletten berechneten Stand mit Terminen, Puffern, kritischem Pfad und Zuweisungen lesen; dazu die sechs Warnlisten der Info-Maske: verspätet, überlastet, ausgefallen, nicht oder teilweise zugeordnet, projektübergreifend |
| Kapazität analysieren | Ressourcen- und Kapazitätsansicht einstellen und als Report lesen – Bedarf gegen Angebot je Rolle, Team, Person, Maschine, Material (Beispiel Ressourcenengpass finden) |
| Besetzen | Kandidaten je Vorgang mit Bereitschaft, freier Kapazität, Kosten und Terminkonflikt; Assistenten für viele Vorgänge |
| Standortplanung | bevorzugtes Team am Teilprojekt, Kandidatenfilter öffnen, standortfremd besetzen (Beispiel Standortengpass besetzen) |
| Projekt aufbauen | Teilprojekte, Vorgänge, Verknüpfungen, Rollen, Personen, Maschinen, Material anlegen; umstrukturieren, splitten, terminieren |
| Basisplan und Soll/Ist | Basispläne anlegen und wählen, drei Vergleichsansichten für Zeit, Aufwand und Kosten lesen (Beispiel Planstand mit Basisplan vergleichen) |
| Ist-Daten | Fortschritt je Vorgang, Stichtag, Stichtagsrechnung, Fortschrittsableitung |
| Ressourcenpool | Stammdaten lesen; Arbeitseinheit öffnen, Stammdaten pflegen, Abwesenheiten spiegeln, Kalender mit Feiertagsquelle, einmal zurückspeichern |
| Portfolio | Portfolio dialogfrei öffnen und die enthaltenen Projekte auswerten |
| Sitzung und Darstellung | Undo und Redo, Dateien öffnen und speichern, Fensterlayout, Spalten, Gliederung, Eigenschaftsmaske steuern |
Nächster Schritt#
Die Prompt-Bibliothek zeigt sechzehn Fragen mit Voraussetzungen, Toolkette und Grenzen. Der Vertrag mit Schemas und Fehlercodes steht auf der Entwicklerseite. Wer zuerst sehen will, wie es sich anfühlt, beginnt mit den ersten Schritten.
Fragen zur Technik
Die Fragen, die vor dem ersten Aufruf kommen
Was ist ein MCP-Server?
Ein MCP-Server stellt einem KI-Assistenten Werkzeuge über das Model Context Protocol bereit – hier die Werkzeuge des laufenden Rillsoft Project: Projektstruktur, Termine, Ressourcen, Kapazität, Basisplan. Die KI ruft sie auf und liest den berechneten Plan; gerechnet wird in Rillsoft Project.
Kann ich nur auswerten, ohne Änderungsrisiko?
Ja. Im Nur-Lesen-Modus bietet der Server nur lesende Werkzeuge an; ändernde Aufrufe werden mit einem klaren Fehler abgelehnt. Einzelne Darstellungswerkzeuge ändern den mitspeicherbaren Ansichtsstatus – ihre Beschreibung nennt das.
Welche KI-Clients funktionieren?
Jeder Client, der das Model Context Protocol über Streamable HTTP im Stand 2025-06-18 spricht. Geprüft haben wir die Verbindung mit Claude und Codex; die Konfiguration steht unter Erste Schritte.
Brauche ich eine besondere Lizenz?
Für Lesen und Auswerten nicht. Die Kandidatenliste, die Besetzungsassistenten und die Rollenableitung folgen der Lizenz wie ihre Gegenstücke in der Oberfläche.
Funktioniert das mit einem Portfolio?
Öffnen und auswerten ja, ändern nein. Die Kapazitätssicht über mehrere Projekte ist lesbar; Struktur-Änderungen im Portfolio lehnt der Server ab, die Portfoliodatei schreibt er nie.
Läuft das auch auf Englisch oder Russisch?
Ja. Werkzeugnamen, Schemas und Fehlercodes sind in allen drei Ausgaben identisch; Meldungen folgen der Sprache des installierten Rillsoft Project.
- Produktversion
- Rillsoft Project 10
- Belegstatus
- Angaben aus der Produktdokumentation von Rillsoft Project 10 (Stand 08.09.2026); der Abgleich mit dem freigegebenen Build steht aus.