Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article montre comment une MCP application hôte peut répertorier, se connecter et interagir avec les MCP serveurs enregistrés sous Windows à l’aide de l’outil de registre de l’agent Windows odr.exe sur l’appareilodr.exe. Ce guide utilise un exemple d’application hôte à partir du MCP référentiel d'exemples pour Windows , github.com/microsoft/mcp-on-windows-samples.
Note
Certaines informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.
Prerequisites
- Windows build 26220.7262 ou version ultérieure
- Une MCP application hôte avec une identité de package. Pour plus d’informations sur l’identité de package, consultez Une vue d’ensemble de l’identité de package dans les applications Windows. L’identité de package est accordée aux applications empaquetées à l’aide du format de package MSIX. Pour plus d’informations, consultez Qu’est-ce que MSIX ?.
- Note Cette exigence n’est pas appliquée dans la préversion publique, mais elle se trouve dans la version stable.
Clonage de l’exemple
Clonez l’exempleMCP d’hôte Windows sur votre appareil et accédez-y :
git clone https://github.com/microsoft/mcp-on-windows-samples.git
cd mcp-on-windows-samples/mcp-client-js
Configurer et générer l’exemple
Exécutez les commandes suivantes :
npm install
npm run start
L’outil vous présente une interface utilisateur de ligne de commande qui vous permet d’interagir avec les MCP serveurs inscrits sur votre appareil. Les sections suivantes affichent le code Javascript utilisé par l’outil pour implémenter différentes fonctionnalités d’une MCP application hôte.
Répertorier les serveurs disponibles MCP
Répertoriez les serveurs disponibles MCP exécutant l’appel odr.exe listde ligne de commande . Cette commande retourne la liste des serveurs au format JSON, qui est stockée et utilisée dans les exemples suivants :
const { stdout, stderr } = await execFileAsync('odr.exe', ['list']);
if (stderr) {
console.error('Warning:', stderr);
}
const servers = JSON.parse(stdout);
Se connecter à un MCP serveur
Connectez-vous à l’un des serveurs disponibles MCP en récupérant la commande et les arguments à partir du JSON retourné à l’étape précédente. Créez un StdioClientTransport, en passant la commande et les arguments. Créez un Client objet.
Appelez la connexion pour vous connecter au MCP serveur.
const command = server.manifest?.server?.mcp_config?.command;
const args = server.manifest?.server?.mcp_config?.args || [];
if (!command) {
throw new Error('Server configuration missing command.');
}
// Create MCP client with stdio transport
// Set stderr to 'ignore' to silence server info logs
const transport = new StdioClientTransport({
command: command,
args: args,
stderr: 'ignore'
});
const client = new Client({
name: 'mcp-client',
version: '1.0.0'
}, {
capabilities: {}
});
// Connect to the server
await client.connect(transport);
Répertorier les outils d’un serveur
Appelez listTools pour répertorier les outils inscrits par le MCP serveur.
// List available tools
const toolsResponse = await client.listTools();
const tools = toolsResponse.tools || [];
Appel d’un outil
Chaque MCP outil a un nom et un ensemble facultatif de paramètres. La gatherToolParameters fonction dans l’exemple permet de collecter les paramètres d’entrée, puis vous pouvez appeler l’outil directement :
const parameters = await gatherToolParameters(tool); // This function is from the sample code
const result = await client.callTool({
name: tool.name,
arguments: parameters
});
Étapes suivantes
- Découvrez comment générer et inscrire un MCP serveur qui peut être découvert et utilisé par une application hôte. Pour plus d’informations, consultez Inscription d’un MCP serveur.