This guide explains how to run the local Azure DevOps MCP Server with supported MCP clients. For the simplest setup, use the hosted Remote MCP Server.
- Prerequisites
- Authentication
- Visual Studio Code
- Visual Studio
- GitHub Copilot CLI
- Codex
- Claude Code
- Claude Desktop
- Cursor
- OpenCode
- Kilo Code
- Run from Source
All local setups require:
- Node.js 20 or later.
- Access to an Azure DevOps organization.
- An MCP client listed below.
Visual Studio Code users need VS Code or VS Code Insiders. Visual Studio users need Visual Studio 2022 version 17.14 or later.
Interactive authentication is the default. To use another method, add --authentication <value> or -a <value> to the server arguments.
| Method | Value | Required setup |
|---|---|---|
| Interactive (default) | interactive |
Microsoft account sign-in |
| Azure CLI | azcli |
Active az login session |
| Azure credential chain | env |
Azure Identity environment |
| Bearer token environment | envvar |
ADO_MCP_AUTH_TOKEN |
| Personal Access Token | pat |
PERSONAL_ACCESS_TOKEN |
This method opens a browser for Microsoft account sign-in. Omit the authentication argument to use it:
{
"servers": {
"ado": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-org>"]
}
}
}Uses the token from an active az login session. Requires the Azure CLI to be installed and signed in.
{
"servers": {
"ado": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-org>", "--authentication", "azcli"]
}
}
}Use env to authenticate through DefaultAzureCredential. Configure a supported Azure Identity credential, then use this argument list:
["-y", "@azure-devops/mcp", "<your-org>", "--authentication", "env"]Use envvar to read a bearer token from ADO_MCP_AUTH_TOKEN. Set the variable in the environment that starts your MCP client, then add "--authentication", "envvar" to the server arguments.
export ADO_MCP_AUTH_TOKEN="<bearer-token>"Use pat to authenticate with an Azure DevOps Personal Access Token. PERSONAL_ACCESS_TOKEN must contain the base64 encoding of <email>:<pat>. The email can be any non-empty value.
For example:
export PERSONAL_ACCESS_TOKEN="$(printf '%s' '<email>:<pat>' | base64)"Then add "--authentication", "pat" to the server arguments.
Important
Do not commit tokens to an MCP configuration file. Set them outside the file or use a secrets manager.
- Create
.vscode/mcp.jsonin your project. - Add this configuration:
{
"inputs": [
{
"id": "ado_org",
"type": "promptString",
"description": "Azure DevOps organization name (e.g. 'contoso')"
}
],
"servers": {
"ado": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "${input:ado_org}"]
}
}
}- Save the file and start
adofrom the MCP view. - Open GitHub Copilot Chat and switch to Agent mode.
- Select the Azure DevOps tools and try
List ADO projects. - Sign in with an account that can access the selected organization.
Note
VS Code's Agent Host does not support MCP configurations that require ${input:...} prompts. If you use Agent Host, replace ${input:ado_org} with your organization name or move the configuration to a workspace .mcp.json file.
Use Visual Studio 2022 version 17.14 or later, or Visual Studio 2026.
- Create
.mcp.jsonin the solution folder. - Add this configuration:
{
"inputs": [
{
"id": "ado_org",
"type": "promptString",
"description": "Azure DevOps organization name (e.g. 'contoso')"
}
],
"servers": {
"ado": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "${input:ado_org}"]
}
}
}- Save the file and enter your organization name when prompted.
- Open Copilot Chat and select Agent from the mode selector.
- Open the tool picker, select the
adotools, and tryList ADO projects.
See the Visual Studio MCP server documentation for more details.
Use the Copilot CLI to interactively add the MCP server:
/mcp addAlternatively, create or edit the configuration file ~/.copilot/mcp-config.json and add:
{
"mcpServers": {
"ado": {
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "{Contoso}"],
"tools": ["*"]
}
}
}Replace {Contoso} with your Azure DevOps organization name.
For more information, see the Copilot CLI documentation.
Codex can run the Azure DevOps MCP Server as a local stdio MCP server from either the Codex CLI or IDE extension. The configuration is shared through ~/.codex/config.toml.
For local development, start with the default interactive authentication flow:
codex mcp add azure-devops -- npx -y @azure-devops/mcp ContosoReplace Contoso with your Azure DevOps organization name.
Verify that Codex can see the server:
codex mcp listOn first use of an Azure DevOps tool, the MCP server opens a browser window for Microsoft account sign-in. Use an account that has access to the selected Azure DevOps organization.
If your workstation already uses Azure CLI sign-in, authenticate first and configure the MCP server with azcli:
az login
codex mcp add azure-devops -- npx -y @azure-devops/mcp Contoso --authentication azcliYou can also edit ~/.codex/config.toml directly:
[mcp_servers.azure-devops]
command = "npx"
args = ["-y", "@azure-devops/mcp", "Contoso"]Restart Codex after editing the config manually, then ask for a simple read-only operation such as List ADO projects.
See the Claude Code MCP documentation for general guidance.
For the Azure DevOps MCP Server, use the following command:
claude mcp add --transport stdio azure-devops -- npx -y @azure-devops/mcp ContosoReplace Contoso with your organization name, then verify the connection:
claude mcp list- Open File > Settings > Developer in Claude Desktop.
- Select Edit Config and add this configuration:
{
"mcpServers": {
"ado": {
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "{Contoso}"]
}
}
}- Replace
{Contoso}with your organization name, save the file, completely quit Claude Desktop, and restart it. - Start a chat, select Add files, connectors, and more > Connectors, confirm that
adois available, and tryList ADO projects.
For additional guidance on Claude Desktop, see the Quickstart.
Create .cursor/mcp.json in your project and add:
{
"mcpServers": {
"ado": {
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "{Contoso}"]
}
}
}Replace {Contoso} with your organization name and save the file. Open Cursor Settings > Tools & Integrations, confirm that the ado MCP server is enabled, and use its tools in Agent chat.
See the Cursor MCP documentation for global configuration and server management options.
Add the Azure DevOps MCP server to your OpenCode configuration file.
On macOS or Linux, edit ~/.config/opencode/opencode.json and add the azure-devops entry under mcp:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"azure-devops": {
"type": "local",
"command": ["npx", "-y", "@azure-devops/mcp", "<your-org>"],
"enabled": true
}
}
}Replace <your-org> with your Azure DevOps organization name.
Note
OpenCode starts the interactive Microsoft account sign-in on first use.
Tip: Limit loaded tools using domain filtering by appending
-dflags to the command:["npx", "-y", "@azure-devops/mcp", "<your-org>", "-d", "core", "work", "work-items"]Available domains:
core,work,work-items,repositories,wiki,pipelines,search,test-plans,advanced-security
For more on OpenCode MCP configuration, see the OpenCode MCP documentation.
Kilo Code supports global configuration for all workspaces and project configuration for one repository.
- Open Agent Behaviour > MCP Servers in the Kilo Code pane.
- Select Edit Global MCP to open
mcp_settings.json. - Add the
azure-devopsentry:
{
"mcpServers": {
"azure-devops": {
"command": "npx",
"args": ["-y", "@azure-devops/mcp", "<your-org>"]
}
}
}Create .kilocode/mcp.json in your project root with the same content as above. This file can be committed to version control to share the setup with your team.
For Windows Command Prompt, wrap the npx command:
{ "mcpServers": { "azure-devops": { "command": "cmd", "args": ["/c", "npx", "-y", "@azure-devops/mcp", "<your-org>"] } } }
Replace <your-org> with your Azure DevOps organization name. On first use, a browser window will open for Microsoft account login.
For more on Kilo Code MCP configuration, see the Kilo Code MCP documentation.
Use the npm package unless you are developing the server or testing an unreleased change.
-
Clone this repository.
-
Install dependencies and build the server:
npm install npm run build
-
Configure your MCP client to run the built entry point. For VS Code, use:
{ "inputs": [ { "id": "ado_org", "type": "promptString", "description": "Azure DevOps organization name (e.g. 'contoso')" } ], "servers": { "ado": { "type": "stdio", "command": "node", "args": ["${workspaceFolder}/dist/index.js", "${input:ado_org}"] } } } -
Start the server from the MCP view and select its tools in Agent mode.