Compartir a través de


Inicio rápido: MCP Host en Windows

En este artículo se muestra cómo una aplicación anfitrión puede enumerar los servidores registrados en Windows, conectarse a ellos e interactuar con ellos mediante la herramienta de registro del agente en dispositivo de Windows odr.exe . En este tutorial se usará una aplicación host de ejemplo del repositorio de ejemplos en Windows, github.com/microsoft/mcp-on-windows-samples.

Nota:

Parte de la información hace referencia al producto de versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

Prerrequisitos

  • Compilación de Windows 26220.7262 o posterior
  • Una MCP aplicación host con identidad de paquete. Para obtener más información sobre la identidad del paquete, consulte Introducción a la identidad del paquete en las aplicaciones de Windows. La identidad del paquete se concede a las aplicaciones que se empaquetan mediante el formato de paquete MSIX. Para obtener más información, consulte ¿Qué es MSIX?.
    • Nota Este requisito no se aplica en la versión preliminar pública, pero estará en la versión estable.

Clonación del ejemplo

Clone el MCP ejemplo en el host de Windows a su dispositivo y acceda a él:

git clone https://github.com/microsoft/mcp-on-windows-samples.git
cd mcp-on-windows-samples/mcp-client-js

Configuración y compilación del ejemplo

Ejecute estos comandos:

npm install
npm run start

La herramienta le presentará una interfaz de usuario de línea de comandos que le permite interactuar con los MCP servidores registrados en el dispositivo. En las secciones siguientes se mostrará el código Javascript usado por la herramienta para implementar varias características de una MCP aplicación host.

Enumerar servidores disponibles MCP

Enumere los servidores disponibles MCP que ejecutan la llamada de la línea de comandosodr.exe list. Este comando devuelve la lista de servidores en formato JSON, que se almacena y se usa en ejemplos posteriores:

const { stdout, stderr } = await execFileAsync('odr.exe', ['list']);

if (stderr) {
    console.error('Warning:', stderr);
}

const servers = JSON.parse(stdout);

Conexión a un MCP servidor

Conéctese a uno de los servidores disponibles MCP obteniendo el comando y los argumentos a partir del JSON que recibiste en el paso anterior. Cree un StdioClientTransport, pasando el comando y los argumentos. Cree un nuevo Client objeto. Llame a connect para conectarse al MCP servidor.

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);

Enumerar herramientas de un servidor

Llame listTools para enumerar las herramientas registradas por el servidor MCP.



// List available tools
const toolsResponse = await client.listTools();
const tools = toolsResponse.tools || [];

Llamada a una herramienta

Cada MCP herramienta tiene un nombre y un conjunto opcional de parámetros. La gatherToolParameters función del ejemplo ayudará a recopilar parámetros de entrada y, a continuación, puede llamar a la herramienta directamente:

const parameters = await gatherToolParameters(tool); // This function is from the sample code

const result = await client.callTool({
    name: tool.name,
    arguments: parameters
});

Pasos siguientes

  • Obtenga información sobre cómo compilar y registrar un MCP servidor que una aplicación host puede detectar y usar. Para obtener más información, consulte Registro de un MCP servidor.