Serveur MCP

Le serveur Power Portals Pro MCP donne aux assistants de codage IA une connaissance directe de ce framework pendant la construction. C’est un serveur Model Context Protocol , il est livré avec le framework, et il n’y a pas de clé de licence ni de quoi s’inscrire.

Pourquoi il existe

Deux choses qu’un agent ne peut pas obtenir uniquement avec la documentation, et les deux provoquent un code cassé :

Ce qu’il répond

Note

Tous les outils Dataverse lisent les métadonnées. Aucun d’eux ne lit, écrit ou supprime un enregistrement, donc pointer un agent vers un environnement de production lui permet d’apprendre la forme de vos données sans pouvoir y toucher.

L’ajouter à un projet

Deux endroits où il peut vivre

Il y a ici un jeu de la poule et de l’œuf qui mérite d’être explicite. Les modèles écrivent la configuration dans le projet qu’ils créent — mais le serveur est à son meilleur niveau avant que ce projet n’existe, lorsque vous choisissez un modèle et ses options. Installez-le donc une fois pour vous-même, et laissez le fichier par projet prendre le relais.

Une fois par machine, pour n’importe quel dossier

Cela rend le serveur accessible partout, y compris dans un dossier vide dans lequel vous allez vous installer. Il peut alors répondre à quel modèle utiliser, ce que signifient les options, et ce qu’il faut configurer ensuite. Délibérément déconnecté, pour suivre la dernière version :

Visual Studio lit un fichier utilisateur .mcp.json depuis votre dossier de profil, Cursor utilise ~/.cursor/mcp.json, et VS Code a une configuration MCP au niveau utilisateur dans ses paramètres. Chacun prend le même servers bloc.

Par projet, épinglé à sa version

Les projets créés à partir des modèles Power Portals Pro sont déjà câblés : le modèle écrit a .mcp.json à la racine de la solution, épinglé à la version serveur correspondante. Il n’y a rien à faire.

Pour l’ajouter à un projet existant, créez vous-même ce fichier à la racine de votre solution :

Quel fichier lit votre éditeur

Visual Studio 2022 17.14+ et Visual Studio 2026 lisent .mcp.json depuis le dossier solution, tout comme Claude Code. VS Code lit .vscode/mcp.json et Cursor .cursor/mcp.json lit — les deux utilisent le même servers bloc, donc copiez-le d’un côté à l’autre.

dnx est livré avec le SDK .NET 10, que vous avez déjà : chaque projet Power Portals Pro est hébergé par ASP.NET Core, React SPA inclus. La première exécution télécharge le paquet et le met en cache.

Avoir les deux est la configuration prévue. Les deux entrées utilisent le même nom de serveur, donc un client qui comprend les deux portées utilise celles du projet — ce qui signifie que vous obtenez les réponses correspondantes à la version à l’intérieur d’un projet, et les dernières réponses ailleurs.

Vérifier que ça fonctionne

Demandez à votre assistant quelque chose auquel seul le serveur peut répondre — par exemple « utilisez get_component_api pour m’afficher tous les paramètres sur MainGrid ». Si l’outil n’est pas disponible, le client n’a pas détecté le fichier de configuration ; la plupart ont besoin d’un redémarrage après son ajoute.

Connexion à Dataverse

Les outils de documentation n’ont besoin d’aucune configuration. Les outils de métadonnées ont besoin d’une connexion à votre environnement, et cette connexion appartient au dossier, pas à la machine. Exécutez ceci une fois dans le projet :

Un environnement par dossier

Cela lie ce dossier à un seul environnement. Si vous travaillez avec plusieurs clients, chaque projet reste connecté à son propre environnement et les agents dans différents dossiers ne se recroisent jamais. C’est la seule chose pac auth select impossible — cela change un seul profil à l’échelle de la machine, donc changer de client en un seul endroit le modifie partout.

La connexion utilise par défaut le flux de code de l’appareil, donc ça fonctionne via SSH, à l’intérieur d’un conteneur et en WSL, et tu peux le finir sur un téléphone. Passe --browser si tu préfères en ouvrir un.

Où les objets sont stockés

Le cache de jetons est codé par environnement, donc un second clone du dépôt du même client ne vous demande pas de vous reconnecter, alors qu’un autre client le fait toujours.

Commandements

Tous ces éléments agissent sur le dossier courant sauf si vous réussissez --workspace.

Autres façons de se connecter

L’environnement et les identifiants sont réglés dans cet ordre, de sorte que la déclaration d’intention la plus explicite l’emporte :

  1. Variables d’environnementPPP_D365_URL, PPP_D365_CLIENT_ID et PPP_D365_CLIENT_SECRET dans le bloc du serveur env . Un principal de service, et la façon de le câbler dans CI ou un conteneur partagé.
  2. La connexion du dossier — écrite par login. Le chemin normal.
  3. Les paramètres propres au projet — les mêmes D365:Url, D365:ClientId et D365:ClientSecret (ou D365:Secret) le portail lui-même lit à partir des secrets utilisateur et appsettings. Un projet Power Portals Pro configuré n’a donc souvent besoin d’aucune connexion.

Profils CLI Power Platform

Si vous gardez déjà des environnements dans pac, vous pouvez partir d’un au lieu de chercher une URL :

La CLI n’a pas de commande qui délivre un jeton d’accès, et elle conserve les identifiants dans son propre magasin, donc sa session ne peut pas être réutilisée directement. Ce qui --pac-profile le fait, c’est prendre l’environnement et le compte d’un profil et se connecter en tant que compte — généralement sans qu’on le demande, car vous avez déjà une session.

Note

Le profil actif propre de la CLI n’est jamais modifié. pac auth select est délibérément interdit : il déplacerait chaque projet en même temps.

Les outils

Il est rare de nommer un outil — les assistants les choisissent dans les descriptions — mais il est utile de savoir ce qui s’y trouve.

Documentation, toujours disponible

Votre environnement, une fois connecté

Lancer un nouveau projet

Travailler dans d’autres langues

La connaissance que le serveur retourne est en anglais, et c’est délibéré. C’est votre assistant qui la lit — vous ne voyez jamais une réponse d’outil directement — donc elle traduit pour vous : demandez dans votre propre langue, et elle répond dans votre propre langue. Ce qu’il ne doit pas traduire, c’est le code. Les noms des composants, paramètres et colonnes sont en anglais dans chaque projet, quelle que soit la langue de la conversation, donc garder la référence en anglais empêche un assistant d’inventer un nom de paramètre traduit qui n’existe pas.

Note

Les questions qui nomment quelque chose “MainGrid Ansichten konfigurieren” — fonctionnent déjà dans n’importe quelle langue, car les noms des composants sont identiques partout. Les outils indiquent aussi à votre assistant de chercher en anglais, donc les questions qui ne nomment rien fonctionnent aussi.

Dépannage