Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come un'app MCP host può elencare, connettersi e interagire con i MCP server registrati in Windows usando lo strumentoodr.exe del Registro di sistema dell'agente locale di Windows odr.exe. Questa procedura dettagliata utilizzerà un'app host di esempio dal repository dei campioni per Windows MCPgithub.com/microsoft/mcp-on-windows-samples.
Annotazioni
Alcune informazioni sono relative a un prodotto non definitivo, che potrebbe subire modifiche sostanziali prima del rilascio sul mercato. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.
Prerequisiti
- Windows build 26220.7262 o versione successiva
- Un'app MCP host con identità del pacchetto. Per altre informazioni sull'identità del pacchetto, vedere Panoramica dell'identità del pacchetto nelle app di Windows. L'identità del pacchetto viene concessa alle app in pacchetto che usano il formato del pacchetto MSIX. Per altre informazioni, vedere Che cos'è MSIX?.
- Nota Questo requisito non viene applicato nella versione di anteprima pubblica, ma sarà nella versione stabile.
Clonare l'esempio
Clona
git clone https://github.com/microsoft/mcp-on-windows-samples.git
cd mcp-on-windows-samples/mcp-client-js
Configurare e compilare l'esempio
Eseguire i comandi seguenti:
npm install
npm run start
Lo strumento presenterà un'interfaccia utente della riga di comando che consente di interagire con i MCP server registrati nel dispositivo. Le sezioni seguenti illustrano il codice Javascript usato dallo strumento per implementare varie funzionalità di un'app MCP host.
Elencare i server disponibili MCP
Elenca i server disponibili MCP che eseguono la chiamata della riga di comando odr.exe list. Questo comando restituisce l'elenco dei server in formato JSON, che viene archiviato e usato negli esempi successivi:
const { stdout, stderr } = await execFileAsync('odr.exe', ['list']);
if (stderr) {
console.error('Warning:', stderr);
}
const servers = JSON.parse(stdout);
Connettersi a un MCP server
Connettersi a uno dei server disponibili MCP ottenendo il comando e gli argomenti dal codice JSON restituito nel passaggio precedente. Creare un StdioClientTransport, passando il comando e gli argomenti. Creare un nuovo Client oggetto. Usare connect per connettersi al MCP server.
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);
Elencare gli strumenti da un server
Chiamare listTools per elencare gli strumenti registrati dal MCP server.
// List available tools
const toolsResponse = await client.listTools();
const tools = toolsResponse.tools || [];
Invocazione di uno strumento
Ogni MCP strumento ha un nome e un set facoltativo di parametri. La gatherToolParameters funzione nell'esempio consentirà di raccogliere i parametri di input e quindi è possibile chiamare direttamente lo strumento:
const parameters = await gatherToolParameters(tool); // This function is from the sample code
const result = await client.callTool({
name: tool.name,
arguments: parameters
});
Passaggi successivi
- Informazioni su come costruire e registrare un server MCP che può essere individuato e utilizzato da un'applicazione host. Per altre informazioni, vedere Registrazione di un MCP server.