Azure DevOps MCP Server Connected but CLI Commands Fail with "Dangerous Request.Path" Error
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### Describe the bug
Description:
The ADO MCP server appears connected when using mcp show, and works correctly in Visual Studio Code, but fails when invoked via the Copilot CLI with a consistent error about "dangerous Request.Path values."
Steps to Reproduce:
1. Ensure ADO MCP server is configured and running (mcp show confirms connection)
2. Open Copilot CLI in the repo
3. Invoke any ADO MCP command that includes email addresses (e.g., WIQL query filtering by AssignedTo)
4. Observe the error response
Expected Behavior:
MCP commands that work in VS Code should also work in Copilot CLI without modification.
Actual Behavior:
Commands fail with:
Error executing WIQL query: {"$id":"1","innerException":null,"message":"A potentially dangerous Request.Path value was detected from the client (:).","typeName":"System.Web.HttpException, System.Web"...}
Error Occurs With:
- azure-devops-mcp-wit_query_by_wiql when filtering by [System.AssignedTo] (email contains :)
- azure-devops-mcp-wit_my_work_items (generic path issue)
- Any query/command that includes colons in parameters
Environment:
- Copilot CLI version:
1.0.49
- Model: claude-haiku-4.5
- ADO MCP server: connected (verified via mcp show)
- OS: macOS
- VS Code: works fine with same MCP configuration
Hypothesis:
The CLI may be handling URL encoding/path escaping differently than VS Code, or the MCP server proxy in CLI has stricter security validation that prevents colons in certain contexts.
Requested:
- Debug/fix MCP server communication in CLI to match VS Code behavior
- Or document if email filtering requires URL encoding in CLI (e.g., %3A for :)
I'm using a mcp server allowed by organization:
"azure-devops-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@azure-devops/mcp@latest",
"${input:ado_org}"
],
...
"env": {
"ADO_MCP_AUTH_TOKEN": "{env:ADO_MCP_AUTH_TOKEN}"
},
### Affected version
_No response_
### Steps to reproduce the behavior
_No response_
### Expected behavior
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start by reproducing the failure in Copilot CLI with mcp show and an Azure DevOps WIQL command containing an email address or colon. Compare the CLI behavior with the same MCP configuration in Visual Studio Code, focusing on the request path and parameter handling. Done means affected commands work in the CLI without modification, or the required URL encoding is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, shell
- Domain
- api, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100