Dienste: Datenbank, MCP-Server, HTTP-API

Wie ein Dienst im Outpost entsteht, in MeinGPT freigegeben wird und danach in einem Assistenten nutzbar ist.

Neben Ordnern kann ein Outpost auch Dienste weiterreichen: eine Datenbank, einen lokalen MCP-Server oder eine interne HTTP-API. Ein Ordner liefert durchsuchbaren Text; ein Dienst liefert eine Live-Verbindung — MeinGPT stellt bei Bedarf eine Anfrage an dein System und bekommt die Antwort in dem Moment zurück, in dem sie gebraucht wird.

Dienste sind nicht allgemein freigeschaltet

Ein Dienst erscheint nur, wenn die kontrollierte Dienste-Vorschau für deinen Workspace aktiviert ist. Ohne diese Freischaltung zeigt der Outpost beim Freigeben ausschließlich Einen Ordner als Option.

Drei Schritte, an drei Orten

Anders als bei einem Ordner reicht die Freigabe im Outpost allein nicht — ein Dienst durchläuft drei Stationen, bevor ihn jemand nutzen kann:

WoWas
1Im OutpostDienst freigeben — Ziel oder Verbindungs-URL angeben und festlegen, was er herausgibt.
2In MeinGPTDen gemeldeten Dienst unter Freigaben Personen, Teams oder der ganzen Organisation freigeben.
3Im AssistentenDen Konnektor im Assistenten-Editor aktivieren — erst dann kann eine Antwort ihn tatsächlich verwenden.

Zugangsdaten und die lokale Ziel-URL verlassen den Outpost-Rechner nie. In MeinGPT landen nur Name, Diensttyp und das, was du in Schritt 1 als erlaubt markierst — niemals das Passwort aus einer Verbindungs-URL oder das Ziel selbst.

Im Outpost: Dienst freigeben

Diensttyp wählen

Reiter Freigaben → Freigeben. Ist die Dienste-Vorschau aktiv, öffnet sich ein Menü mit vier Möglichkeiten: Einen Ordner, Datenbank, MCP-Server und HTTP-API. Wähle den passenden Diensttyp.

Das geöffnete Freigeben-Menü im Outpost mit den vier Optionen Einen Ordner, Datenbank, MCP-Server und HTTP-API.

Verbindung einrichten

Der Assistent fragt zuerst nach einem Namen — er erscheint später so in MeinGPT und im Chat, wähle ihn entsprechend verständlich (z. B. „Playwright MCP“ statt eines internen Kürzels).

Datenbanksystem: PostgreSQL, MySQL oder Microsoft SQL Server.

Verbindungs-URL (lokal gespeichert) — je nach System z. B.:

postgresql://user:pass@host:5432/db
mysql://user:pass@host:3306/db
sqlserver://user:pass@host:1433/db

Das Feld ist maskiert wie ein Passwortfeld und wird nach dem Speichern nirgends wieder angezeigt — auch nicht in MeinGPT. Nutze eine eigene Datenbankrolle für diesen Dienst statt eines persönlichen Kontos.

Microsoft SQL Server: benannte Instanzen und SQL Server Express

  • Benannte Instanzen wie SERVER\SQLEXPRESS werden in der Verbindungs-URL nicht unterstützt, der Outpost nutzt den SQL Server Browser-Dienst nicht. Gib stattdessen den Hostnamen mit dem festen TCP-Port der Instanz an, z. B. sqlserver://user:pass@SERVER:1433/db.

  • SQL Server Express hat TCP/IP standardmäßig deaktiviert und nutzt dynamische Ports. Aktiviere im SQL Server Configuration Manager unter den Protokollen der Instanz TCP/IP, leere unter IP-Adressen → IPAll das Feld Dynamische TCP-Ports, trage einen festen TCP-Port ein und starte den Dienst neu. Port 1433 geht nur, wenn keine Standardinstanz auf dem Server ihn bereits belegt, sonst wähle einen anderen, z. B. 14330.

  • Anmeldung: Unterstützt werden nur SQL-Server-Anmeldungen mit Benutzername und Passwort, keine Windows-Authentifizierung. Stelle den Server dafür auf den Modus „SQL Server- und Windows-Authentifizierung“ und lege einen eigenen Login an, der in der Datenbank nur die Rolle db_datareader hat. Solange du keine Schreibrechte (INSERT, UPDATE, DELETE) freigibst, prüft der Outpost, dass der Login nicht schreiben kann: Logins wie sa, db_owner, db_datawriter oder solche mit EXECUTE-Rechten auf Prozeduren werden mit „Nur-Lesen braucht eine Rolle ohne Schreibrechte“ abgelehnt.

  • Verschlüsselung: Die Verbindung ist standardmäßig verschlüsselt und prüft das Serverzertifikat. Dafür braucht SQL Server ein eigenes Zertifikat:

    • Der Hostname aus der Verbindungs-URL muss im Zertifikat stehen (alternativer Antragstellername oder CN). Steht in der URL eine IP-Adresse, muss das Zertifikat sie als IP-Adresse im alternativen Antragstellernamen enthalten. Als DNS-Name oder im CN reicht sie nicht, ein Hostname in der URL ist meist einfacher.
    • Das Zertifikat ist entweder von einer Zertifizierungsstelle ausgestellt, deren Stammzertifikat der Outpost-Rechner vertraut, oder selbstsigniert, z. B. mit New-SelfSignedCertificate. Ein selbstsigniertes Zertifikat importierst du auf dem Outpost-Rechner unter certlm.msc in Vertrauenswürdige Stammzertifizierungsstellen. Liegt es dort nur unter Eigene Zertifikate, vertraut der Outpost ihm nicht.
    • Starte den Outpost nach dem Import neu. Er liest den Zertifikatspeicher nur beim Start.
    • Das Zertifikat, das SQL Server ohne eigene Konfiguration verwendet, besteht die Prüfung nie: SQL Server erzeugt es bei jedem Dienststart neu, und es trägt nicht den Hostnamen.

    Mehr zum Zertifikatspeicher des Outpost-Rechners: Eigenes Stammzertifikat. Nur als Übergangslösung kannst du ?trustServerCertificate=true an die URL anhängen: Die Verbindung bleibt verschlüsselt, die Identität des Servers wird dann aber nicht mehr geprüft. Andere URL-Parameter als encrypt und trustServerCertificate (jeweils true oder false) sind nicht erlaubt.

  • Sonderzeichen wie @, :, /, ?, # oder % in Benutzername oder Passwort müssen URL-kodiert werden, z. B. @ als %40.

  • Ungültige URL: Meldet die Prüfung „Konfiguration ungültig“, lässt sich die Freigabe nicht erneut prüfen. Entferne sie und lege sie mit der korrigierten URL neu an.

Der Schritt „Verbindung“ im Dialog „Datenbank teilen“: Name, Datenbanksystem und die maskierte Verbindungs-URL.

Zugriff eingrenzen

Was der Dienst herausgeben darf, legst du auf derselben Seite fest — pro Diensttyp unterschiedlich:

DB-Tabellen, eine je Zeile im Format schema.tabelle, z. B.:

public.customers
public.orders

* gilt als Platzhalter für Schema oder Tabelle — der Vorgabewert *.* gibt zunächst jede Tabelle frei; schränke ihn auf die tatsächlich benötigten Tabellen ein. Maximal 500 Einträge.

Die Einträge unterscheiden Groß- und Kleinschreibung: Schreibe Schema und Tabelle genau so, wie sie in der Datenbank heißen (z. B. public.Customers, wenn die Tabelle Customers heißt).

Darunter: SELECT ist für jede gelistete Tabelle immer erlaubt. INSERT, UPDATE und DELETE sind einzeln zuschaltbare Kästchen — sie gelten dann für alle gelisteten Tabellen gemeinsam, nicht pro Tabelle einzeln.

Der Schritt „Zugriff“ im Dialog „Datenbank teilen“: die DB-Tabellen-Liste und die Kästchen für SELECT (immer erlaubt), INSERT, UPDATE und DELETE.

Prüfen und anlegen

Der letzte Schritt fasst Name, Diensttyp, Ziel und die eben festgelegten Rechte zusammen. Anlegen registriert den Dienst bei MeinGPT — er ist damit noch für niemanden sichtbar. Das ist der nächste Schritt.

Der Schritt „Prüfen“ für eine Datenbank: Name, Typ, „Lokal sicher gespeichert“ statt der Verbindungs-URL, Zugriff und der Hinweis „meinGPT-Freigabe nötig“.

In MeinGPT: Dienst freigeben

Freigabe erteilen

Einstellungen → Outposts → Verwalten → Freigaben. Der Dienst steht dort neben den Ordnern in derselben Liste, erkennbar am Blitz-Symbol. Klicke Zugriff und trage die Personen oder Teams ein, die ihn verwenden dürfen — oder gib ihn der ganzen Organisation frei. Solange du den Dienst nicht freigibst, können ihn nur die Admins deines Workspaces nutzen (Anzeige Nur Admins). Admins haben immer Zugriff und lassen sich nicht ausschließen.

Die Freigaben-Liste eines Outposts in MeinGPT: Ordner und Dienste (Blitz-Symbol) in einer Liste, jeweils mit dem Knopf „Zugriff“.

Der Dialog „Teile Service“: Zugriff für den Workspace einstellen oder gezielt Mitglieder und Teams hinzufügen.

Im Assistenten: Konnektor aktivieren

Nur in Assistenten, nicht im normalen Chat

Ein Outpost-Dienst lässt sich nur in einem Assistenten aktivieren. In der Konnektor-Auswahl eines normalen Chats (+-Menü oder @-Menü) erscheint er nicht. Lege dafür einen Assistenten an, aktiviere den Dienst dort und starte den Chat über diesen Assistenten.

Konnektor einschalten

Öffne den Assistenten-Editor, Bereich Werkzeuge → Konnektoren. Ein freigegebener Dienst erscheint dort mit dem Zusatz „via Outpost“ — aktiviere die Zeile, damit der Assistent ihn verwenden darf. Es gibt hier keine eigene Anmeldung oder Verbindung herzustellen: Die Verbindung besteht bereits, dieser Schritt erteilt nur die Nutzungserlaubnis für diesen Assistenten.

Die Konnektoren-Liste im Assistenten-Editor: zwei aktivierte Dienste mit dem Zusatz „via Outpost“.

Beim MCP-Server lässt sich die freigegebene Toolliste hier pro Assistent noch enger fassen als am Outpost festgelegt — nie weiter. Allgemein zu Werkzeugen und Konnektoren im Assistenten-Editor: Assistenten.

Danach kann jede Antwort, die diesen Assistenten verwendet, den Dienst aufrufen — eine Datenbankabfrage stellen, ein MCP-Tool ausführen oder eine der freigegebenen HTTP-Routen ansprechen — innerhalb der Grenzen, die du im Outpost gesetzt hast.

Hinweise für die Datenbank in die Anweisungen schreiben

Das Modell sieht die Tabellen über die Schemaabfrage, kennt aber die Eigenheiten deiner Datenbank nicht. Schreibe sie deshalb in die Anweisungen des Assistenten (siehe Assistenten) und nenne den Dienst dort ausdrücklich.

PostgreSQL: Namen mit Großbuchstaben

PostgreSQL wandelt nicht in Anführungszeichen gesetzte Namen in Kleinbuchstaben um. Heißt eine Tabelle oder Spalte Customers oder OrderDate, muss sie in der Abfrage in doppelte Anführungszeichen gesetzt werden: SELECT "OrderDate" FROM public."Customers". Fehlt das, schlägt die Abfrage fehl. Gib dem Assistenten deshalb einen Satz wie: „Tabellen- und Spaltennamen mit Großbuchstaben immer in doppelte Anführungszeichen setzen, z. B. public."Customers"."

Wenn eine Verbindung nicht funktioniert

„Registriert“ und „erreichbar“ sind zwei getrennte Zustände — ein Dienst kann in MeinGPT erscheinen und trotzdem nicht antworten, etwa weil das lokale Ziel gerade nicht läuft. Wie du das mit Verbindung prüfen in der Outpost-Konsole eingrenzt und was die häufigsten Fehlermeldungen bedeuten, steht unter Datenbank, MCP oder HTTP prüfen.

War diese Seite hilfreich?