MCP 課程文件
使用 MCP 和 Hugging Face Hub 構建小型智慧體
並獲得增強的文件體驗
開始使用
使用 MCP 和 Hugging Face Hub 構建小型智慧體
既然我們已經在 Gradio 中構建了 MCP 伺服器並學習瞭如何建立 MCP 客戶端,那麼讓我們透過構建一個可以與我們的情感分析工具無縫互動的智慧體來完成我們的端到端應用程式。本節基於小型智慧體專案,該專案演示了一種超級簡單的方式來部署可以連線到我們 Gradio 情感分析伺服器等服務的 MCP 客戶端。
在第二單元的最後一個練習中,我們將引導您如何實現 TypeScript (JS) 和 Python MCP 客戶端,它們可以與任何 MCP 伺服器通訊,包括我們在前幾節中構建的基於 Gradio 的情感分析伺服器。這完成了我們的端到端 MCP 應用程式流程:從構建公開情感分析工具的 Gradio MCP 伺服器,到建立一個可以結合其他功能使用此工具的靈活智慧體。
安裝
讓我們安裝必要的包來構建我們的小型智慧體。
一些 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
對於 JavaScript,我們需要安裝 tiny-agents
包。
npm install @huggingface/tiny-agents
命令列中的小型智慧體 MCP 客戶端
讓我們重複 單元 1 中的示例來建立一個基本的小型智慧體。小型智慧體可以根據 JSON 配置檔案從命令列建立 MCP 客戶端。
讓我們用一個基本的小型智慧體來設定一個專案。
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 情感分析伺服器,我們只需將其新增到我們的伺服器列表中即可。以下是我們如何修改智慧體配置
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
]
}
],
});
現在我們的智慧體可以使用情感分析工具以及其他工具了!例如,它可以
- 使用檔案系統伺服器從檔案中讀取文字
- 使用我們的 Gradio 伺服器分析其情感
- 將結果寫回檔案
部署注意事項
將 Gradio MCP 伺服器部署到 Hugging Face Spaces 時,您需要更新代理配置中的伺服器 URL,使其指向您部署的空間
{
command: "npx",
args: [
"mcp-remote",
"https://YOUR_USERNAME-mcp-sentiment.hf.space/gradio_api/mcp/sse"
]
}
這使得您的智慧體可以從任何地方使用情感分析工具,而不僅僅是在本地!
結論:我們的完整端到端 MCP 應用程式
在本單元中,我們從理解 MCP 基礎知識到構建完整的端到端應用程式
- 我們建立了一個 Gradio MCP 伺服器,公開了一個情感分析工具
- 我們學習瞭如何使用 MCP 客戶端連線到此伺服器
- 我們使用 TypeScript 和 Python 構建了一個小型智慧體,可以與我們的工具互動
這展示了模型上下文協議的強大功能——我們可以使用我們熟悉的框架(如 Gradio)建立專用工具,透過標準化介面(MCP)公開它們,然後讓智慧體無縫地將這些工具與其他功能結合使用。
我們構建的完整流程允許智慧體
- 連線到多個工具提供商
- 動態發現可用工具
- 使用我們的自定義情感分析工具
- 將其與其他功能(如檔案系統訪問和網路瀏覽)結合使用
這種模組化方法使 MCP 在構建靈活的 AI 應用程式方面如此強大。
下一步
- 檢視 Python 和 TypeScript 中的小型智慧體部落格文章
- 查閱小型智慧體文件
- 用小型智慧體構建一些東西!