MCP server for Azure DevOps — work items, builds, and PRs. Installable via npx/bunx with OAuth or PAT auth.
Azure Board MCP has 30 tools with consistent naming (verb_noun pattern) and descriptions present for all tools. However, parameter descriptions are often generic or missing detail. Input schemas are visible but lack depth, many parameters lack type constraints (enums, ranges, patterns). Output schemas are not documented. Error handling includes helpful hints but lacks structured recovery guidance. The server follows basic patterns but misses production-grade rigor in parameter validation, output documentation, and error classification.
Add a comment to a work item
Show current authentication status and user info
Cancel a running build
Create a new pull request
Create a new release
Create a new work item (Task, Bug, Story, Epic, etc.)
Get the product backlog in priority order
Output schemas not documented. Tools return structured data (fmtWI, fmtWIFull helpers visible) but LLMs cannot see what fields to expect. Downstream tool chaining requires guessing field names.
Parameter enums missing. 'status' in list_pull_requests accepts 'active|completed|abandoned' but not declared as enum. 'kind' in list_paths accepts 'area|iteration' but not constrained. Free-form strings invite hallucinated values.
Destructive operations lack confirmation. cancel_build, create_release, run_pipeline, and delete-adjacent operations have no dry-run or confirmation step. Agents can trigger irreversible actions without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Get Kanban board columns and configuration
Get logs from a build step
Get the timeline/steps of a build run
Get the contents of a file from a repository
Get current sprint details including dates and team capacity
Get full details of a work item including description, comments, and linked items
Get the change history/audit trail of a work item
Link two work items (parent-child, related, dependency, etc.)
List recent build runs
List recent commits in a repository
List files in a repository path
List valid area paths or iteration paths for the project
List all CI/CD pipelines in the project
List pull requests in a repository
List release definitions and recent releases
List all Git repositories in the project
List members of a team
List all teams in the project
List work items with optional filters (type, state, assignee, sprint, etc.)
Execute a WIQL (Work Item Query Language) query
Trigger a pipeline run
List all projects in the org and switch to one
Update a work item's fields (state, assignee, priority, etc.)
Parameter descriptions lack format/constraint details. 'iterationPath' and 'areaPath' accept strings but no format guidance (e.g. 'backslash-separated path like Project\Sprint1'). 'priority' accepts 1-4 but not stated in description.
Error handling lacks classification. fail() helper returns actionable hints but does not categorize errors as retryable, user-fixable, or fatal. LLMs cannot decide whether to retry, ask user, or abort.