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 摘要。