Repository avatar
Other Tools
v0.8.0
active

blp-mcp

io.github.Herzog-GmbH/blp-mcp

ACTIWARE BLP: read and change ELO sidebar processes, objects, tabs and tiles, with preview

Documentation

BLP-MCP-Server

Die ELO-Sidebar per KI pflegen: ACTIWARE Business Logic Provider lesen und gezielt ändern – mit Vorschau, Freigabe und Sicherung.

PowerShell 7 MCP stdio 24 Werkzeuge Zweistufige Freigabe
Windows Lizenz MIT Letzter Commit

Schnellstart · Werkzeuge · Änderungen · Pfadsprache · Bauplan · Sicherheit · Dokumentation

[!NOTE] English: MCP server for the ACTIWARE Business Logic Provider (BLP), the designer behind the ELO sidebar. It reads processes, business objects, tabs and tiles, roles, the selection tree and the image package, and changes them through a two-step preview/approval flow with automatic backups, checkout/commit like the Designer and a post-save check. Processes can be exported as a JSON blueprint and built (new, copy or replace) from one. Publishing stays a manual step in the Designer. A single PowerShell 7 script, started by any MCP client over stdio. Docs are in German because BLP's user base is mostly DACH; issues in English are welcome.

Ein MCP-Server für den BLP (ACTIWARE Business Logic Provider), also das Werkzeug, mit dem ihr die Sidebar eures ELO-Clients baut: Tabs, Kacheln, Prozesse, Geschäftsobjekte, Rollen. Ihr sagt der KI in normaler Sprache, was ihr wollt, zum Beispiel:

  • „Welche Kacheln hat der Tab Buchhaltung, und welcher Prozess hängt an der Kachel Rechnungen?“
  • „Leg im Tab Buchhaltung eine Kachel ‚Mahnungen‘ an, wie die Kachel ‚Rechnungen‘, aber mit dem Prozess ‚Mahnung erfassen‘.“
  • „Sortier den Bereich Einkauf im Auswahlbaum alphabetisch.“
  • „Lade diese drei Symbole hoch und häng sie an die neue Kachel.“
  • „Bau einen Prozess: Formular mit Name und Abteilung, dann eine Entscheidung, dann ELOas-Regel X aufrufen.“

Die KI liest die Bausteine über dieselbe REST-API wie der Web-Designer, zeigt euch vor jeder Änderung bisher/neu und ändert erst nach eurer Zustimmung. Veröffentlichen macht ihr selbst im Designer – vorher sieht keine Sidebar etwas.

Auf einen Blick

  • Lesen: Prozesse mit Knoten, Bausteinnamen und Verbindungen, Geschäftsobjekte mit Feldern, Füllregeln und Kacheln, Sidebar-Tabs, Rollen und Situationen, Feldverwaltung, Datenabfragen, Auswahlbaum, Bildpaket, Stand der Veröffentlichung.
  • Gezielt ändern: über eine kleine Pfadsprache statt ganzer JSON-Dokumente – einen Parameter in einem Prozessknoten, eine Kachelfarbe, die Sichtbarkeit eines Tabs in einer Rolle, die Reihenfolge im Auswahlbaum.
  • Neu anlegen: Prozess als Kopie eines vorhandenen, leerer Sidebar-Tab, Kachel als Kopie einer Vorlage-Kachel, Geschäftsobjekt (leer mit Feldern oder als Kopie).
  • Prozesse bauen: Prozess als Bauplan exportieren (Knoten mit Bausteinnamen, Parameter lesbar entpackt, Verbindungen), ändern oder neu schreiben und daraus einen neuen Prozess, eine Kopie oder den Ersatz des vorhandenen bauen – mit Prüfung von Start, Ausgängen und Erreichbarkeit.
  • Bilder: PNG-Symbole ins Bildpaket laden, an Kacheln und Tabs hängen, wieder entfernen.
  • Zweistufig: Der erste Aufruf liefert Prüfung, Vorschau und einen Freigabe-Code. Erst der zweite Aufruf mit denselben Argumenten führt aus – fünf Minuten gültig, einmal, nur wenn sich der Baustein seitdem nicht geändert hat.
  • Abgesichert: Sicherung vor jeder Änderung, checkout/commit wie im Designer, undo bei Fehlern, Kontrolle nach dem Speichern, Protokoll, Maskierung von Passwörtern und Tokens. Produktiv ist standardmäßig nur lesbar.
  • Test und Produktiv in einem Server: mit -Umgebung test,produktiv hat jedes Werkzeug den Parameter umgebung, jede Umgebung mit eigener Anmeldung und eigenem Schalter fürs Ändern.
  • Kein Dienst, keine Installation: ein PowerShell-Skript, das euer MCP-Client bei Bedarf startet. Für Claude Desktop gibt es zusätzlich ein Paket zum Doppelklicken.

Kompatibilität

Getestet bzw. vorausgesetzt
BLPBusiness Logic Provider 6 mit Web-Designer und REST-API (/api/v1/…)
Kontoein Konto, das im BLP-Projekt Bausteine bearbeiten darf. Bei uns ging das nur mit dem BLP-eigenen admin; Windows-Konten bekamen trotz Designer-Rechten „User is not authorized“
PowerShell7.5 oder neuer (pwsh, wegen ConvertFrom-Json -DateKind), nicht Windows PowerShell 5.1
SystemWindows: Zugangsdaten verschlüsselt per DPAPI. Andere Systeme über BLP_USER/BLP_PASSWORD, nicht getestet
MCPstdio (JSON-RPC 2.0), Protokollversion 2025-06-18
KI-ClientsVorlagen für Claude Code, Claude Desktop, VS Code/GitHub Copilot, Cursor, Codex CLI und Gemini CLI in docs/CLIENTS.md

Schnellstart

A) Von eurer KI einrichten lassen

Repo klonen oder als ZIP entpacken, im Ordner einen KI-Agenten starten (Claude Code, Codex CLI, GitHub Copilot im Agent-Modus, Gemini CLI, Cursor o. Ä.) und eingeben:

Richte diesen BLP-MCP-Server auf diesem Rechner ein. Folge AGENTS.md Schritt für Schritt
und frag mich nie nach Passwörtern im Chat.

AGENTS.md enthält den ganzen Ablauf mit Fehlersuche. Für Claude Code (CLAUDE.md), Gemini CLI (GEMINI.md) und GitHub Copilot (.github/copilot-instructions.md) liegen Verweise bei.

B) Von Hand

  1. Konfiguration anlegen und Adressen eintragen (Identity, Projektdienst, Client-Dienst je Umgebung):

    Copy-Item config.example.json config.local.json
    notepad config.local.json
    
  2. Zugangsdaten hinterlegen. Das Skript fragt Benutzer und Passwort ab, speichert sie verschlüsselt, meldet sich an und zeigt die Projekte mit ihren IDs. Die richtige ID kommt in config.local.json unter projectId.

    .\Set-BlpCredential.ps1
    
  3. Im MCP-Client eintragen, zum Beispiel in Claude Code:

    claude mcp add blp --scope user -- pwsh -NoProfile -NoLogo -NonInteractive -File "C:\Tools\blp-mcp\blp-mcp.ps1"
    
  4. Testen: „Wer bin ich im BLP?“ – die KI ruft blp_whoami auf und zeigt Umgebung, Projekt, Benutzer und ob Ändern freigeschaltet ist.

Test und Produktiv in einem Eintrag: -Umgebung test,produktiv anhängen. Jedes Werkzeug hat dann den Parameter umgebung, ohne Angabe gilt die erste. Ob geändert werden darf, steht je Umgebung unter allowChanges. Zugangsdaten für die zweite Umgebung: .\Set-BlpCredential.ps1 -Umgebung produktiv.

C) Claude Desktop: Paket

  1. blp-mcp-<version>.mcpb aus dem Release laden und doppelklicken (oder in Claude Desktop unter Einstellungen → Erweiterungen → Erweiterte Einstellungen → Erweiterung installieren).
  2. In den Einstellungen der Erweiterung Umgebung 1 eintragen (z. B. Test): Identity-Dienst mit Port und Projekt-ID. Projektdienst und Client-Dienst leer lassen, wenn sie einen bzw. acht Ports über dem Identity-Dienst liegen (…01 → …02, …09). Optional Umgebung 2 (z. B. Produktiv). „Ändern freischalten“ gibt es je Umgebung, ab Werk aus.
  3. Erweiterung einschalten und die KI fragen: „Wer bin ich im BLP?“ Fehlen die Zugangsdaten, nennt die Antwort den genauen Befehl (pwsh -File "…\Set-BlpCredential.ps1" -Umgebung test). Den führt ihr einmal je Umgebung selbst in einer Konsole aus. Oder ihr wählt in den Einstellungen eine vorhandene Zugangsdatei.

Das Paket schreibt die Einstellungen bei jedem Start nach %LOCALAPPDATA%\blp-mcp\mcpb-config.json (ohne Geheimnisse). Voraussetzung bleibt PowerShell 7 mit pwsh im PATH.

Konfiguration

config.local.json liegt neben blp-mcp.ps1 (oder ihr gebt den Pfad mit -Config bzw. BLP_MCP_CONFIG an). Vorlage mit Erklärungen: config.example.json.

SchlüsselBedeutung
environments.<name>je Umgebung authUrl (Identity), projectUrl (Projektdienst), clientUrl (Client-Dienst), projectId, credentialFile, allowChanges, optional label und skipCertificateCheck
defaultEnvironmentUmgebung ohne Startschalter; andere mit -Umgebung <name>, mehrere mit -Umgebung test,produktiv
allowChangesändernde Werkzeuge frei (Standard in der Vorlage: Test ja, Produktiv nein). Überschreiben nur bewusst mit -AendernErlauben, das geht nur mit einer Umgebung
skipCertificateChecknur für selbstsignierte Zertifikate, die der Rechner nicht kennt
imagesName des Bildpakets, eigener Symbolordner (<farbe>\<motiv>_<24|32|64>.png) und welcher Container zu welcher Farbe gehört
organization, extraInstructionserscheinen in den Anweisungen an die KI (Firma, Hausregeln)
dataDirOrdner für Sicherungen, Protokoll und exportierte Baupläne, Standard %LOCALAPPDATA%\blp-mcp

Zugangsdaten stehen nie in der Konfiguration, sondern in der DPAPI-Datei aus Set-BlpCredential.ps1 oder in BLP_USER/BLP_PASSWORD.

Werkzeuge

Lesen

WerkzeugZweck
blp_whoamiUmgebung, Projekt, Benutzer, Designer-Rechte, ob Ändern freigeschaltet ist
blp_processesalle Prozesse flach (Server, Client, Sub, Vorlagen) mit Ordner, Version, letzter Änderung; Filter
blp_processProzess mit Knoten (Bausteinname, Beschreibung, Parameter gekürzt) und Verbindungen; knoten = volle Parameter eines Knotens mit Ein- und Ausgängen; roh = ganzes JSON
blp_objects / blp_objectGeschäftsobjekte; Detail mit Feldern, Füllregeln, Suche und Kacheln
blp_tabs / blp_tabSidebar-Tabs; Detail mit allen Kacheln (Aktion, Prozess, Farbe, Sichtbarkeit, Bedingung)
blp_rolesRollen und Situationen mit Tabs an/aus; mit rolle die Kacheln je Tab
blp_fieldsFeldverwaltung: Parameter, Variablen, Datenfelder
blp_dataqueriesDatenabfragen (Name, Modul, Bedingungs- und Ergebnisfelder, ohne Verbindungsdaten)
blp_dataqueryDatenabfragen mit Inhalt: SQL-Text, Feldzuordnung, Schalter, Quelle und Anmeldeprofil (SQL/OleDb), Teilabfragen und Spalten (GroupQueries), mit Pfaden zum Ändern; ohne abfrage die Übersicht je Add-in; Verbindungszeichenfolgen ausgeblendet
blp_selectionAuswahlbaum des Clients (client/selection): Bereich › Dokument › Prozess › Felder, je Bereich ob sortiert
blp_imagesBildpaket: Container mit Bildern; mit bild auch, wo ein Bild benutzt wird
blp_publishedletzte Veröffentlichung am Client-Dienst
blp_read_pathWert an einem Pfad lesen (zum Vorbereiten einer Änderung)
blp_getbeliebiger lesender GET am Projekt- oder Client-Dienst (nur Pfade, keine fremden Adressen)
blp_process_exportProzess als Bauplan (JSON); große Baupläne als Datei. Ohne prozess: Liste der Bausteine (Prozessoren aller Module) mit ihren Ausgängen
blp_modulesModule mit Softwareversion und ihrer Modulkonfiguration im Projekt (Version, letzte Änderung, Parameter-Schlüssel und Größe, Sperre)
blp_moduleModulkonfiguration eines Moduls, eingebettetes JSON ausgepackt. Kurzansicht für Validation (Dokumenttypen, Blöcke, Felder, Regeln) und AI.Foundation (Prompts, Modellprofile, Anbieter), sonst Gliederung; voll = alles, große Konfigurationen als Datei (maskiert)

Namen findet der Server tolerant: ID, exakter Name oder Anzeigetext, dann „Name (Zusatz)“, dann Namensteil. Bei mehreren Treffern kommt die Liste zurück.

Ändern (zweistufig)

WerkzeugZweck
blp_changeBaustein gezielt ändern: Liste von {pfad, wert, aktion}. Freigegeben für processengine, objectmanager, client/sidebar/tab/action, smartsearch, role, client/selection, module (siehe Modulkonfiguration), dataquery (siehe Datenabfragen)
blp_module_restoreSicherung einer Modulkonfiguration oder der Datenabfragen eines Add-ins zurückspielen (der Stand davor wird wieder gesichert)
blp_create_processneuer Prozess als Kopie eines vorhandenen, optional mit Pfad-Änderungen an der Kopie
blp_create_tabneuer, leerer Sidebar-Tab
blp_add_tileneue Kachel an Tab oder Geschäftsobjekt als Kopie einer Vorlage-Kachel (Aktion, Bilder, Farbe), mit eigenem Namen und Änderungen
blp_process_buildProzess aus einem Bauplan bauen: neu, als Kopie unter neuem Namen (name) oder als Ersatz eines vorhandenen (prozess); auch eine Sicherung zurückspielen
blp_create_objectneues Geschäftsobjekt, leer mit felder oder als Kopie einer vorlage (Felder, Füllregeln, Suche, ohne Kacheln)
blp_image_uploadPNGs ins Bildpaket laden und optional gleich an Kachel (24/32/64 px) oder Tab (24 px) hängen
blp_image_removeBilder aus einem Container nehmen; verweigert, solange sie noch benutzt werden; endgueltig löscht auch die Datei

Bewusst nicht dabei: Veröffentlichen, Löschen ganzer Bausteine.

Modulkonfiguration

Die Konfiguration eines Moduls im Projekt (module/<Modul-ID>, z. B. Validation, AI.Foundation, AI OCR, PDF-Processor, elo) ändert blp_change mit baustein: module und objekt = Modulname. Die Werte unter parameters sind JSON als Text, also mit # hinein:

{ "baustein": "module", "objekt": "Validation",
  "aenderungen": [ { "pfad": "parameters/Module.Document.Processing.Config/#/validatorConfig/documentTypes/[key=purchase_invoice_data_f2v]/displayName", "wert": "Eingangsrechnung" } ] }

Anders als bei den übrigen Bausteinen:

  • Kein checkout, kein undo. Speichern ist sofort festgeschrieben (neue Hauptversion). Vorher schreibt der Server eine Sicherung; blp_module_restore mit dieser Datei setzt zurück.
  • Die Konfiguration gilt für das ganze Projekt, also für alle Prozesse, die das Modul benutzen.
  • Werte mit *** werden abgelehnt: Wer eine maskierte Antwort abschreibt und zurückschreibt, würde Zugangsdaten oder Schlüssel zerstören. Pfad so eng setzen, dass nur das Geänderte drinsteht.
  • Konfigurationen mit Schlüsseln, die sich nur in Groß-/Kleinschreibung unterscheiden (z. B. Office), zeigt blp_module an, ändern geht dort nur im Designer.

Datenabfragen

Die SQL-, OleDb- und Gruppenabfragen (und die Abfragen der Add-ins IX Query, OData, SAP SOAP) liegen je Add-in unter dataquerymanager/<Modul-ID>/<Add-in-ID>, nicht in der Modulkonfiguration. blp_dataquery zeigt eine Abfrage samt Pfaden, blp_change mit baustein: dataquery und objekt = Add-in (SQL, GroupQueries, …) ändert sie:

{ "baustein": "dataquery", "objekt": "SQL",
  "aenderungen": [ { "pfad": "parameters/Module.DataConnect.DataQuery.SQL.Config/#/Sources/[Name=ERP-Database]/DataQueries/[Name=ERP_Customer]/DataQueryString", "wert": "SELECT ..." } ] }

Es gilt dasselbe wie bei der Modulkonfiguration: kein checkout und kein undo, Sicherung vorher, zurück mit blp_module_restore. Werte mit *** werden abgelehnt. Eine geänderte SQL-Abfrage wirkt in allen Gruppenabfragen und Prozessen, die sie benutzen (blp_dataquery nennt die Gruppenabfragen). Zugangsdaten hängen über das Anmeldeprofil am Credential Store und werden hier weder gezeigt noch geändert.

So läuft eine Änderung

Du:   Mach im Tab Buchhaltung die Kachel „Rechnungen“ grün.
KI:   (blp_change ohne freigabe)
      Vorschau – noch nichts geändert
      Tab Buchhaltung v3.0, Pfad tiles/[name=Rechnungen]/layout/color_id
      bisher "SkyBlue" → neu "Green"
      Wirksam erst nach Veröffentlichen im Designer. Soll ich?
Du:   Ja.
KI:   (blp_change mit denselben Argumenten + freigabe)
      Ausgeführt: v3.0 → v4.0, Kontrolle: alle Werte wie gewünscht.
      Sicherung: %LOCALAPPDATA%\blp-mcp\sicherung\client_sidebar_tab_action-…-vorher.json

Beim Ausführen: Baustein lesen → Sicherung als JSON → checkout → Änderung auf die Arbeitskopie → Prüfung (keine null in Listen, Prozessparameter nur Text) → Speichern → commit → nachlesen und je Pfad kontrollieren. Geht nach dem checkout etwas schief, verwirft undo die Arbeitskopie. Jede Ausführung landet im Protokoll %LOCALAPPDATA%\blp-mcp\protokoll-JJJJ-MM.jsonl.

Pfadsprache

Segmente mit /:

SegmentBedeutungBeispiel
NameEigenschaft (Punkte gehören zum Namen)nodes, parameters, Module.Elo.ActionNode.EloAs
ZahlListenindextiles/0
[feld=wert], [feld^=anfang]Listenelement, genau ein Treffertiles/[tile_id^=f8d0], selections/[name=Einkauf]
[=wert], [^=anfang]Element einer Liste aus reinen Wertentiles_order/[^=f8d0]
#in den eingebetteten JSON-Text hinein (Parameterwerte sind JSON als Text)…/Module.Core.Action.ProcessStarter.Config/#/ProcessName
-neues Listenelement (mit aktion: anhaengen)selections/[name=Einkauf]/childs/-

Aktionen: setzen (Standard), anhaengen, entfernen, sortieren (Liste am Pfad alphabetisch nach de-DE, Feld in wert, Standard display_text).

{ "baustein": "processengine", "objekt": "Rechnung prüfen",
  "aenderungen": [ { "pfad": "nodes/[id^=1a2b3c4d]/parameters/Module.Elo.ActionNode.EloAs/#/AsDefinitions/0/RuleSetName",
                     "wert": "Rechnung_pruefen_v2" } ] }

Weitere Beispiele (Tab in einer Rolle ausblenden, Dokument im Auswahlbaum anhängen, Kachel entfernen) in docs/USAGE.md.

Bauplan

Für größere Umbauten oder ganz neue Prozesse arbeitet die KI nicht mit Pfaden, sondern mit dem ganzen Prozess als Bauplan: blp_process_export liefert ihn, blp_process_build baut daraus.

{ "name": "Gutschrift prüfen", "ordner": "Logik",
  "knoten": [
    { "key": "start", "baustein": "Start", "x": 0, "y": 0 },
    { "key": "frage", "baustein": "Decision", "x": 0, "y": 150,
      "parameter": { "Module.Core.Decision.Config": { "Content": "\"[VAR.Betrag]\" != \"\"" } } },
    { "key": "regel", "baustein": "ELO Direct - Start AS Task", "x": 0, "y": 300, "parameter": { "…": "…" } },
    { "key": "stopp", "baustein": "Abort Process (deprecated)", "x": 300, "y": 300, "parameter": { "…": "…" } } ],
  "verbindungen": [ ["start", "START", "frage"], ["frage", "output_true", "regel"], ["frage", "output_false", "stopp"] ] }
  • Knoten: key (kurz, eindeutig; der Export nimmt den Anfang der Knoten-ID), baustein (Anzeigename des Prozessors, Liste mit blp_process_export ohne prozess), beschreibung, Position x/y, parameter mit entpacktem eingebettetem JSON, felder (Ausgabefelder, z. B. die Feldnamen eines Eingabeformulars).
  • Verbindungen: [von, port, nach], optional mit Kommentar als viertem Wert. port ist ein Ausgang des Bausteins (output, output_true/output_false, beim Start START).
  • Bauen: ohne prozess neu im Ordner aus dem Bauplan, mit name als Kopie, mit prozess als Ersatz des vorhandenen (Name und Ordner bleiben, vorhandene Knoten behalten ihre IDs). Eine Sicherungsdatei lässt sich direkt als datei zurückspielen.
  • Prüfungen vor dem Speichern: genau ein Start, jeden Baustein und Ausgang gibt es, ein Ausgang hat genau ein Ziel, alle Knoten sind vom Start aus erreichbar, Parameter sind Text, keine null in Listen, keine maskierten Werte (***) aus einer Antwort. Nach dem Speichern wird der Prozess gegen den Bauplan verglichen.

Format, Beispiele und Fallen: docs/USAGE.md.

Sicherheit

  • Ändern nur, wo erlaubt: allowChanges je Umgebung, in der Vorlage nur für Test. Produktiv bleibt lesend, bis ein Mensch es bewusst freischaltet.
  • Nichts ohne Zustimmung: Ändernde Werkzeuge liefern zuerst eine Vorschau. Der Freigabe-Code gilt fünf Minuten, einmal, nur für dieselben Argumente und nur, solange sich Version und Zeitstempel des Bausteins nicht geändert haben.
  • Veröffentlichen bleibt beim Menschen: Der Server kann es nicht. Erst nach dem Veröffentlichen im Designer sieht die Sidebar eine Änderung.
  • Sicherung und Protokoll: vor jeder Änderung der ganze Baustein als JSON, jede Ausführung mit Argumenten und Ergebnis im Protokoll.
  • Keine maskierten Werte zurückschreiben: Ein Bauplan mit *** (aus einer maskierten Antwort) wird abgelehnt; zum Kopieren solcher Prozesse dient die Bauplan-Datei.
  • Maskierung: Schlüssel mit pass/pwd/secret/token/credential/apikey (auch in eingebetteten JSON-Texten) und Password=… in Verbindungszeichenfolgen werden in jeder Antwort zu ***.
  • Zugangsdaten: DPAPI-verschlüsselt, nur für das eigene Windows-Konto lesbar. Nie in der Konfiguration, nie im Chat.
  • Nur die eigenen Dienste: blp_get nimmt nur Pfade, keine Adressen.
  • Sicherheitslücken bitte nicht als öffentliches Issue melden, sondern wie in SECURITY.md beschrieben.

Dokumentation

DateiInhalt
AGENTS.mdEinrichtung für KI-Agenten, inkl. Fehlersuche
docs/CLIENTS.mdEintrag für alle gängigen MCP-Clients
docs/USAGE.mdBeispiel-Prompts und Änderungsrezepte
docs/BLP-API.mdWas wir über die Designer-API wissen: Endpunkte, checkout/commit, Eigenheiten und Fallen
config.example.jsonkommentierte Beispiel-Konfiguration
SECURITY.mdSicherheitslücken vertraulich melden

Entwickeln

Der Server besteht aus blp-mcp.ps1 (Protokoll, Anmeldung, Lesewerkzeuge) und den per Dot-Sourcing eingebundenen Dateien blp-mcp-konfig.ps1, blp-mcp-aendern.ps1 (Pfadsprache, Ändern, Neuanlage), blp-mcp-bilder.ps1 (Bildpaket), blp-mcp-bauen.ps1 (Bauplan, Geschäftsobjekt anlegen) und blp-mcp-module.ps1 (Modulkonfiguration, Datenabfragen). Testlauf ohne MCP-Client:

python -I test-blp-mcp.py beispiel-aufrufe.json

MCP_ARGS reicht Schalter an den Server durch (z. B. -Umgebung test,produktiv), MCP_TEST_LIMIT kürzt die Ausgabe. Ändernde Aufrufe paarweise: erst ohne freigabe, dann mit "freigabe": "$TOKEN" (= Code der letzten Vorschau). Nach Änderungen am Code den Server im Client neu laden.

Paket für Claude Desktop bauen (prüft Version in mcpb\manifest.json, blp-mcp.ps1 und CHANGELOG.md, trägt SHA-256 und Download-Adresse in server.json ein):

pwsh -NoProfile -File tools\build-mcpb.ps1

Mitmachen

Issues und Pull Requests sind willkommen. Bitte in Issues keine Logs mit Hostnamen, Projekt-IDs, Benutzernamen oder Tokens posten, sondern vorher schwärzen. Neue Bausteine für blp_change bitte erst auf einer Test-Umgebung erproben und den Weg (checkout, Speichern, commit) im Pull Request beschreiben.

Lizenz

MIT. Entstanden bei der herzog GmbH für die eigene ELO-Sidebar. Kein offizielles Produkt der ACTIWARE GmbH oder der ELO Digital Office GmbH; die Schnittstelle ist nicht offiziell dokumentiert und kann sich mit jeder BLP-Version ändern. Business Logic Provider ist ein Produkt der ACTIWARE GmbH, ELO ist eine Marke der ELO Digital Office GmbH.

MCPB
https://github.com/Herzog-GmbH/blp-mcp/releases/download/v0.8.0/blp-mcp-0.8.0.mcpb
Install Command
# mcpb: https://github.com/Herzog-GmbH/blp-mcp/releases/download/v0.8.0/blp-mcp-0.8.0.mcpb