共用方式為


快速入門: MCP 在 Windows 上託管

本文說明主機應用程式如何MCP透過 MCP,列出、連接並與 odr.exe Windows 註冊的伺服器互動。 本攻略將使用來自 MCP Windows 範例倉庫的範例主機應用程式, github.com/microsoft/mcp-on-windows-samples

備註

尚未發布產品的部分資訊在正式上市前可能會進行重大更改。 Microsoft 對於此處提供的資訊,不做任何明確或隱含的保證。

先決條件

  • Windows 版本 26220.7262 或更高版本
  • 一個 MCP 帶有套件身份的宿主應用程式。 欲了解更多套件身份資訊,請參閱 Windows 應用程式中套件身份的概述。 使用 MSIX 套件格式的應用程式會獲得套件識別。 欲了解更多資訊,請參閱 What is MSIX?
    • 注意 此要求在公開預覽版中未強制執行,但在穩定版中會強制執行。

複製範例

Windows 主機範例複製MCP到你的裝置,然後導航到那裡:

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

設定並建置範例

執行以下命令:

npm install
npm run start

這個工具會呈現一個命令列介面,讓你能與裝置上註冊的 MCP 伺服器互動。 接下來的章節將展示該工具用來實作主機應用程式各種功能的 MCP Javascript 程式碼。

可用伺服器列表MCP

列出執行命令列呼叫MCP的可用odr.exe list伺服器。 此指令會回傳以 JSON 格式的伺服器清單,該清單會儲存並在後續範例中使用:

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

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

const servers = JSON.parse(stdout);

連接到一台MCP伺服器

透過取得前一步回傳的 JSON 指令和參數,連接到可用 MCP 伺服器。 建立一個 StdioClientTransport,傳遞指令和參數。 建立一個新 Client 物件。 呼叫 連線 連接伺服器 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);

從伺服器中列出工具

呼叫 listTools 列出由 MCP 伺服器註冊的工具。



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

呼叫工具

每個 MCP 工具都有名稱和一組可選的參數。 gatherToolParameters範例中的函式會幫助收集輸入參數,然後你可以直接呼叫這個工具:

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

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

後續步驟

  • 學習如何建立並註冊一個 MCP 可供主機應用程式發現並使用的伺服器。 欲了解更多資訊,請參閱 註冊 MCP 伺服器