home / mcp / workitems devops mcp server
Provides tools to query, filter, format, and update Azure DevOps work items via MCP for AI/LLM apps.
Configuration
View docs{
"mcpServers": {
"juanpq26-workitems_devops_mcp": {
"command": "python",
"args": [
"server.py"
],
"env": {
"AZURE_DEVOPS_PROJECT": "YOUR_PROJECT_PLACEHOLDER",
"AZURE_DEVOPS_ACCESS_TOKEN": "YOUR_TOKEN_PLACEHOLDER",
"AZURE_DEVOPS_ORGANIZATION": "YOUR_ORG_PLACEHOLDER"
}
}
}
}You deploy and run a Model Context Protocol MCP server that lets you interact with Azure DevOps Work Items directly from AI applications. It provides tools to query, filter, format, and update work items, including batch operations, item details, and state transitions, enabling seamless IA/LLM integration with your DevOps workflow.
You access the server through an MCP client and call the exposed tools to work with Azure DevOps work items. Start the local MCP server, then connect your IA/LLM workflow to it to perform tasks such as listing work items assigned to you, filtering by criteria or planned dates, retrieving full work item details with formatted output, updating states and planned dates, and adding comments. Use the provided tools to compose multi-step workflows and batch operations across multiple work items. You can also explore types and states, check allowed transitions, and extend the server with new tools as your needs evolve.
Key capabilities you will use include querying work items by ID, by custom criteria, or by planned dates; obtaining full details with formatted output; updating states, planned dates, and real effort; and adding comments. You can also list all work item types, fetch a type by name, view states for a type, and retrieve allowed transitions.
Prerequisites you need before running the MCP server:
• Python 3.13+
• Azure DevOps account with access to your project
• Personal Access Token (PAT) for Azure DevOps
Follow these steps to install and run the server locally:
# 1. Clone the project directory
git clone <your-repo>
cd workitems_devops_mcp
# 2. Install dependencies (example command shown in setup flow)
uv syncConfiguration and startup tips help you tailor the server to your environment and ensure secure operation.
Environment variables you should provide in your environment or a .env file:
• AZURE_DEVOPS_ACCESS_TOKEN — Your personal access token with appropriate permissions
• AZURE_DEVOPS_PROJECT — The Azure DevOps project name you are targeting
• AZURE_DEVOPS_ORGANIZATION — The Azure DevOps organization name
API and client details you may encounter:
• API Version: 7.0 (configurable in settings) and a User-Agent of workitems-devops-mcp/1.0
• Authentication is Basic with the PAT
How to run the server locally from your development environment:
# Run the MCP server directly
python server.py
# Alternative: run the main entry point
python main.pySecurity tips to follow as you work with tokens and integration points.
• Do not commit tokens. Use environment variables instead.
• Use tokens with minimum required permissions for work item read/write operations
• Rotate tokens periodically and avoid logging sensitive information.
Common issues and fixes:
• Authentication errors: verify the PAT and environment values.
• Connection issues: confirm organization/project names and network access.
Example planning a daily query to fetch work items assigned to you and then retrieving details for visibility.
Example of updating a work item state and adding a progress comment to track changes.
You can add new tools by implementing a function in the business logic and exposing it as an MCP tool in the server entry point.
Output formatting can be customized in the formatter module to present results in an easily readable form.
Obtains IDs of work items assigned to the current user.
Filters work items by custom criteria using WIQL-like expressions.
Filters work items by their planned start date.
Retrieves full details for given work item IDs.
Lists all work item types available in the project.
Retrieves a specific work item type by name.
Lists states for a given work item type.
Gets allowed transitions for a type and state.
Updates the state of a single work item.
Updates the planned start date of a work item.
Updates the real effort spent on a work item.
Updates the description of a work item.
Updates the planned start date for multiple work items.
Adds a comment to a work item.