Connects Claude to Azure DevOps Boards via personal access token, letting you read and write work items without leaving your editor. Runs on Bun with stdio transport, so it works in Cursor, Claude Desktop, or any MCP host that supports local servers. You'll configure your Azure org, project name, and PAT either through environment variables or a dotenv file. The author ships it as azure-board-mcp on npm and provides both bunx one-liner setup and local clone options. Reach for this when you're triaging bugs or updating tasks and want to stay in the same context as your code instead of switching to the Azure web UI.
MCP server for Azure DevOps. Work with tasks, sprints, bugs, pull requests, repositories, and pipelines directly from Claude, Cursor, or any MCP-compatible AI.
# 1. Configure your editors (Claude Code, Cursor, VS Code, Claude Desktop)
npx azure-board-mcp install
# 2. Sign in once
npx azure-board-mcp authenticate
# 3. Restart your editor — done
On first use the AI will ask which Azure DevOps project to work on and remember it.
npx azure-board-mcp authenticate
Opens your browser for Microsoft sign-in. Picks your org from a list. No Azure AD app setup required — uses a shared app registration built into the package.
For headless / CI environments or orgs that block third-party OAuth:
npx azure-board-mcp authenticate --pat
Create a PAT at https://dev.azure.com/{org}/_usersSettings/tokens with scopes: Work Items (Read & Write), Build (Read), Code (Read).
npx azure-board-mcp install
Detects and configures Claude Code, Cursor, VS Code, and Claude Desktop automatically.
Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "azure-board-mcp@latest"]
}
}
}
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "azure-board-mcp@latest"]
}
}
}
VS Code (User settings.json):
{
"mcp": {
"servers": {
"azure": {
"type": "stdio",
"command": "npx",
"args": ["-y", "azure-board-mcp@latest"]
}
}
}
}
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "azure-board-mcp@latest"]
}
}
}
Install a skill so Claude automatically knows when to use this MCP:
npx azure-board-mcp skills
This installs ~/.claude/skills/azure-board-mcp/SKILL.md. After restarting Claude Code, it will proactively use Azure DevOps tools whenever you ask about tasks, sprints, PRs, builds, etc.
npx azure-board-mcp <command>
COMMANDS
install Auto-configure MCP in detected editors
skills Install the Claude Code skill
authenticate Browser OAuth sign-in
authenticate --pat Personal Access Token sign-in
check Validate stored credentials
logout Clear stored credentials
help Show help
AUTHENTICATE FLAGS
--pat Use PAT instead of browser OAuth
--read-only Request read-only OAuth scopes
--client-id <id> Use your own Azure AD app
--tenant-id <id> Specify tenant (single-tenant apps only)
| Tool | When to use |
|---|---|
auth_status | Diagnose auth issues, check which project is active |
switch_project | Change the active project, or list available ones |
| Tool | When to use |
|---|---|
list_work_items | My tasks, sprint board, filter by state/type/keyword |
get_work_item | Full detail on a specific ticket — fields, comments, PRs |
create_work_item | Create a task, bug, user story, epic, feature |
update_work_item | Close, reassign, move sprint, update estimates |
add_comment | Post a note or status update on a ticket |
link_work_items | Set parent/child, related, or dependency links |
query_wiql | Advanced queries with custom WIQL |
| Tool | When to use |
|---|---|
list_repos | Discover repo names and URLs |
list_files | Browse directory structure |
get_file | Read file contents (up to 500 lines) |
list_commits | Recent commits on a branch |
list_pull_requests | Open PRs, reviewer votes, merge status |
create_pr | Open a PR with optional reviewers and linked work items |
| Tool | When to use |
|---|---|
list_pipelines | Discover pipeline definitions |
list_builds | Recent builds — status, result, branch, link |
run_pipeline | Trigger a pipeline run |
get_build_logs | Diagnose build failures (last 150 lines) |
| Tool | When to use |
|---|---|
get_sprint | Current sprint dates and team capacity |
list_sprints | All sprints with start/end dates |
Override stored credentials — useful for CI/Docker:
AZURE_ORG=my-org
AZURE_PROJECT=my-project
AZURE_PAT=my-pat # PAT auth
AUTH_TOKEN=my-token # OAuth bearer token
By default everyone shares the built-in app registration. If your org blocks it, or you need full control:
1. Register the app
azure-board-mcp)2. Configure it
In Authentication:
http://localhost → ConfigureIn API permissions:
Azure DevOpsuser_impersonation (delegated) → Add3. Use it
npx azure-board-mcp authenticate --client-id <your-app-id>
# Single-tenant:
npx azure-board-mcp authenticate --client-id <your-app-id> --tenant-id <your-tenant-id>
For org admins — pre-approve for everyone in your org:
https://login.microsoftonline.com/{tenant-id}/adminconsent
?client_id=e2ba32e7-6d24-4919-ba7b-37199c495247
&redirect_uri=http://localhost
MIT
AZURE_ORG*Azure DevOps organization name
AZURE_PROJECT*Azure DevOps project name
AZURE_PAT*secretPersonal access token (Work Items: Read & Write)
silenceper/mcp-k8s
azure/containerization-assist
io.github.evozim/aws-builder
reza-gholizade/k8s-mcp-server
flux159/mcp-server-kubernetes