MCP-Server

Der Power Portals Pro MCP-Server gibt KI-Programmierassistenten beim Bau direktes Wissen über dieses Framework. Es handelt sich um einen Model Context Protocol-Server , der mit dem Framework ausgeliefert wird, und es gibt keinen Lizenzschlüssel und nichts, wofür man sich anmelden müsste.

Warum es existiert

Zwei Dinge, die ein Agent allein aus der Dokumentation nicht bekommen kann, und beide verursachen fehlerhaften Code:

Was es beantwortet

Anmerkung

Jedes Dataverse-Tool liest Metadaten. Keines von ihnen liest, schreibt oder löscht einen Datensatz, daher ermöglicht es einem Agenten, einen Agenten auf eine Produktionsumgebung zu zeigen, die Form Ihrer Daten zu erkennen, ohne sie berühren zu können.

Hinzufügen zu einem Projekt

Zwei Orte, an denen es leben kann

Hier gibt es ein Henne-Ei-Problem, das es wert ist, explizit zu sein. Die Vorlagen schreiben die Konfiguration in das von ihnen erstellte Projekt ein – aber der Server ist am nützlichsten, bevor dieses Projekt existiert, wenn man eine Vorlage und ihre Optionen auswählt. Installiere sie also einmal für dich selbst und lass die jeweilige Projektdatei übernehmen.

Einmal pro Maschine, für jeden Ordner

Dadurch ist der Server überall verfügbar, auch in einem leeren Ordner, in den du gleich einbauen willst. Er kann dann antworten, welche Vorlage verwendet werden soll, welche Optionen es bedeuten und was danach konfiguriert werden soll. Absichtlich entpinnt, damit er die neueste Version verfolgt:

Visual Studio liest eine Benutzerebene .mcp.json aus deinem Profilordner, Cursor verwendet ~/.cursor/mcp.json, und VS Code hat in seinen Einstellungen eine benutzerdefinierte MCP-Konfiguration. Jeder nimmt denselben servers Block.

Pro Projekt, an seine Version angepinnt

Projekte, die aus den Power Portals Pro-Vorlagen erstellt wurden, sind bereits verkabelt: Die Vorlage schreibt eine .mcp.json an der Lösungswurzel, die an die passende Serverversion gepinnt ist. Es gibt nichts zu tun.

Um sie zu einem bestehenden Projekt hinzuzufügen, erstelle diese Datei selbst am Kern deiner Lösung:

Welche Datei dein Redakteur liest

Visual Studio 2022 17.14+ und Visual Studio 2026 lesen .mcp.json aus dem Solution-Ordner, ebenso wie Claude Code. VS Code liest .vscode/mcp.json und Cursor liest .cursor/mcp.json – beide verwenden denselben servers Block, also kopieren Sie ihn quer.

dnx Wird mit dem .NET 10 SDK ausgeliefert, das Sie bereits besitzen: Jedes Power Portals Pro-Projekt wird von ASP.NET Core gehostet, inklusive React SPAs. Der erste Durchlauf lädt das Paket herunter und cacht.

Beide Einträge sind die vorgesehene Einrichtung. Die beiden Einträge verwenden denselben Servernamen, sodass ein Client, der beide Scopes versteht, die des Projekts verwendet – das heißt, du bekommst die versionsabgestimmten Antworten innerhalb eines Projekts und die neuesten überall sonst.

Ich prüfe, ob es funktioniert

Frag deinen Assistenten etwas, das nur der Server beantworten kann – zum Beispiel: "Benutze get_component_api, um mir alle Parameter auf MainGrid zu zeigen". Wenn das Tool nicht verfügbar ist, hat der Client die Konfigurationsdatei nicht übernommen; die meisten benötigen einen Neustart, nachdem sie hinzugefügt wurde.

Verbindung zu Dataverse

Die Dokumentationstools benötigen überhaupt keine Konfiguration. Die Metadaten-Tools benötigen eine Verbindung zu deiner Umgebung, und diese Verbindung gehört zum Ordner, nicht zur Maschine. Führe dies einmal im Projekt aus:

Eine Umgebung pro Ordner

Das bindet diesen Ordner an eine Umgebung. Wenn Sie über mehrere Kunden hinweg arbeiten, bleibt jedes Projekt in seiner eigenen Umgebung angemeldet und Agenten in verschiedenen Ordnern wechseln sich nie. Das ist das Einzige, was pac auth select nicht möglich ist – es wechselt ein einziges, maschinenweites Profil, sodass ein Kundenwechsel an einem Ort das überall ändert.

Die Anmeldung verwendet standardmäßig den Gerätecode-Flow, also funktioniert es über SSH, innerhalb eines Containers und in WSL, und du kannst es auf einem Handy beenden. Lehn ab, --browser wenn du lieber einen öffnen möchtest.

Wo Dinge gelagert werden

Der Token-Cache wird von der Umgebung verschlüsselt, sodass ein zweiter Klon desselben Kunden-Repositorys Sie nicht erneut zur Anmeldung auffordert, während ein anderer Kunde dies immer tut.

Kommandos

All diese wirken auf dem aktuellen Ordner, es sei denn, du bestehst --workspace.

Weitere Verbindungsmöglichkeiten

Die Umgebung und die Zugangsdaten werden in dieser Reihenfolge aufgelöst, sodass die expliziteste Absichtserklärung gewinnt:

  1. UmgebungsvariablenPPP_D365_URL, PPP_D365_CLIENT_ID und PPP_D365_CLIENT_SECRET im Serverblock env . Ein Service Principal und die Möglichkeit, dies in CI oder einem gemeinsamen Container zu verdrahten.
  2. Die Anmeldung des Ordners – geschrieben von login. Der normale Pfad.
  3. Die eigenen Einstellungen des Projekts – dieselben D365:Url, D365:ClientId und D365:ClientSecret (oder D365:Secret) das Portal selbst liest aus Benutzergeheimnissen und appsettings. Ein konfiguriertes Power Portals Pro-Projekt benötigt daher oft gar keine Anmeldung.

Power Platform CLI-Profile

Wenn du bereits Umgebungen in pacbehältst, kannst du von einer beginnen, anstatt nach einer URL zu suchen:

Die CLI hat keinen Befehl, der ein Zugriffstoken ausgibt, und speichert Zugangsdaten in ihrem eigenen Store, sodass ihre Sitzung nicht direkt wiederverwendet werden kann. Was --pac-profile das tut, ist, die Umgebung und das Konto aus einem Profil zu nehmen und sich als dieses Konto anzumelden – meist ohne Aufforderung, weil du bereits eine Sitzung hast.

Anmerkung

Das eigene aktive Profil der CLI wird nie geändert. pac auth select wird absichtlich nicht verwendet: Es würde jedes Projekt gleichzeitig verschieben.

Die Werkzeuge

Man muss selten ein Werkzeug benennen – die Assistenten wählen es aus den Beschreibungen – aber es hilft zu wissen, was dort ist.

Dokumentation, immer verfügbar

Deine Umgebung, einmal verbunden

Ein neues Projekt zum Laufen bringen

Arbeit in anderen Sprachen

Das Wissen, das der Server zurückgibt, ist Englisch, und das ist absichtlich. Dein Assistent liest es – du siehst nie direkt eine Antwort des Tools – also übersetzt es für dich: Frag in deiner eigenen Sprache, und es antwortet in deiner eigenen Sprache. Was es nicht übersetzen darf, ist der Code. Komponenten-, Parameter- und Spaltennamen sind in jedem Projekt auf Englisch, egal in welcher Sprache das Gespräch stattfindet, daher verhindert das Beibehalten des Referenzenglischen dafür, dass ein Assistent einen übersetzten Parameternamen erfindet, der nicht existiert.

Anmerkung

Fragen, die etwas benennen — “MainGrid Ansichten konfigurieren” — funktionieren bereits in jeder Sprache, weil Komponentennamen überall gleich sind. Die Tools sagen Ihrem Assistenten auch, er soll auf Englisch suchen, daher funktionieren auch Fragen, die nichts benennen.

Fehlerbehebung