MCP Tool with nested string dictionary parameters aren't callable
- 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
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
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.