MCP Server 'Command to run' strips backslashes from Windows paths
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
### Describe the bug
When adding an MCP server in Copilot CLI, the **Command to run** field incorrectly processes Windows-style paths containing backslashes (`\`). The backslashes are stripped, causing the saved command path to become invalid.
This is a common scenario when pointing Copilot CLI at a locally built MCP server executable.
### Steps to reproduce
1. Open Copilot CLI settings/config UI for **MCP Servers**
2. Add a new MCP server (or edit an existing one)
3. In **Command to run**, enter a Windows path with backslashes, e.g.:
`C:\src\external\gitrepo\mcpserver\bin\mcpserver.exe`
4. Save
### Actual behavior
The saved value strips the backslashes, e.g. it becomes:
`C:srcexternalgitrepomcpserverbinmcpserver.exe`
### Expected behavior
The saved command should preserve the Windows path exactly as entered (including backslashes), e.g.:
`C:\src\external\gitrepo\mcpserver\bin\mcpserver.exe`
### Environment
- OS: Windows
- Scenario: locally built MCP server executable path entered into “Command to run”
### Additional context / notes
This looks like an escaping/serialization issue (e.g., treating backslashes as escape characters) when persisting the MCP server config. The UI should either:
- properly escape backslashes when storing, or
- treat the field as a raw string, or
- clearly document/accept `\\` if that’s required (but ideally it shouldn’t be).
コントリビューションガイド
調査の方向性
Reproduce the issue in the MCP Servers configuration UI on Windows using the path from the report, then trace how the Command to run value is persisted. Done means saving and reopening the MCP server preserves every backslash in the entered Windows path.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- shell
- 領域
- cli
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 58/100