github / github/copilot-cli

MCP SEP-986 tool name format specification not followed

Đang mở
#1,879 0 bình luận 2 reaction 0 người được giao Xem trên GitHub
area:mcp
Ngôn ngữ chính
Shell
Star
11.2k
Fork
1.9k
Merge trung bình
14 giờ 16 phút
Pull request đã merge (30 ngày)
6

Mô tả

### 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_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.