An MCP server for Azure DevOps
A Model Context Protocol (MCP) server implementation for Azure DevOps, allowing AI assistants to interact with Azure DevOps APIs through a standardized protocol.
This server implements the Model Context Protocol (MCP) for Azure DevOps, enabling AI assistants like Claude to interact with Azure DevOps resources securely. The server acts as a bridge between AI models and Azure DevOps APIs, providing a standardized way to:
The server is structured around the Model Context Protocol (MCP) for communicating with AI assistants. It provides tools for interacting with Azure DevOps resources including:
The server uses a feature-based architecture where each feature area (like work-items, projects, repositories) is encapsulated in its own module. This makes the codebase more maintainable and easier to extend with new features.
To integrate with Claude Desktop or Cursor AI, add one of the following configurations to your configuration file.
Be sure you are logged in to Azure CLI with az login
then add the following:
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_AUTH_METHOD": "azure-identity",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
{
"mcpServers": {
"azureDevOps": {
"command": "npx",
"args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
"AZURE_DEVOPS_AUTH_METHOD": "pat",
"AZURE_DEVOPS_PAT": "<YOUR_PAT>",
"AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
}
}
}
}
For detailed configuration instructions and more authentication options, see the Authentication Guide.
This server supports multiple authentication methods for connecting to Azure DevOps APIs. For detailed setup instructions, configuration examples, and troubleshooting tips, see the Authentication Guide.
Example configuration files for each authentication method are available in the examples directory.
For a complete list of environment variables and their descriptions, see the Authentication Guide.
Key environment variables include:
Variable | Description | Required | Default |
---|---|---|---|
AZURE_DEVOPS_AUTH_METHOD | Authentication method (pat , azure-identity , or azure-cli ) - case-insensitive | No | azure-identity |
AZURE_DEVOPS_ORG_URL | Full URL to your Azure DevOps organization | Yes | - |
AZURE_DEVOPS_PAT | Personal Access Token (for PAT auth) | Only with PAT auth | - |
AZURE_DEVOPS_DEFAULT_PROJECT | Default project if none specified | No | - |
AZURE_DEVOPS_API_VERSION | API version to use | No | Latest |
AZURE_TENANT_ID | Azure AD tenant ID (for service principals) | Only with service principals | - |
AZURE_CLIENT_ID | Azure AD application ID (for service principals) | Only with service principals | - |
AZURE_CLIENT_SECRET | Azure AD client secret (for service principals) | Only with service principals | - |
LOG_LEVEL | Logging level (debug, info, warn, error) | No | info |
For detailed troubleshooting information for each authentication method, see the Authentication Guide.
Common issues include:
For technical details about how authentication is implemented in the Azure DevOps MCP server, see the Authentication Guide and the source code in the src/auth
directory.
The Azure DevOps MCP server provides a variety of tools for interacting with Azure DevOps resources. For detailed documentation on each tool, please refer to the corresponding documentation.
get_me
: Get details of the authenticated user (id, displayName, email)list_organizations
: List all accessible organizationslist_projects
: List all projects in an organizationget_project
: Get details of a specific projectget_project_details
: Get comprehensive details of a project including process, work item types, and teamslist_repositories
: List all repositories in a projectget_repository
: Get details of a specific repositoryget_repository_details
: Get detailed information about a repository including statistics and refsget_file_content
: Get content of a file or directory from a repositoryget_work_item
: Retrieve a work item by IDcreate_work_item
: Create a new work itemupdate_work_item
: Update an existing work itemlist_work_items
: List work items in a projectmanage_work_item_link
: Add, remove, or update links between work itemssearch_code
: Search for code across repositories in a projectsearch_wiki
: Search for content across wiki pages in a projectsearch_work_items
: Search for work items across projects in Azure DevOpslist_pipelines
: List pipelines in a projectget_pipeline
: Get details of a specific pipelinetrigger_pipeline
: Trigger a pipeline run with customizable parametersget_wikis
: List all wikis in a projectget_wiki_page
: Get content of a specific wiki page as plain textcreate_pull_request
- Create a new pull requestlist_pull_requests
- List pull requests in a repositoryadd_pull_request_comment
- Add a comment to a pull requestget_pull_request_comments
- Get comments from a pull requestupdate_pull_request
- Update an existing pull request (title, description, status, draft state, reviewers, work items)For comprehensive documentation on all tools, see the Tools Documentation.
Contributions are welcome! Please see CONTRIBUTING.md for contribution guidelines.
MIT
{ "mcpServers": { "azureDevOps": { "command": "npx", "args": [ "-y", "@tiberriver256/mcp-server-azure-devops" ], "env": { "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization", "AZURE_DEVOPS_AUTH_METHOD": "azure-identity", "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name" } } } }
Related projects feature coming soon
Will recommend related projects based on sub-categories