View a markdown version of this page

工具组织 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

工具组织

发现正确的工具并确保法学硕士能够有效地使用它们是有效工具开发的最关键部分之一。当你开始开发 MCP 服务器时,你需要一个能够确定以下内容的策略:

  • 一个 MCP 服务器有多少工具

  • 哪些工具不应该放在同一 MCP 服务器上

  • 如何命名工具以使其可搜索并防止名称冲突(同名的不同工具)

  • 如何记录工具和 MCP 服务器以便 LLM 易于使用

命名空间组织是一种设计模式,可防止工具名称冲突、分组相关功能,并便于LLM进行有效的工具识别。该模式建立的结构化分类类似于有组织的存储系统,而不是非结构化的积累。我们建议使用域名-名词-动词模式进行工具命名。例如,、github_issue_creategithub_issue_listgithub_issue_updategithub_pullrequest_creategithub_pullrequest_list、或github_pullrequest_merge。在检查字母排序行为时,这种模式的优势显而易见。按字母顺序列出工具时,所有与问题相关的操作都会聚集在一起(createlistupdate),然后是拉取请求操作(create、、list)。merge名词(资源类型)充当组织边界。这种结构便于法学硕士工具扫描和人工文档导航,因为相关的功能自然会组合在一起。

MCP 服务器应限制在域级别,但可以根据其提供的功能的职责划分进行细分。例如,您可能有单独的 MCP 服务器用于数据库的写入操作和读取操作。为了强制执行这种分离,建议您在代理级别实施防护措施,根据用户意图和权限限制可以访问哪些 MCP 服务器。这可以通过以下各项的组合来实现:

  • 有条件的服务器加载-仅当代理检测到用户输入中有读取操作时,才加载只读 MCP 服务器。

  • Permission-based 过滤-使用用户授权仅向相应的 MCP 服务器授予访问权限。

最后,您需要为 MCP 服务器提供的工具数量创建上限。不要假设代理将如何使用您的 MCP 服务器。他们可能会天真地列出所有可用的工具,并将它们全部提供给法学硕士。如果您在一台服务器上有超过 50 个工具,则应考虑将其拆分为多个服务器。

MPC 工具组织的最佳实践

  • 使用域名词动词命名标准作为工具 — 实施策略以防止 MCP 服务器和代理中的名称冲突。

  • 设置上限-限制单个 MCP 服务器中的工具数量。

  • 划分 MCP 服务器-使用职责分离将 MCP 服务器划分为逻辑组。