Zum Hauptinhalt springen
Version: 4.1 (2026 H2)

MCP Server

Der primedocs MCP Server (PrimeDocs.Web.Mcp) ist eine eigenständige ASP.NET-Core-Anwendung (.NET 10), die primedocs-Funktionen über das Model Context Protocol für KI-Agenten bereitstellt. Er wird getrennt vom übrigen primedocs-Server betrieben.

Voraussetzungen

  • .NET 10 Windows Hosting Bundle (wie beim primedocs-Server).
  • Eine erreichbare primedocs-IdentityServer-Instanz für die OAuth-Autorisierung.
  • Eine primedocs.config (dieselbe wie beim primedocs-Server bzw. eine darauf verweisende), siehe primedocs.config.

Installation

Der MCP Server ist Bestandteil des Server-Installationspakets und wird als eigene ASP.NET-Core-Anwendung im IIS betrieben (In-Process-Hosting über das ASP.NET Core Module).

  • On-Premises: Das Installationsskript Install.ps1 legt die MCP-Anwendung zusammen mit den übrigen Serverapplikationen als IIS-Anwendung unter dem Pfad /mcp an (siehe Installation primedocs-Server). In der von der Installation erzeugten primedocs.config ist der zugehörige apps-Eintrag bereits enthalten:

    <apps>
    ...
    <add id="[GUID]" name="Mcp" url="https://your-url.local/mcp/" logFilePath="Mcp\" type="Mcp" />
    </apps>
  • Azure: Die MCP-Anwendung wird über dasselbe ZipDeploy wie der übrige Server ausgerollt (siehe Konfiguration abschliessen). Damit der Pfad /mcp erreichbar ist, muss er als Path Mapping vom Typ Application angelegt sein (siehe App Service › Path Mappings).

Konfiguration

Der MCP Server liest seine Einstellungen aus der primedocs.config (dieselbe wie beim primedocs-Server). Daraus stammen insbesondere:

  • die IdentityServer-URL (Authority für JWT-Bearer und Token-Introspection),
  • die MCP-Basis-URL aus dem apps-Eintrag vom Typ Mcp,
  • das Attribut mcpTemplateTagName auf dem <openAi>-Element — erforderlich, damit die Vorlagensuche funktioniert: GetAllTemplates und FindTemplates geben nur Vorlagen mit diesem Tag zurück (siehe primedocs AI (Preview)),
  • optionale Werte wie das Introspection-Secret und eine Proxy-Konfiguration.

Client für MCP-Zugriff registrieren

Damit sich MCP-Clients (z. B. Microsoft 365 Copilot oder Copilot Studio) über OAuth 2.0 anmelden können, muss in der primedocs.config ein Client mit userAuthType="FromLoginForMcp" hinterlegt sein. Als id kann eine beliebige GUID verwendet werden:

<primedocs>
...
<clients>
<add id="[GUID]" oidcClientId="McpClient" userAuthType="FromLoginForMcp" />
</clients>
...
</primedocs>

Bei der dynamischen Client-Registrierung (POST /oauth/register) gibt der Server die oidcClientId dieses Eintrags als client_id zurück. Ohne einen solchen Client schlägt die Registrierung mit einem Fehler fehl.

Die Datasource wird pro Anfrage über das URL-Segment bestimmt (siehe Endpunkt).

Endpunkt und Authentifizierung

Der MCP-Endpunkt ist mandantenspezifisch:

https://<mcp-host>/{dataSourceId}

Der Server ist eine über OAuth 2.0 geschützte Ressource. Clients ermitteln die Autorisierungsparameter über die Discovery-Endpunkte:

GET /.well-known/oauth-protected-resource
GET /.well-known/oauth-authorization-server

Bei einem 401 liefert der Server einen WWW-Authenticate-Header mit der resource_metadata-URL. Zugriffstoken werden gegen den IdentityServer per Introspection validiert; erforderlich ist der MCP-Scope.

Funktionstest

Zur Überprüfung die Basis-URL des MCP Servers (https://your-url.local/mcp/) im Browser aufrufen: Es wird eine Landing Page mit Server-Informationen und dem Tool-Katalog angezeigt.

Zusätzlich sollten die Discovery-Endpunkte ohne Authentifizierung ein JSON-Dokument zurückgeben:

https://your-url.local/mcp/.well-known/oauth-protected-resource
https://your-url.local/mcp/.well-known/oauth-authorization-server

Details zu den bereitgestellten Tools (GetTemplateStructure, GenerateDocument, GetAllTemplates, FindTemplates) beschreibt die Schnittstellenseite MCP.