Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak aplikacja hosta
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.