自 Anthropic 公開推出以來 模型上下文協定 (MCP) on 2024 年 11 月 25 日MCP 已迅速從概念發展成為實際的生態系統:開放的規範和多個參考伺服器已可用,社區實現(內存伺服器、文件系統訪問、Web 獲取器)已發佈在 GitHub 和 NPM 上,並且 MCP 已在諸如 等客戶端中得到支援。 桌面版 Claude 以及第三方工具。該協議已經發展完善(規格和伺服器範例已更新至 2025 年),供應商和工程師正在發布更安全、更有效率的代幣整合模式。
本文將引導您完成 MCP 伺服器的建置、連線等步驟。 克勞德桌面以及你在生產過程中需要的實用/安全/記憶體方面的技巧。
什麼是模型上下文協定(MCP)?
一個簡單易懂的定義
模型上下文協定(MCP)是一種 開放、標準化的協議 這使得LLM主機(運行模型的應用程序,例如Claude Desktop)能夠輕鬆地調用公開外部服務。 資源 (文件,資料庫行) 工具 (模型可以呼叫的函數),以及 提示 (模型可以使用的模板)。 MCP 不採用 N×M 整合(每個模型與每個工具整合)的方式,而是提供一致的客戶端-伺服器架構和運行時契約,以便任何支援 MCP 的模型主機都可以使用任何符合 MCP 標準的伺服器——這樣,開發人員只需建立一次服務,即可讓任何支援 MCP 的模型或 UI(例如 Claude Desktop)使用它們。
為什麼MCP現在很重要
自 Anthropic 於 2024 年底開源 MCP 以來,該協定已迅速成為工具整合(例如 Claude、VS Code 擴充功能和其他代理程式環境)的事實標準互通層。 MCP 減少了重複工作,加快了連接器(例如 Google Drive、GitHub、Slack 等)的開發,並簡化了將持久性記憶體儲存附加到助理的過程。
MCP架構是什麼?它是如何運作的?
從宏觀層面來看,MCP 定義了三個角色組和幾種互動模式。
核心元件:客戶端、伺服器和註冊表
- MCP客戶端(主機): 需要上下文資料的LLM主機或應用程式——例如Claude Desktop、VS Code代理或Web應用程式——會發現並連接到一個或多個MCP伺服器。
- MCP 伺服器(資源提供者): 透過 MCP 模式公開資源(檔案、記憶體、資料庫、操作)的網路服務。伺服器聲明其功能並提供客戶端可以呼叫的端點。
- 註冊/發現: 可選組件或設定文件,可協助用戶端發現可用的 MCP 伺服器、列出功能以及管理權限或安裝(桌面「擴充功能」是實現此功能的一個 UX 層)。
資訊流與能力協商
MCP 交互作用通常遵循以下模式:
- 發現/註冊: 用戶端了解可用的伺服器(本機伺服器、網頁伺服器或精選註冊表)。
- 能力公告: 伺服器共享一個清單,其中描述了資源、方法和授權要求。
- 請求/回應: 客戶端發出結構化請求(例如,「讀取檔案 X」、「在記憶體中搜尋 Y」或「使用這些檔案建立 PR」),伺服器以類型化的上下文資料回應。
- 行動結果和直播: 伺服器可以傳輸結果流或提供長時間運行的操作端點。此規範定義了類型化資源描述符和回應的模式。
安全模型和信任邊界
MCP有意將控制介面標準化,以便LLM能夠處理使用者資料並執行操作。這種權限需要嚴密的安全控制:
- 明確的使用者同意/提示 當伺服器可以存取私有資料或執行特權操作(例如,寫入儲存庫)時,建議使用此功能。
- 最小權限原則: 伺服器應聲明最小權限範圍,客戶端應僅請求所需的功能。
- 傳輸和認證: 對於敏感集成,請使用 TLS、令牌化憑證和僅限本地的端點。社群和平台供應商(例如 Windows 中的 Microsoft)正在嘗試使用註冊表和使用者介面功能來降低風險。
為什麼要將 Claude 與 MCP 伺服器整合?
將 Claude 與 MCP 伺服器集成,可以解鎖三類實用功能:
即時、可操作的背景信息
Claude 不會像傳統方式那樣將過時的快照複製並嵌入到提示訊息中,而是可以在查詢時請求最新的上下文資訊(文件、對話歷史記錄、資料庫行)。這意味著更少的近似檢索和更及時的輸出。 Anthropic 的示範展示了 Claude 如何執行諸如建立 GitHub PR 或透過 MCP 讀取本機檔案等操作。
小型、可組合的工具,而不是一個巨大的適配器
您可以編寫功能各異的 MCP 伺服器——例如,一個用於日曆,一個用於檔案系統,一個用於向量記憶體儲存——並在不同的 Claude 實例或用戶端(桌面、IDE、Web)中重複使用它們。這種模組化設計比客製化整合更具可擴展性。
持久且標準化的記憶
MCP 支援記憶體服務:持久性儲存用於編碼對話歷史、個人偏好和結構化使用者狀態。由於 MCP 標準化了資源模型,多個客戶端可以重複使用同一個記憶體伺服器,並在應用程式之間保持一致的使用者上下文。目前已有多種社區記憶體服務和擴充模式。
更好的使用者體驗和本地控制(Claude Desktop)
在桌面用戶端上,MCP 允許本機伺服器(經使用者許可)直接存取使用者的檔案系統,因此無需使用雲端 API 即可實現對隱私敏感的整合。 Anthropic 的桌面擴充功能就是一個簡化在本機上安裝和發現 MCP 伺服器的範例。
如何建立 MCP 伺服器
開始之前你需要什麼
- 克勞德桌面請為您的作業系統安裝最新版本的 Claude Desktop,並確保在設定中啟用 MCP/擴充功能。某些功能可能需要付費方案(Claude Pro 或同等方案)。
- 開發者機器:Node.js(建議版本 >= 16/18)或 Python 3.10+,如果需要將本機伺服器暴露到網際網路進行測試,則需要 ngrok 或本機隧道解決方案。生產環境中請使用 TLS。
- MCP 專案在主文件和 GitHub 倉庫中提供了 SDK 和範本;請按照文件/倉庫中的官方說明安裝 Python 或 Node SDK。
選項 A — 安裝現有的(範例)MCP 伺服器
Anthropic 提供範例伺服器,包括記憶體、檔案系統和工具。
克隆參考伺服器:
git clone https://github.com/modelcontextprotocol/servers.git
cd servers
裡麵包含以下資料夾:
filesystem/
fetch/
memory/
weather/
安裝範例伺服器:
cd memory
npm install
npm run dev
這將啟動 MCP 伺服器,通常位於:
http://localhost:3000
確認清單端點有效,並且呼叫該工具傳回正確類型的 JSON。
選項 B — 建立您自己的 MCP 伺服器(建議用於學習)
1)建立專案資料夾
mkdir my-mcp-server
cd my-mcp-server
npm init -y
2) 安裝 MCP 伺服器 SDK
npm install @modelcontextprotocol/server
3)建立基本伺服器文件
創建 server.js:
touch server.js
貼上最簡 MCP 伺服器實作代碼:
import { createServer } from "@modelcontextprotocol/server";
const server = createServer({
name: "my-custom-server",
version: "0.1.0",
tools: [
{
name: "hello_world",
description: "Returns a simple greeting",
input_schema: {
type: "object",
properties: {
name: { type: "string" }
},
required:
},
output_schema: {
type: "object",
properties: {
message: { type: "string" }
}
},
handler: async ({ name }) => {
return { message: `Hello, ${name}!` };
}
}
]
});
server.listen(3000);
console.log("MCP server running on http://localhost:3000");
這是一個 完整的 MCP 伺服器 展示單一工具: hello_world.
如何將 Claude Desktop 連接到 MCP 伺服器?
以下是建立簡單 MCP 伺服器並將其註冊到 Claude Desktop 的實用步驟。本節著重於實作操作:涵蓋環境設定、建立伺服器清單、公開客戶端所需的端點以及設定 Claude Desktop 以使用該伺服器。
1)開啟 Claude Desktop 開發人員連線區域
在 Claude Desktop 中: 設定 → 開發者 設定 → 連接器 (取決於客戶端版本)。可選擇新增遠端/本機 MCP 伺服器或「新增連接器」。個人使用者介面可能因版本而異—如果您看不到該選項,請查看桌面「開發人員」功能表或最新的版本說明。

2) 如果您正在設定本機伺服器:建立或找到設定檔
啟動 Claude 桌面應用程式後,它會自動將所有找到的 MCP 伺服器設定到名為 ClaudeDesktopConfig.json 的檔案中。第一步是找到並開啟此文件,如果該文件尚不存在,則建立它:
對於 Windows 用戶,該檔案位於「%APPDATA%\Claude\claude_desktop_config.json」下。
對於 Mac 用戶,該檔案位於「~/Library/Application Support/Claude/claude_desktop_config.json」下。
3) 將伺服器新增至 Claude Desktop
有兩種 UX 模式可以讓 Claude Desktop 了解您的 MCP 伺服器:
桌面擴充程式/一鍵安裝程序Anthropic 提供了「桌面擴充功能」文檔,其中包含清單和安裝程序,使用者可以透過一鍵式流程新增伺服器(建議用於更廣泛的分發)。您可以打包清單和伺服器元數據,以便輕鬆安裝。
**本機伺服器註冊(開發者模式)**用於本地測試:
- 將清單檔案放在本機常用路徑下,或將其部署到以下位置:
https://localhost:PORT/.well-known/mcp-manifest.json. - 在 Claude Desktop 設定中,開啟 MCP/擴充面板,選擇“新增本機伺服器”或“透過 URL 新增伺服器”,然後貼上清單 URL 或代幣。
- 當客戶端提示時,授予所需的權限。 Claude 將枚舉伺服器資源並將其顯示為可用的工具/記憶體。
現在我們選擇安裝本地MCP:添加一個 mcpServers 部分 列出您的伺服器名稱以及啟動它的絕對路徑/命令。儲存並重新啟動 Claude Desktop。
重新啟動後,Claude 的使用者介面將顯示 MCP 工具(搜尋和工具圖示),並允許您測試已公開的操作(例如,「薩克拉門託的天氣如何?」)。如果主機未偵測到您的伺服器,請諮詢… mcp.log 文件和 mcp-server-<name>.log 用於 STDERR 輸出。
4)測試集成
在 Claude 聊天視窗中,輸入:
Call the hello_world tool with name="Alice"
Claude 將呼叫您的 MCP 伺服器並使用工具輸出進行回應。
如何在 MCP 上實現記憶體服務(進階技巧)?
記憶體服務是功能最強大的 MCP 伺服器之一,因為它們能夠跨會話持久化並提供使用者上下文。以下最佳實踐和實現技巧參考了規格、Claude 文件和社群模式。
記憶體資料模型和設計
- 結構化與非結構化: 同時儲存結構化資訊(例如姓名、偏好標記)和非結構化對話片段。使用類型化元資料實現快速篩選。
- 分塊和嵌入: 將長文檔或對話拆分成語義連貫的片段,並儲存向量嵌入以支援相似性搜尋。這可以提高回想率並減少檢索過程中的詞元使用量。
- 近因效應和顯著性訊號: 記錄時間戳記和顯著性評分;允許查詢優先考慮最近或高顯著性記憶。
- 隱私標籤: 為專案新增敏感度標籤(私人、分享、臨時),以便客戶可以提示徵得同意。
記憶體操作的 API 模式
至少實現以下三項操作:
write接受帶有元資料的記憶體項,返回確認資訊和儲存 ID。query接受自然語言查詢或結構化過濾器,並傳回前 k 個匹配的記憶(可選地帶有可解釋性元資料)。delete/update支援生命週期操作和使用者明確請求遺忘。
設計方案應包括出處(記憶的來源)和置信度/相似度評分,以便客戶和模型能夠決定如何積極地使用該記憶。
克勞德的檢索增強策略
- 簡短的上下文視窗: 傳回簡潔的記憶體片段而不是完整的文件;如果需要,允許 Claude 請求完整的上下文。
- 摘要層: 可以選擇性地儲存每個記憶體的簡短摘要,以減少令牌數量。寫入操作時使用增量摘要。
- 控制注射: 將記憶體作為可附加的「上下文包」提供,客戶端可以選擇性地將其註入到提示中,而不是將所有內容注入到模型中。
記憶體 MCP 的安全與治理
- 同意和審計追蹤: 記錄記憶的創建時間以及使用者是否同意與模型共享該記憶。在 Claude Desktop 中提供清晰的使用者介面,方便使用者查看和撤銷記憶。
- 速率限制與驗證: 透過驗證類型並禁止伺服器發出意外的程式碼執行請求,來防禦提示注入或資料外洩。
- 靜態資料和傳輸中資料加密: 對儲存的項目使用強加密,並對所有 MCP 端點使用 TLS 加密。對於雲端存儲,如果可用,請使用信封加密或客戶管理的金鑰。
結論:如何在 Claude Desktop 中建置 MCP 伺服器
本文提供了一份簡潔實用的指南,教你如何從零開始,在筆記型電腦上建立一個可用的 Claude + 記憶體伺服器:
- 測試工作流程: 讓克勞德「記住」一個簡短的事實,並驗證伺服器是否儲存了該事實;然後在稍後的提示中讓克勞德回憶起該事實。查看日誌並調整檢索排名。
- 安裝先決條件: Node.js >= 18、Git、Claude Desktop(最新版本)。
- 克隆參考伺服器: 分岔
modelcontextprotocol/servers例如,或GitHub上的社群記憶伺服器。 - 安裝並運行:
npm install→npm run dev(或遵循倉庫的 README 文件)。確認清單端點(例如,http://localhost:3000/manifest返回 JSON。 () - 在 Claude Desktop 中註冊連接器: 設定 → 開發者/連接器 → 新增連接器 → 指向
http://localhost:3000並批准範圍。
將 Claude(或任何主機)與 MCP 伺服器集成,即可建置一次連接器,並使其在 MCP 用戶端(Claude Desktop、IDE 或其他代理框架)中可用,從而大大減少維護工作,並加快跨工具的功能對等性。
開發者可以存取 Claude AI 的最新 API(截至本文發布之日),例如: 克勞德十四行詩 4.5 API 克勞德作品 4.1 API 透過 CometAPI, 最新型號版本 始終與官方網站同步更新。首先,探索該模型的功能 游乐场 並諮詢 API指南 以獲得詳細說明。造訪前請確保您已經登入CometAPI並取得API金鑰。 彗星API 提供遠低於官方價格的價格,幫助您整合。
準備出發了嗎? → 立即註冊 CometAPI !
