

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 工具組織
<a name="mcp-tool-strategy-organization"></a>

探索正確的工具並確保 LLM 可以有效地使用這些工具，是有效工具開發的最關鍵部分之一。當您開始開發 MCP 伺服器時，您需要決定下列項目的策略：
+ 有多少工具進入一個 MCP 伺服器
+ 哪些工具不應放入相同的 MCP 伺服器
+ 如何命名工具以使其可供搜尋並防止名稱衝突 （具有相同名稱的不同工具）
+ 如何記錄工具和 MCP 伺服器，以方便 LLM 使用

*命名空間組織*是一種設計模式，可防止工具名稱衝突、群組相關功能，並促進 LLMs 的有效工具識別。模式會建立結構化分類，類似於結構化儲存系統，而不是非結構化累積。我們建議使用 *domain-noun-verb* 模式來命名工具。例如，`github_issue_create`、`github_issue_list`、`github_issue_update`、`github_pullrequest_list`、 `github_pullrequest_create`或 `github_pullrequest_merge`。檢查字母排序行為時，此模式的優勢顯而易見。依字母順序列出工具時，所有與問題相關的操作叢集 (`create`、`list`、`update`)，後面接著提取請求操作 (`create`、`list`、`merge`)。名詞 （資源類型） 做為組織界限。此結構有助於 LLM 工具掃描和人工文件導覽，因為相關功能自然分組在一起。

MCP 伺服器應在網域層級繫結，但可以根據其所提供功能的責任分離進行細分。例如，您可能有個別的 MCP 伺服器，用於資料庫的寫入操作和讀取操作。若要強制執行此區隔，建議您在代理程式層級實作護欄，以根據使用者意圖和許可限制可存取的 MCP 伺服器。這可以透過以下組合來實現：
+ **條件式伺服器載入** – 只有在代理程式在使用者輸入中偵測到讀取操作時，才載入唯讀 MCP 伺服器。
+ **許可型篩選** – 使用使用者授權僅授予適當 MCP 伺服器的存取權。

最後，您會想要在 MCP 伺服器提供的工具數量上建立上限。請勿假設客服人員將如何使用您的 MCP 伺服器。他們可能會從根本上列出所有可用的工具，並將其全部提供給 LLM。如果您在單一伺服器中有 50 個以上的工具，您應該考慮將其分割成多個伺服器。

## MPC 工具組織的最佳實務
<a name="mcp-tool-strategy-organization-best-practices"></a>
+ **使用工具的 domain-noun-verb 命名標準** – 實作策略，以防止 MCP 伺服器和代理程式中的名稱衝突。
+ **設定上限** – 限制單一 MCP 伺服器中的工具數量。
+ **分割 MCP 伺服器** – 使用職責分離將 MCP 伺服器分割為邏輯群組。