MCP 課程文件

使用 MCP 和 Hugging Face Hub 構建小型智慧體

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

使用 MCP 和 Hugging Face Hub 構建小型智慧體

既然我們已經在 Gradio 中構建了 MCP 伺服器並學習瞭如何建立 MCP 客戶端,那麼讓我們透過構建一個可以與我們的情感分析工具無縫互動的智慧體來完成我們的端到端應用程式。本節基於小型智慧體專案,該專案演示了一種超級簡單的方式來部署可以連線到我們 Gradio 情感分析伺服器等服務的 MCP 客戶端。

在第二單元的最後一個練習中,我們將引導您如何實現 TypeScript (JS) 和 Python MCP 客戶端,它們可以與任何 MCP 伺服器通訊,包括我們在前幾節中構建的基於 Gradio 的情感分析伺服器。這完成了我們的端到端 MCP 應用程式流程:從構建公開情感分析工具的 Gradio MCP 伺服器,到建立一個可以結合其他功能使用此工具的靈活智慧體。

meme

圖片來源:https://x.com/adamdotdev

安裝

讓我們安裝必要的包來構建我們的小型智慧體。

一些 MCP 客戶端,特別是 Claude Desktop,尚不支援基於 SSE 的 MCP 伺服器。在這些情況下,您可以使用諸如 mcp-remote 之類的工具。首先安裝 Node.js。然後,將以下內容新增到您自己的 MCP 客戶端配置中

Tiny Agent 可以在命令列環境中執行 MCP 伺服器。為此,我們需要安裝 npm 並使用 npx 執行伺服器。Python 和 JavaScript 都需要這些。

讓我們使用 npm 安裝 npx。如果您沒有安裝 npm,請檢視 npm 文件

# install npx
npm install -g npx

然後,我們需要安裝 mcp-remote 包。

npm i mcp-remote
TypeScript
Python

對於 JavaScript,我們需要安裝 tiny-agents 包。

npm install @huggingface/tiny-agents

命令列中的小型智慧體 MCP 客戶端

讓我們重複 單元 1 中的示例來建立一個基本的小型智慧體。小型智慧體可以根據 JSON 配置檔案從命令列建立 MCP 客戶端。

TypeScript
Python

讓我們用一個基本的小型智慧體來設定一個專案。

mkdir my-agent
touch my-agent/agent.json

JSON 檔案將如下所示

{
	"model": "Qwen/Qwen2.5-72B-Instruct",
	"provider": "nebius",
	"servers": [
		{
			"type": "stdio",
			"config": {
				"command": "npx",
				"args": [
					"mcp-remote",
					"https://:7860/gradio_api/mcp/sse" // This is the MCP Server we created in the previous section
				]
			}
		}
	]
}

然後我們可以使用以下命令執行智慧體

npx @huggingface/tiny-agents run ./my-agent

這裡我們有一個基本的小型智慧體,可以連線到我們的 Gradio MCP 伺服器。它包括一個模型、提供者和一個伺服器配置。

欄位 描述
模型 用於智慧體的開源模型
提供者 用於智慧體的推理提供者
伺服器 用於智慧體的伺服器。我們將使用 mcp-remote 伺服器作為我們的 Gradio MCP 伺服器。

我們還可以使用在本地執行的開源模型與小型智慧體配合使用。如果我們在本地啟動一個推理伺服器,使用

{
	"model": "Qwen/Qwen3-32B",
	"endpointUrl": "https://:1234/v1",
	"servers": [
		{
			"type": "stdio",
			"config": {
				"command": "npx",
				"args": [
					"mcp-remote",
					"https://:1234/v1/mcp/sse"
				]
			}
		}
	]
}

這裡我們有一個可以連線到本地模型的小型智慧體。它包括一個模型、端點 URL (https://:1234/v1) 和一個伺服器配置。該端點應該是一個 OpenAI 相容的端點。

自定義小型智慧體 MCP 客戶端

現在我們已經瞭解了小型智慧體和 Gradio MCP 伺服器,讓我們看看它們如何協同工作!MCP 的美妙之處在於它提供了一種標準化的方式,讓智慧體可以與任何相容 MCP 的伺服器互動,包括我們之前章節中基於 Gradio 的情感分析伺服器。

將 Gradio 伺服器與小型智慧體結合使用

要將我們的小型智慧體連線到我們在本單元早期構建的 Gradio 情感分析伺服器,我們只需將其新增到我們的伺服器列表中即可。以下是我們如何修改智慧體配置

TypeScript
Python
const agent = new Agent({
    provider: process.env.PROVIDER ?? "nebius",
    model: process.env.MODEL_ID ?? "Qwen/Qwen2.5-72B-Instruct",
    apiKey: process.env.HF_TOKEN,
    servers: [
        // ... existing servers ...
        {
            command: "npx",
            args: [
                "mcp-remote",
                "https://:7860/gradio_api/mcp/sse"  // Your Gradio MCP server
            ]
        }
    ],
});

現在我們的智慧體可以使用情感分析工具以及其他工具了!例如,它可以

  1. 使用檔案系統伺服器從檔案中讀取文字
  2. 使用我們的 Gradio 伺服器分析其情感
  3. 將結果寫回檔案

部署注意事項

將 Gradio MCP 伺服器部署到 Hugging Face Spaces 時,您需要更新代理配置中的伺服器 URL,使其指向您部署的空間

{
    command: "npx",
    args: [
        "mcp-remote",
        "https://YOUR_USERNAME-mcp-sentiment.hf.space/gradio_api/mcp/sse"
    ]
}

這使得您的智慧體可以從任何地方使用情感分析工具,而不僅僅是在本地!

結論:我們的完整端到端 MCP 應用程式

在本單元中,我們從理解 MCP 基礎知識到構建完整的端到端應用程式

  1. 我們建立了一個 Gradio MCP 伺服器,公開了一個情感分析工具
  2. 我們學習瞭如何使用 MCP 客戶端連線到此伺服器
  3. 我們使用 TypeScript 和 Python 構建了一個小型智慧體,可以與我們的工具互動

這展示了模型上下文協議的強大功能——我們可以使用我們熟悉的框架(如 Gradio)建立專用工具,透過標準化介面(MCP)公開它們,然後讓智慧體無縫地將這些工具與其他功能結合使用。

我們構建的完整流程允許智慧體

  • 連線到多個工具提供商
  • 動態發現可用工具
  • 使用我們的自定義情感分析工具
  • 將其與其他功能(如檔案系統訪問和網路瀏覽)結合使用

這種模組化方法使 MCP 在構建靈活的 AI 應用程式方面如此強大。

下一步

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.