Partilhar via


Quickstart: MCP hospedar no Windows

Este artigo mostra como uma MCP aplicação anfitriã pode listar, ligar-se e interagir com os MCP servidores registados no Windows usando a ferramenta odr.exe do registo de agentes instalada no dispositivo Windowsodr.exe. Este guia usará uma aplicação anfitriã de exemplo do MCP repositório de exemplos do Windows, github.com/microsoft/mcp-on-windows-samples.

Observação

Algumas informações estão relacionadas ao produto pré-lançado, que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, em relação às informações fornecidas aqui.

Pré-requisitos

  • Windows compilação 26220.7262 ou superior
  • Uma aplicação de anfitriã com identidade de pacote MCP. Para mais informações sobre a identidade do pacote, consulte Uma visão geral da Identidade do Pacote em aplicações Windows. A identidade do pacote é concedida às aplicações que são empacotadas usando o formato de pacote MSIX. Para mais informações, consulte O que é o MSIX?.
    • Nota Este requisito não é aplicado na versão pública de pré-visualização, mas será aplicado na versão estável.

Clonar o exemplo

Clone o exemplo do host Windows MCP para o seu dispositivo e aceda a este:

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

Configurar e construir a amostra

Execute estes comandos:

npm install
npm run start

A ferramenta apresenta-lhe uma interface de linha de comandos que lhe permite interagir com os MCP servidores registados no seu dispositivo. As secções seguintes mostrarão o código Javascript utilizado pela ferramenta para implementar várias funcionalidades de uma MCP aplicação anfitriã.

Lista de servidores disponíveis MCP

Liste os servidores disponíveis MCP que executam a chamada odr.exe listde linha de comandos. Este comando devolve a lista de servidores em formato JSON, que é armazenada e usada em exemplos subsequentes:

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

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

const servers = JSON.parse(stdout);

Liga-te a um MCP servidor

Liga-te a um dos servidores disponíveis MCP obtendo o comando e os argumentos a partir do JSON devolvido no passo anterior. Crie um StdioClientTransport, passando o comando e os argumentos. Cria um novo Client objeto. Liga-te para te ligares ao 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);

Listar ferramentas a partir de um servidor

Chame listTools para listar as ferramentas registradas pelo servidor MCP.



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

Chamar uma ferramenta

Cada MCP ferramenta tem um nome e um conjunto opcional de parâmetros. A função gatherToolParameters do exemplo ajudará a recolher parâmetros de entrada, e em seguida pode utilizar a ferramenta diretamente.

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

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

Próximas Etapas

  • Aprenda a construir e registar um MCP servidor que possa ser descoberto e utilizado por uma aplicação anfitriã. Para mais informações, consulte Registar um MCP servidor.