> ## Documentation Index
> Fetch the complete documentation index at: https://mcp.zhcndoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SEP-986：指定工具名称格式

> 指定工具名称格式

<div className="flex items-center gap-2 mb-4">
  <Badge color="green" shape="pill">
    最终版
  </Badge>

  <Badge color="gray" shape="pill">
    标准轨道
  </Badge>
</div>

| 字段       | 值                                                                             |
| -------- | ----------------------------------------------------------------------------- |
| **SEP**  | 986                                                                           |
| **标题**   | 指定工具名称格式                                                                      |
| **状态**   | 最终版                                                                           |
| **类型**   | 标准轨道                                                                          |
| **创建日期** | 2025-07-16                                                                    |
| **作者**   | kentcdodds                                                                    |
| **赞助人**  | 无                                                                             |
| **PR**   | [#986](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/986) |

***

## 摘要

模型上下文协议 (MCP) 目前缺乏工具名称的标准化格式，导致实现者和用户都存在不一致和困惑。本 SEP 提出了一种清晰、灵活的工具名称标准：工具名称应为 1–64 个字符，区分大小写，并且可以包含字母数字字符、下划线 (\_)、连字符 (-)、点 (.) 和正斜杠 (/)。此举旨在最大限度地提高 MCP 实现之间的兼容性、清晰度和互操作性，同时适应广泛的命名约定。

## 动机

如果没有规定的工具名称格式，MCP 实现会采用各种命名约定，包括不同的分隔符、大小写和字符集。这种不一致可能导致混淆、工具调用错误以及文档和自动化方面的困难。标准化允许的字符和长度将：

* 使工具名称在不同客户端之间可预测且互操作。
* 允许分层和命名空间化的工具名称（例如，使用 / 和 .）。
* 支持人类可读和机器生成的名称。
* 避免可能阻碍有效用例的不必要限制。

## 理由

社区讨论突出了工具命名灵活性的需求。虽然某些约定（如小写连字符格式）很常见，但许多工具和客户端使用大写字母、下划线、点和斜杠来进行命名空间划分或提高清晰度。提议的模式——允许 a-z、A-Z、0-9、\_、-、. 和 /——基于主要客户端（例如 VS Code、Claude）中使用的模式，并与编程和 API 中的常见约定保持一致。限制空格和逗号可以避免解析问题和歧义。长度限制 (1–64) 足以满足大多数用例，同时防止滥用。

## 规范

* 工具名称的长度应在 1 到 64 个字符之间（含）。
* 工具名称区分大小写。
* 允许字符：大写和小写 ASCII 字母 (A-Z, a-z)、数字
  (0-9)、下划线 (\_)、连字符 (-)、点 (.) 和正斜杠 (/)。
* 工具名称不应包含空格、逗号或其他特殊字符。
* 工具名称在其命名空间内应是唯一的。
* 有效工具名称示例：
  * getUser
  * user-profile/update
  * DATA\_EXPORT\_v2
  * admin.tools.list

## 向后兼容性

对于使用不允许字符或超出新长度限制的现有工具，此更改不向后兼容。为了尽量减少干扰：

* 现有的不符合规范的工具名称应作为别名支持至少一个主版本，并带有弃用警告。
* 工具作者应更新其文档和代码以使用新格式。
* 应提供迁移指南以协助实现者更新其工具名称。

## 参考实现

可以通过更新 MCP 核心库以在注册时强制实施新的工具名称验证规则来提供参考实现。现有工具可以更新为其新的符合规范的名称提供别名，并对弃用格式发出警告。示例代码和迁移脚本可以包含在 MCP 仓库中。

## 安全影响

无。标准化工具名称格式不会引入新的安全风险。
