-
Notifications
You must be signed in to change notification settings - Fork 0
Migrate Azure DevOps MCP from local (stdio) to remote (HTTP) server #1
Description
The framework currently uses the local Azure DevOps MCP server (@azure-devops/mcp) via stdio transport:
"ado": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp@next", "${input:ado_org}"]
}Microsoft has released the Azure DevOps Remote MCP Server (public preview) and plans to archive the local server repository once the remote reaches GA. The remote server provides the same capabilities with no local installation required.
Official docs: Set up the remote Azure DevOps MCP Server
Proposed Change
Replace the local ado server entry with the remote HTTP endpoint. Since this is a framework consumed by different organizations, the organization must be omitted from the URL so each consumer authenticates against their own org at runtime:
"ado": {
"url": "https://mcp.dev.azure.com/",
"type": "http",
"headers": {
"X-MCP-Toolsets": "wit,work,search,repos"
}
}The ado_org promptString input should also be removed from the inputs array since it's no longer needed for server startup args. When the org is omitted from the URL, the consumer provides it as context in tool calls.
Toolset rationale
Explicit toolsets follow the principle of least privilege. Only toolsets actively used by the framework are enabled:
| Toolset | Why enabled |
|---|---|
wit |
Core of the delivery framework — work item CRUD used by decompose, kickoff, implement, sprint, refine, envision, specify |
work |
Sprint planning — sprint agent uses work_list_team_iterations and work_get_team_capacity |
search |
Duplicate detection and backlog queries — search_workitem used by refine, sprint, decompose, kickoff, implement |
repos |
PR and repository tools — enables ADO-hosted repo scenarios where consumers need PR creation, review threads, and branch management through the same MCP server |
| Toolset | Why excluded |
|---|---|
pipelines |
No agent uses ADO pipeline tools — CI/CD currently handled via GitHub Actions |
wiki |
No agent reads/writes ADO Wiki — docs are in-repo markdown |
testplan |
No test plan agent exists in the framework |
Scope of Changes
.vscode/mcp.json— Replaceadoserver config fromstdio/npxtohttpwithhttps://mcp.dev.azure.com/. Remove theado_orginput. AddX-MCP-Toolsetsheader.docs/framework/core-components/mcp-servers.md— Update the Azure DevOps section: remote server URL, HTTP transport, Entra ID auth, toolset header, and expanded tool table (now includesreposandworkcategories). Update repo link.CHANGELOG.md— Document the migration.
Key Considerations
- Authentication change: Remote server uses Microsoft Entra ID (OAuth) only. PAT-based auth is no longer available. Consumer's ADO org must be backed by Entra ID — standalone (MSA) orgs are not supported.
- Client support: Currently only VS Code and Visual Studio with GitHub Copilot are supported. Claude Desktop, Claude Code, and other clients are pending Entra dynamic OAuth registration.
- No local prerequisites: Consumers no longer need Node.js 20+ or
npxfor the ADO MCP server. - Preview status: The remote server is in public preview. The local server is still GA. Microsoft's stated investment direction makes adopting the remote server pragmatic, but this should be noted in docs.
Follow-up: ADO Repos agent wiring
The repos toolset is enabled by this change, but the framework's PR/review agents (implement, review, refine) currently only reference github/* PR tools. A follow-up issue should wire the ado/repo_* equivalents into:
pull-requestskill — Platform-aware PR creation (github/create_pull_requestvsado/repo_create_pull_request) based onboard-configrepo platform detectionimplementagent — Addado/repo_create_pull_request,ado/repo_list_pull_requests,ado/repo_get_pull_request_by_idto tool allowlistreviewagent — Addado/repo_create_pull_request_thread,ado/repo_reply_to_commentfor PR review commentsrefineagent — Addado/repo_list_pull_requests_by_repo_or_projectfor backlog-PR correlation