← Back to the reference

Configure your MCP client

Generate a ready-to-paste mcp.json for the remote Azure DevOps MCP server. Filter by toolset or individual tool, optionally restrict to read-only, and copy the result.

Preview. The remote server (mcp.dev.azure.com) is in preview and authenticates with Microsoft Entra ID. Today only VS Code and Visual Studio are supported clients — other clients (Cursor, Claude, Codex…) need Entra OAuth dynamic registration, which Microsoft says is coming.

Leave blank to use {organization} and pass the org per tool call.

Filter by

X-MCP-Toolsets and X-MCP-Tools can’t be combined — pick one. Read-only & Insiders apply to either.

Toolsets — Core tools are always included
Options
.vscode/mcp.json

Where it goes

Save the JSON as .vscode/mcp.json in your repository (VS Code), then open GitHub Copilot and authenticate with your Microsoft Entra account when prompted. In Visual Studio 2022+, add the server URL to your MCP settings.

Use with an agent

Register the server with an agent framework and the model calls its tools autonomously — you don't hand-call individual tools. These register the local stdio server (no auth); swap in the remote URL + an Entra token if your client supports it.

Claude Agent SDK · claude_agent_sdk (Python)
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions

options = ClaudeAgentOptions(
    mcp_servers={
        "ado": {
            "type": "stdio",
            "command": "npx",
            "args": ["-y", "@azure-devops/mcp", "<your-org>"],
        }
    },
)

async def main():
    async for message in query(prompt="List my Azure DevOps projects", options=options):
        print(message)

asyncio.run(main())
OpenAI Agents SDK · agents (Python)
import asyncio
from agents import Agent, Runner
from agents.mcp import MCPServerStdio

async def main():
    async with MCPServerStdio(
        name="Azure DevOps",
        params={"command": "npx", "args": ["-y", "@azure-devops/mcp", "<your-org>"]},
    ) as server:
        agent = Agent(
            name="Assistant",
            instructions="Use the Azure DevOps MCP tools to answer.",
            mcp_servers=[server],
        )
        result = await Runner.run(agent, "List my Azure DevOps projects")
        print(result.final_output)

asyncio.run(main())
GitHub Copilot SDK · @github/copilot-sdk (TypeScript)
import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient();
await client.start();

const session = await client.createSession({
  model: "gpt-5",
  mcpServers: {
    ado: {
      type: "local",
      command: "npx",
      args: ["-y", "@azure-devops/mcp", "<your-org>"],
      tools: ["*"],
    },
  },
});

await session.send({ prompt: "List my Azure DevOps projects" });
Check the latest docs. Agent frameworks change quickly. These snippets were verified against each SDK's documentation, but confirm the current API before relying on them: Claude Agent SDK · OpenAI Agents SDK · GitHub Copilot SDK.

Verify it works

Ask your AI assistant a question about your Azure DevOps data:

Troubleshooting

IssueFix
Authentication failsVerify your Microsoft Entra credentials and that you have access to the organization.
Server not foundCheck the URL format: https://mcp.dev.azure.com/{organization}.
Connection refusedAllow outbound HTTPS to mcp.dev.azure.com; on a corporate proxy, ask to allow-list it.
No data returnedConfirm you have permissions for the project or resources being queried.
Expected tools missingRe-check your X-MCP-Toolsets selection; X-MCP-Tools and X-MCP-Toolsets can’t be combined.

Config format & toolset keys per the Microsoft remote MCP server docs. The remote preview consolidates some tools into grouped dispatchers, so its exact tool names can differ from this reference.