Cloudflare 遠端 MCP 伺服器為相容的 AI 用戶端提供存取選定工具的代管介面。讓端點上線只是容易達到的里程碑。真正有用的里程碑,是用戶端以正確使用者的權限完成預期任務,並產生維運團隊能夠解釋的結果。
在 Cloudflare 上構建遠端 MCP 伺服器時,應圍繞範圍有限的工具契約、已認證身分和明確的下游權限進行設計。在計劃支援的用戶端中測試發現、授權、工具執行與恢復。MCP 端點可存取,並不能證明它已經適合處理業務記錄。
設想一個員工助手,需要在現有系統中查詢訂單。首個版本唯讀取訂單狀態,後續版本可能提出修改地址的建議。即使兩者都作為工具出現在同一用戶端中,其權限和失敗後果也不同。
本文討論代管實現的邊界。關於更早的採購決策,請閱讀我們的 MCP 伺服器開發指南 。文中的例子是建議設計,並非對已部署客戶系統的描述。
定義 Cloudflare 遠端 MCP 伺服器契約
Cloudflare 維護了遠端 MCP 伺服器指南 。以目前指南為部署起點,然後固定選用的相依套件版本,記錄支援的傳輸方式與用戶端。不要在未驗證結果的情況下,將不同 SDK 代際的程式碼片段拼接起來。
有用的工具名稱應該描述允許的業務操作。訂單查詢輸入應標識訂單,以及確實必要的上下文。不要僅為了讓伺服器通用,就接受使用者選擇的資料庫、任意查詢或下游 URL。
輸出應區分查詢完成、來源不可用和操作被拒絕。如果每次失敗都返回空物件,助手就可能編造解釋。應返回邊界明確的結果,讓用戶端準確呈現,同時不暴露內部憑據或無關記錄。
| 契約要素 | 訂單查詢示例 | 明確規定的理由 |
|---|---|---|
| 輸入 | 訂單編號 | 限制查詢範圍 |
| 權限 | 已認證員工及帳戶範圍 | 防止跨帳戶讀取 |
| 結果 | 狀態、來源觀察時間及允許的上下文 | 讓答案可以解釋 |
| 拒絕 | 安全且明確的結果 | 避免將無權檢視誤說成記錄不存在 |
| 追蹤 | 不透明的操作編號 | 無須複製記錄即可調查 |
將呼叫者身分與服務憑據分開
代管伺服器可能需要憑據才能呼叫訂單 API,但服務憑據不是呼叫者身分。即使伺服器使用強大的下游憑據,仍必須限制目前呼叫者可以請求哪些記錄。
Cloudflare 的 MCP 授權文件 介紹了遠端連線的授權層。應完整驗證目標用戶端的登入與權杖流程,不能假定某條路徑接受的權杖適用於每個目標。
根據可信工作階段資訊推導客戶或組織範圍。不能讓 customer_id 之類的工具參數在未經範圍核對時擴大存取。模型聲稱某員工是經理,並不構成授權決策。
操作執行時應重新檢查權限。角色變更或撤銷後,之前發現的工具可能已不再允許使用。記錄撤銷權限時,現有連線和新建連線各會發生什麼。
將部署設定與工具策略分開
有意識地維護開發與生產設定,將每個環境繫結到正確的下游系統,不要把機密資訊寫進原始碼、提示詞或工具說明。測試用戶端不應因為複製設定保留了錯誤端點,就獲得生產權限。
使用能標識原始碼修訂、相依套件鎖定資訊、環境和設定變更的部署記錄。如果新工具說明導致用戶端意外選擇某項操作,團隊需要知道究竟改變了什麼。
工具說明是產品介面的一部分。解釋工具的用途、結果含義,以及結果無法證明什麼。不要指示模型將返回的第三方文字視為執行無關呼叫的授權依據。
對於訂單伺服器,應將查詢與修改作為不同能力。透過可選參數在讀寫之間切換的寬泛工具,會增加複核與存取控制難度。明確的操作也讓相容性測試更容易解釋。
測試真實用戶端旅程
Cloudflare 提供了遠端伺服器用戶端測試文件 。通訊協定檢查器很有用,但生產用戶端有自己的發現、授權和展示行為。應覆蓋支援承諾中列出的每個用戶端。
從全新連線開始測試正常流程,再測試工作階段過期、權限撤銷、來源不可用和工具輸入格式錯誤。既觀察使用者看到的情況,也觀察伺服器記錄。
| 測試案例 | 預期應用結果 | 證據 |
|---|---|---|
| 允許的查詢 | 返回正確訂單上下文 | 呼叫者範圍及來源結果 |
| 其他帳戶的訂單 | 拒絕存取 | 沒有未授權記錄內容 |
| 來源逾時 | 解釋可用性故障 | 操作編號及失敗階段 |
| 呼叫者權限撤銷 | 拒絕後續使用 | 舊連線與新連線結果 |
| 無效輸入 | 下游工作之前驗證失敗 | 拒絕且未請求來源 |
測試時使用帶有清晰標籤的合成記錄。如果測試資料過於相似,錯誤帳戶的結果也可能看似合理,從而逃過複核。驗收報告應讓沒有編寫伺服器的人也能明顯識別權限故障。
區分工具成功與業務成功
MCP 交換成功,仍可能返回過時訂單狀態或下游拒絕。應根據來源系統和員工任務定義成功。助手不能僅因工具沒有丟擲異常,就聲稱變更已經完成。
未來加入地址修改工具時,應保留目標系統的操作編號與變更後的記錄狀態。如果回應丟失,應先調查該編號再重新提交。傳輸層重試與安全地重複業務操作,是不同的問題。
新增寫入工具之前先規劃恢復
唯讀存取能產生有用結果時,應從唯讀開始。這可以減少初始恢復範圍,讓團隊先驗證身分與工具選擇,再引入實際業務承諾。
對於寫入,應明確批准、有效期、重複處理和不確定結果的規則。批准必須對應實際擬議變更與目標記錄。使用者批准模糊指令,不應授權後續發生實質變化的操作。
保留禁用工具的方法,同時不能丟失核對已提交工作所需的證據。從工具發現列表移除某項操作,並不能證明之前接受的工作已經停止。
什麼決定開發與支援成本?
主要成本因素是下游 API 品質、身分對映、用戶端種類及每項操作的後果。針對具有完整文件的 API 進行唯讀查詢,與需要協調多個系統變更的整合,是不同的專案。
要求 GBP 方案報價,分別列出通訊協定設定、授權、工具實施、驗收與維運交接。詢問包含哪些環境與用戶端。排除用戶端相容性或下游故障的低報價,不能與完整整合方案直接比較。
| 工作領域 | 驗收交付成果 | 常見額外工作來源 |
|---|---|---|
| 身分 | 呼叫者到記錄的權限測試 | 系統間角色不一致 |
| 工具設計 | 穩定且已驗證的輸入與結果 | 下游語義缺乏文件 |
| 用戶端支援 | 指定用戶端中的流程記錄 | 傳輸或登入行為不同 |
| 恢復 | 演練過的不確定結果處理流程 | 目標系統沒有操作編號 |
| 維護 | 責任歸屬與升級流程 | 相依套件版本未固定或沒有測試環境 |
代管用量只是預算的一項。還應計入日誌、上游 API 使用、監控、相依套件維護與支援。在估算持續費用前,根據所選負載核實目前供應商費率;工具數量本身不能確定用量成本。
委託開發可由他人維運的端點
交接應讓另一位工程師能夠部署伺服器、輪換測試憑據、重現存取拒絕並追蹤失敗查詢。包括支援用戶端列表、相依套件鎖定資訊,以及報告錯誤工具結果的渠道。
業務系統負責人應批准每項操作的含義,部署負責人應批准恢復與變更流程。儘早讓這些人共同參與,避免端點技術上已經完成,卻無人負責其真實行為。
我們可以透過 AI 整合試點 界定有限伺服器的範圍。請提供來源 API、目標用戶端、示例任務與存取規則,索取 MCP 部署方案 ,將身分、驗收與交接納入範圍,而不只是演示端點。
常見問題
什麼讓 MCP 伺服器成為遠端伺服器? 伺服器與使用者本地用戶端分開代管,透過受支援的遠端連線存取。重要實施問題包括傳輸支援、認證,以及代管服務如何存取關聯業務系統。
部署到 Cloudflare 後,工具會自動安全嗎? 不會。應用仍必須驗證輸入、確定呼叫者身分、執行下游權限並控制工具權限。代管位置不能決定哪位員工可以讀取或修改業務記錄。
一臺伺服器可以支援多個 AI 用戶端嗎? 可以這樣設計,但應測試每個指定用戶端。發現、授權和展示行為可能不同。支援承諾應說明驗證過哪些用戶端與設定。
首個版本應該包含寫入工具嗎? 只有在第一個有用任務需要寫入,而且批准與恢復規則明確時才加入。唯讀操作通常是驗證身分與來源整合的實用起點。
寫入逾時後應該怎麼辦? 保留操作編號,在重複請求前檢查目標系統。即使回應丟失,目標系統也可能已完成變更。如果無法確定結果,應交由指定維運人員處理。
MCP 交接應該包含什麼? 包括原始碼、相依套件鎖定資訊、環境設定、工具契約、用戶端驗收結果、憑據責任歸屬與恢復手冊。另一位工程師應能重現成功任務和被拒絕的操作。
如何估算實施成本? 先明確下游系統、身分對映、指定用戶端與操作。要求以 GBP 分別列出需求探索、實施、驗收與支援範圍。按工具收費會掩蓋權限與不確定業務結果的複雜性。