Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe een MCP host-app de MCP servers die zijn geregistreerd in Windows, kan weergeven, er verbinding mee kan maken en ermee kan communiceren met behulp van het registerhulpprogramma odr.exe. In deze stapsgewijze handleiding wordt een voorbeeldhost-app uit de MCP opslagplaats voor Windows-voorbeelden github.com/microsoft/mcp-on-windows-samples gebruikt.
Opmerking
Sommige informatie heeft betrekking op vooraf uitgebrachte producten, die aanzienlijk kunnen worden gewijzigd voordat het commercieel wordt uitgebracht. Microsoft geeft geen garanties, uitdrukkelijk of impliciet, met betrekking tot de informatie die hier wordt verstrekt.
Vereiste voorwaarden
- Windows build 26220.7262 of hoger
- Een MCP host-app met pakketidentiteit. Zie Een overzicht van pakketidentiteit in Windows-apps voor meer informatie over pakketidentiteit. Pakketidentiteit wordt verleend aan apps die zijn verpakt met behulp van de MSIX-pakketindeling. Zie Wat is MSIX? voor meer informatie.
- Notitie Deze vereiste wordt niet afgedwongen in de openbare preview-versie, maar wel in de stabiele release.
Het voorbeeld klonen
Kloon het voorbeeld van deMCP Windows-host naar uw apparaat en navigeer ernaartoe:
git clone https://github.com/microsoft/mcp-on-windows-samples.git
cd mcp-on-windows-samples/mcp-client-js
Het voorbeeld instellen en bouwen
Voer deze opdrachten uit:
npm install
npm run start
Het hulpprogramma geeft u een opdrachtregelgebruikersinterface waarmee u kunt communiceren met de MCP servers die op uw apparaat zijn geregistreerd. In de volgende secties ziet u de Javascript-code die door het hulpprogramma wordt gebruikt om verschillende functies van een MCP host-app te implementeren.
MCP Beschikbare servers weergeven
Geef de beschikbare MCP servers weer die de opdrachtregeloproep odr.exe listuitvoeren. Met deze opdracht wordt de lijst met servers in JSON-indeling geretourneerd, die wordt opgeslagen en gebruikt in volgende voorbeelden:
const { stdout, stderr } = await execFileAsync('odr.exe', ['list']);
if (stderr) {
console.error('Warning:', stderr);
}
const servers = JSON.parse(stdout);
Verbinding maken met een MCP server
Maak verbinding met een van de beschikbare MCP servers door de opdracht en argumenten op te halen uit de JSON die in de vorige stap is geretourneerd. Maak een StdioClientTransport, geef de opdracht en argumenten door. Maak een nieuw Client object. Roep verbinden aan om verbinding te maken met de 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);
Hulpprogramma's van een server weergeven
Oproep listTools om de hulpprogramma's weer te geven die zijn geregistreerd door de MCP server.
// List available tools
const toolsResponse = await client.listTools();
const tools = toolsResponse.tools || [];
Een hulpprogramma aanroepen
Elk MCP hulpprogramma heeft een naam en een optionele set parameters. De gatherToolParameters functie in het voorbeeld helpt bij het verzamelen van invoerparameters en vervolgens kunt u het hulpprogramma rechtstreeks aanroepen:
const parameters = await gatherToolParameters(tool); // This function is from the sample code
const result = await client.callTool({
name: tool.name,
arguments: parameters
});
Volgende stappen
- Meer informatie over het bouwen en registreren van een MCP server die kan worden gedetecteerd en gebruikt door een host-app. Zie Een server registreren MCPvoor meer informatie.