azdo_list_organizationsLABSCO SUMMARY
A failed sign-in tells you which source failed and why.
The credential chain reports every attempt's error rather than only the last, which turns an unhelpful authentication failure into something you can act on. Stdio is the default and the safer mode — HTTP server mode binds all interfaces.
What it is
A Rust server over the Azure DevOps REST API. Tools are named azdo_VERB_WHAT, and the JSON they return is trimmed for token cost rather than mirroring the raw API response.
What you get
- Organizations and projects the signed-in identity can reach — azdo_list_organizations, azdo_list_projects
- Work items created and updated with the full field set — area and iteration path, state, board column and row, priority, severity, story points, effort, tags, parent, dates, acceptance criteria, repro steps and custom fields — azdo_create_work_item, azdo_update_work_item
- One work item or several by id, each optionally carrying its most recent comments — azdo_get_work_item, azdo_get_work_items
- Work items queried by structured filters with include and exclude lists, or by raw WIQL — azdo_query_work_items, azdo_query_work_items_by_wiql
- Comments added, and work items linked as Parent, Child, Related, Duplicate or Dependency — azdo_add_comment, azdo_link_work_items
- Teams, boards, work item types and tags listed, and a team's current and full iteration list — azdo_list_teams, azdo_get_team, azdo_list_team_boards, azdo_get_team_board, azdo_list_work_item_types, azdo_list_tags, azdo_get_team_current_iteration, azdo_get_team_iterations
Requirements
Access to the target Azure DevOps organization. A bearer token is acquired per request, trying an environment client secret (AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET together), then the Azure CLI session, then the Azure Developer CLI, then managed identity. For local use, az login is the simplest path. Install from Homebrew or Scoop; mcp-for-azure-devops-boards --install writes the client configuration for you.
Setup effort
One command plus credentials — brew tap danielealbano/mcp-tools && brew install mcp-for-azure-devops-boards, then supply credentials
USE CASES
Filing work from a conversation
Create the item with the fields that matter — type, title, area and iteration path, priority, story points, parent — in one call instead of a form.
Answering what the team is working on
Query with include and exclude lists across state, assignee, board column and tags, or drop to raw WIQL when the filters run out.
Catching up on a thread without opening the board
Fetch several items at once and pull their most recent comments along with them, controlled by a count rather than all history.
Getting the sprint picture
List the team's boards, read the current iteration, and see which work item types and tags the project actually uses.
18 tools
Listed in project docs. Your client may show a different list.
azdo_list_projectsazdo_create_work_itemazdo_update_work_itemazdo_get_work_itemazdo_get_work_itemsazdo_query_work_itemsazdo_query_work_items_by_wiqlazdo_add_commentazdo_link_work_itemsazdo_list_teamsazdo_get_teamazdo_list_team_boardsazdo_get_team_boardazdo_list_work_item_typesazdo_list_tagsazdo_get_team_current_iterationazdo_get_team_iterationsBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
Azure CLI signed in with az login, with access to the target Azure DevOps organization
Optional
- AZURE_TENANT_ID in your environment
- AZURE_CLIENT_ID in your environment
- AZURE_CLIENT_SECRET in your environment
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
brew tap danielealbano/mcp-tools
brew install mcp-for-azure-devops-boardsMCP Clients
Claude Code, Claude Desktop, Cursor, Gemini CLI
{
"mcpServers": {
"mcp-for-azure-devops-boards": {
"command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
}
}
}Run az login first; the server picks up that Azure CLI session. A service principal is the alternative: set AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET together in the environment the client starts it with.
VS Code
{
"servers": {
"mcp-for-azure-devops-boards": {
"type": "stdio",
"command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
}
}
}Run az login first; the server picks up that Azure CLI session. A service principal is the alternative: set AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET together in the environment the client starts it with.