github / github/copilot-cli

MCP SEP-986 tool name format specification not followed

未关闭
#1,879 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
area:mcp
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the bug

When an MCP server is loaded with tool names that include `.` or `/`, the cli will respond to any prompt with something like:
```
✗ Execution failed: CAPIError: 400 tools.134.custom.name: String should match pattern '^[a-zA-Z0-9_-]{1,128}$'
```
[SEP-986](https://modelcontextprotocol.io/community/seps/986-specify-format-for-tool-names) states, however:
> Tool names SHOULD be between 1 and 64 characters in length (inclusive).
> Tool names are case-sensitive.
> Allowed characters: uppercase and lowercase ASCII letters (A-Z, a-z), digits (0-9), underscore (_), dash (-), dot (.), and forward slash (/).
> Tool names SHOULD NOT contain spaces, commas, or other special characters.
> Tool names SHOULD be unique within their namespace.
> Example valid tool names:
> - getUser
> - user-profile/update
> - DATA_EXPORT_v2
> - admin.tools.list

The error above incorrectly specifies the allowed characters, as well as the allowed length (128 v 64).

I tested this behavior by replacing all `.` with `-` the mcp server, and it works as expected after that.

### Affected version

GitHub Copilot CLI 0.0.423

### Steps to reproduce the behavior

1. Install an MCP server that has `.` in tool names (ex. https://github.com/mrphrazer/binary-ninja-headless-mcp)
2. Type any prompt, press enter

### Expected behavior

The prompt should be responded to by the model, without an error message

### Additional context

_No response_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。