Partager via


Démarrage rapide : MCP hôte sur Windows

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

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