github / github/copilot-cli

MCP Tool with nested string dictionary parameters aren't callable

未關閉
#2,135 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area:mcp
主要語言
Shell
星號
11.2k
分支
1.9k
平均合併
14 小時 16 分鐘
30 天內合併 PR
6

描述

### Describe the bug

If I have an MCP tool written in C# using the official MCP library with something like:

```
McpServerTool, Description("Sample")
public static CallToolResult TestTool(Dictionary> param1, string param2)
{
var ctr = new CallToolResult()
ctr.Content = new List() { new TextContentBlock { Text = "true" } };
return ctr;
}
```

Then when I try to call it using the GitHub Copilot CLI, it only sees param2 as part of the signature. param1 gets dropped somehow.

This is a recent regression, it worked in 1.0.4 of the CLI. It also works correctly in Claude.

### Affected version

GitHub Copilot CLI 1.0.7.

### Steps to reproduce the behavior

1. Create a sample MCP server using C# and a tool as described above
2. Configure it to be loaded by Copilot CLI
3. Write a prompt to invoke it describing data for both parameters
4. Note that it only sees the 2nd parameter and can't call the tool

### Expected behavior

It should be able to call the tool with both param1 and param2

### Additional context

Windows 11, x64

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。