github / github/copilot-cli

MCP sampling/createMessage response includes system prompt text in content

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

描述

### Describe the bug

When an MCP server sends a `sampling/createMessage` request, the Copilot CLI correctly routes it to the LLM and returns a response. However, the response content prepends the entire system prompt text before the LLM's actual answer.

### Affected version

GitHub Copilot CLI 1.0.16-0

### Steps to reproduce the behavior

1. Configure an MCP server that uses `sampling/createMessage` with a system prompt
2. Have the server send a sampling request where it expects a specific response format
3. Approve the sampling request when prompted
4. Observe the response content includes the system prompt prepended to the LLM's answer

### Expected behavior

The `CreateMessageResult.Content` should contain only the LLM's response text, e.g.:

```
=== FALSE
```

### Additional context

## Actual behavior

The response content contains the system prompt echoed back, followed by the LLM's answer:

```
... === FALSE
```

## Note

This works correctly in VS Code's MCP sampling implementation — the system prompt is not included in the response content.

貢獻指南

開啟貢獻指南

研究方向

Start by reproducing an MCP server's sampling/createMessage request with a system prompt, then inspect the returned CreateMessageResult.Content. Compare the CLI result with VS Code's MCP sampling behavior; done means the content contains only the LLM response, without the system prompt text.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
shell, vscode
領域
ai, cli
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
冷清
描述清晰度
基本清楚
新手友好度
52/100

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

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