Udostępnij za pomocą


Szybki start: MCP host w systemie Windows

W tym artykule pokazano, jak aplikacja hosta może wyświetlać listę serwerów , łączyć się z nimi i korzystać z nich, które są zarejestrowane w systemie Windows, przy użyciu narzędzia rejestru agentów na urządzeniach z systemem Windows odr.exe . W tym przewodniku zostanie użyta przykładowa aplikacja hosta z MCP repozytorium przykładów systemu Windows github.com/microsoft/mcp-on-windows-samples.

Uwaga / Notatka

Niektóre informacje odnoszą się do wstępnie wydanego produktu, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, wyraźnych ani domniemanych, w odniesieniu do podanych tutaj informacji.

Wymagania wstępne

  • Windows build 26220.7262 lub nowszy
  • MCP Aplikacja hostująca z tożsamością pakietu. Aby uzyskać więcej informacji na temat tożsamości pakietu, zobacz Omówienie tożsamości pakietu w aplikacjach systemu Windows. Tożsamość pakietu jest udzielana aplikacjom spakowanym przy użyciu formatu pakietu MSIX. Aby uzyskać więcej informacji, zobacz Co to jest MSIX?.
    • To wymaganie nie jest wymuszane w publicznej wersji przedpremierowej, ale będzie wymuszane w stabilnej wersji.

Klonowanie przykładu

Sklonuj próbkę na hoście WindowsMCP na swoje urządzenie i przejdź do niej:

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

Konfigurowanie i tworzenie przykładu

Uruchom następujące polecenia:

npm install
npm run start

Narzędzie przedstawi Ci interfejs użytkownika wiersza polecenia, który umożliwia interakcję z serwerami MCP zarejestrowanymi na urządzeniu. W poniższych sekcjach przedstawiono kod JavaScript używany przez narzędzie do implementowania różnych funkcji MCP aplikacji hosta.

Wymień dostępne MCP serwery

Wyświetl listę dostępnych serwerów MCP wykonujących wywołanie wiersza polecenia odr.exe list. To polecenie zwraca listę serwerów w formacie JSON, który jest przechowywany i używany w kolejnych przykładach:

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

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

const servers = JSON.parse(stdout);

Nawiązywanie połączenia z serwerem MCP

Nawiąż połączenie z jednym z dostępnych MCP serwerów, uzyskując polecenie i argumenty z pliku JSON zwróconego w poprzednim kroku. Utwórz element StdioClientTransport, przekazując polecenie i argumenty. Utwórz nowy Client obiekt. Wywołaj connect, aby połączyć się z serwerem MCP.

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

Wyświetlanie listy narzędzi z serwera

Wywołaj metodę listTools , aby wyświetlić listę narzędzi zarejestrowanych przez MCP serwer.



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

Wywoływanie narzędzia

Każde MCP narzędzie ma nazwę i opcjonalny zestaw parametrów. Funkcja gatherToolParameters w przykładzie pomoże zebrać parametry wejściowe, a następnie wywołać narzędzie bezpośrednio:

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

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

Dalsze kroki

  • Dowiedz się, jak utworzyć i zarejestrować MCP serwer, który może być odnaleziony i używany przez aplikację hosta. Aby uzyskać więcej informacji, zobacz Rejestrowanie MCP serwera.