1. Conduid
  2. Developer Tools
  3. azuredevops-server
MCP server · Developer Tools

azuredevops-server

Azure DevOps MCP

Unclaimed devtools
40Fair

Scored 15 days ago · breakdown

About azuredevops-server

azuredevops-server is an MCP server published by git+RyanCardin15 in the Developer Tools category: azure DevOps MCP.

The repository has 2 stars and 0 forks.

Install

Install
npx @ryancardin/azuredevops-mcp-server
Claude Code
claude mcp add azuredevops-mcp -- npx -y @ryancardin/azuredevops-mcp-server
npx
npx -y @ryancardin/azuredevops-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (97)

addWorkItemCommentAdd a comment to a work item

Parameters not published.

approvePullRequestApprove a pull request

Parameters not published.

assignWorkItemAssign a work item to a user

Parameters not published.

auditSecretUsageAudit usage of secrets across services

Parameters not published.

browseRepositoryBrowse the contents of a repository

Parameters not published.

bulkCreateWorkItemsCreate or update multiple work items in a single operation

Parameters not published.

checkPackageDependenciesCheck package dependencies and vulnerabilities

Parameters not published.

configureTestAgentsConfigure and manage test agents

Parameters not published.

convertFindingsToWorkItemsConvert exploratory test findings to work items

Parameters not published.

createAreaCreate a new area in a project

Parameters not published.

Show all 97 tools
createComplianceReportCreate compliance reports for auditing

Parameters not published.

createExploratorySessionsCreate new exploratory testing sessions

Parameters not published.

createIntelligentAlertsSet up intelligent alerts based on patterns

Parameters not published.

createIterationCreate a new iteration in a project

Parameters not published.

createLinkCreate a link between work items

Parameters not published.

createPackageDownloadReportCreate reports on package downloads

Parameters not published.

createProjectCreate a new project

Parameters not published.

createPullRequestCreate a new pull request

Parameters not published.

createRepositoryCreate a new repository

Parameters not published.

createTestDataGeneratorGenerate test data for automated tests

Parameters not published.

createWorkItemCreate a new work item

Parameters not published.

deletePackageVersionDelete a version of a package

Parameters not published.

generateSecurityComplianceGenerate security compliance reports

Parameters not published.

getAICodeReviewGet AI-based code review suggestions

Parameters not published.

getAreasGet areas for a project

Parameters not published.

getBoardColumnsGet columns for a specific board

Parameters not published.

getBoardItemsGet items on a specific board

Parameters not published.

getBoardsGet all boards for a team

Parameters not published.

getCodeQualityTrendsTrack code quality trends over time

Parameters not published.

getCommitHistoryGet commit history for a repository

Parameters not published.

getComplianceStatusGet current compliance status

Parameters not published.

getContainerImageTagsGet tags for a container image

Parameters not published.

getCurrentSprintGet the current sprint

Parameters not published.

getDeveloperProductivityMeasure developer productivity metrics

Parameters not published.

getExploratoryTestStatisticsGet statistics on exploratory testing activities

Parameters not published.

getFileContentGet the content of a file

Parameters not published.

getIterationsGet iterations for a project

Parameters not published.

getMyWorkItemsGet work items assigned to you

Parameters not published.

getPackageVersionsGet versions of a package in a feed

Parameters not published.

getPredictiveBugAnalysisPredict potential bugs in code changes

Parameters not published.

getPredictiveEffortEstimationAI-based effort estimation for work items

Parameters not published.

getProcessesGet all processes

Parameters not published.

getProjectDetailsGet details of a specific project

Parameters not published.

getPullRequestGet details of a specific pull request

Parameters not published.

getPullRequestChangedFilesGet changed files in a pull request

Parameters not published.

getPullRequestCommentsGet comments on a pull request

Parameters not published.

getRecentlyUpdatedWorkItemsGet recently updated work items

Parameters not published.

getRepositoryGet details of a specific repository

Parameters not published.

getSecurityScanResultsGet results from security scans

Parameters not published.

getSprintCapacityGet capacity for a specific sprint

Parameters not published.

getSprintWorkItemsGet work items in a specific sprint

Parameters not published.

getSprintsGet all sprints for a team

Parameters not published.

getTeamMembersGet members of a team

Parameters not published.

getTestAutomationStatusCheck status of automated test execution

Parameters not published.

getTestFlakinessAnalyze and report on test flakiness

Parameters not published.

getTestGapAnalysisIdentify gaps in test coverage

Parameters not published.

getTestHealthDashboardView overall test health metrics

Parameters not published.

getWorkItemByIdGet a specific work item by ID

Parameters not published.

getWorkItemTypeFieldsGet fields for a work item type

Parameters not published.

getWorkItemTypesGet work item types for a process

Parameters not published.

identifyCodeSmellsIdentify potential code smells and anti-patterns

Parameters not published.

integrateSarifResultsImport and process SARIF format security results

Parameters not published.

listArtifactFeedsList artifact feeds in the organization

Parameters not published.

listBranchesList branches in a repository

Parameters not published.

listContainerImagesList container images in a repository

Parameters not published.

listProjectsList all projects

Parameters not published.

listPullRequestsList pull requests

Parameters not published.

listRepositoriesList all repositories

Parameters not published.

listWorkItemsList work items based on a WIQL query

Parameters not published.

manageContainerPoliciesManage policies for container repositories

Parameters not published.

manageSecurityPoliciesManage security policies

Parameters not published.

manageTestEnvironmentsManage test environments for different test types

Parameters not published.

manageUniversalPackagesManage universal packages

Parameters not published.

mergePullRequestMerge a pull request

Parameters not published.

moveCardOnBoardMove a card on a board

Parameters not published.

optimizeTestSelectionIntelligently select tests to run based on changes

Parameters not published.

predictBuildFailuresPredict potential build failures before they occur

Parameters not published.

promotePackagePromote a package version between views

Parameters not published.

publishPackagePublish a package to a feed

Parameters not published.

recordExploratoryTestResultsRecord findings during exploratory testing

Parameters not published.

rotateSecretsRotate secrets and credentials

Parameters not published.

runAutomatedTestsExecute automated test suites

Parameters not published.

runComplianceChecksRun compliance checks against standards

Parameters not published.

runSecurityScanRun security scans on repositories

Parameters not published.

runTestImpactAnalysisDetermine which tests to run based on code changes

Parameters not published.

runTestOptimizationOptimize test suite execution for faster feedback

Parameters not published.

scanContainerImageScan a container image for vulnerabilities and compliance issues

Parameters not published.

searchCodeSearch for code in repositories

Parameters not published.

searchWorkItemsSearch for work items by text

Parameters not published.

suggestAutomationOpportunitiesIdentify opportunities for automation

Parameters not published.

suggestCodeOptimizationSuggest code optimizations using AI

Parameters not published.

suggestWorkItemRefinementsGet AI suggestions for work item refinements

Parameters not published.

trackSecurityAwarenessTrack security awareness and training

Parameters not published.

trackSecurityVulnerabilitiesTrack and manage security vulnerabilities

Parameters not published.

updateWorkItemUpdate an existing work item

Parameters not published.

updateWorkItemStateUpdate the state of a work item

Parameters not published.

vaultIntegrationIntegrate with secret vaults

Parameters not published.

Ask AI

✦

Ask AI about azuredevops-server

Powered by Claude · Grounded in docs

I know everything about azuredevops-server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

4 checks have not been run yet.

README

Azure DevOps MCP Integration

Star History

Star History Chart

A powerful integration for Azure DevOps that provides seamless access to work items, repositories, projects, boards, and sprints through the Model Context Protocol (MCP) server.

Overview

This server provides a convenient API for interacting with Azure DevOps services, enabling AI assistants and other tools to manage work items, code repositories, boards, sprints, and more. Built with the Model Context Protocol, it provides a standardized interface for communicating with Azure DevOps.

Demo

Azure DevOps MCP Demo

Features

The integration is organized into eight main tool categories:

Work Item Tools

  • List work items using WIQL queries
  • Get work item details by ID
  • Search for work items
  • Get recently updated work items
  • Get your assigned work items
  • Create new work items
  • Update existing work items
  • Add comments to work items
  • Update work item state
  • Assign work items
  • Create links between work items
  • Bulk create/update work items

Boards & Sprints Tools

  • Get team boards
  • Get board columns
  • Get board items
  • Move cards on boards
  • Get sprints
  • Get the current sprint
  • Get sprint work items
  • Get sprint capacity
  • Get team members

Project Tools

  • List projects
  • Get project details
  • Create new projects
  • Get areas
  • Get iterations
  • Create areas
  • Create iterations
  • Get process templates
  • Get work item types
  • Get work item type fields

Git Tools

  • List repositories
  • Get repository details
  • Create repositories
  • List branches
  • Search code
  • Browse repositories
  • Get file content
  • Get commit history
  • List pull requests
  • Create pull requests
  • Get pull request details
  • Get changed files in a pull request
  • Get pull request comments
  • Approve pull requests
  • Merge pull requests

Testing Capabilities Tools

  • Run automated tests
  • Get test automation status
  • Configure test agents
  • Create test data generators
  • Manage test environments
  • Get test flakiness analysis
  • Get test gap analysis
  • Run test impact analysis
  • Get test health dashboard
  • Run test optimization
  • Create exploratory sessions
  • Record exploratory test results
  • Convert findings to work items
  • Get exploratory test statistics

DevSecOps Tools

  • Run security scans
  • Get security scan results
  • Track security vulnerabilities
  • Generate security compliance reports
  • Integrate SARIF results
  • Run compliance checks
  • Get compliance status
  • Create compliance reports
  • Manage security policies
  • Track security awareness
  • Rotate secrets
  • Audit secret usage
  • Configure vault integration

Artifact Management Tools

  • List artifact feeds
  • Get package versions
  • Publish packages
  • Promote packages
  • Delete package versions
  • List container images
  • Get container image tags
  • Scan container images
  • Manage container policies
  • Manage universal packages
  • Create package download reports
  • Check package dependencies

AI-Assisted Development Tools

  • Get AI-powered code reviews
  • Suggest code optimizations
  • Identify code smells
  • Get predictive bug analysis
  • Get developer productivity metrics
  • Get predictive effort estimations
  • Get code quality trends
  • Suggest work item refinements
  • Suggest automation opportunities
  • Create intelligent alerts
  • Predict build failures
  • Optimize test selection

Installation

Quick Start with NPX (Recommended)

The easiest way to use the Azure DevOps MCP server is via NPX:

npx @ryancardin/azuredevops-mcp-server@latest

No installation or build steps required! Just set your environment variables and run.

One-Click Installation for Cursor

Click the button below to install the Azure DevOps MCP server directly in Cursor:

Add Azure DevOps MCP to Cursor

Important: After installation in Cursor, you must update the environment variables in your Cursor MCP configuration with your actual Azure DevOps details.

Learn more about Cursor deeplinks at https://docs.cursor.com/deeplinks

Alternative Installation Methods

Global NPM Installation

npm install -g @ryancardin/azuredevops-mcp-server
azuredevops-mcp-server

Via Smithery (Claude Desktop)

npx -y @smithery/cli install @RyanCardin15/azuredevops-mcp --client claude

Development Setup

For development or customization:

  1. Clone the repository:

    git clone https://github.com/RyanCardin15/AzureDevOps-MCP.git
    cd AzureDevOps-MCP
    
  2. Install dependencies:

    npm install
    
  3. Build the project:

    npm run build
    
  4. Run locally:

    npm start
    

Configuration

Prerequisites

  • Node.js (v16 or later)
  • An Azure DevOps account with a Personal Access Token (PAT) or appropriate credentials

Environment Variables

Configure the server using environment variables. You can set these in your shell, .env file, or in your MCP client configuration:

For Azure DevOps Services (Cloud)

AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
AZURE_DEVOPS_PROJECT=your-default-project
AZURE_DEVOPS_IS_ON_PREMISES=false
AZURE_DEVOPS_AUTH_TYPE=pat
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token

For Azure DevOps Server (On-Premises)

AZURE_DEVOPS_ORG_URL=https://your-server/tfs
AZURE_DEVOPS_PROJECT=your-default-project
AZURE_DEVOPS_IS_ON_PREMISES=true
AZURE_DEVOPS_COLLECTION=your-collection
AZURE_DEVOPS_API_VERSION=6.0
AZURE_DEVOPS_AUTH_TYPE=pat
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token

Alternative Authentication Methods (On-Premises)

# NTLM Authentication
AZURE_DEVOPS_AUTH_TYPE=ntlm
AZURE_DEVOPS_USERNAME=your-username
AZURE_DEVOPS_PASSWORD=your-password
AZURE_DEVOPS_DOMAIN=your-domain

# Basic Authentication
AZURE_DEVOPS_AUTH_TYPE=basic
AZURE_DEVOPS_USERNAME=your-username
AZURE_DEVOPS_PASSWORD=your-password

# Entra ID Authentication (requires az CLI)
AZURE_DEVOPS_AUTH_TYPE=entra

Client Configuration

Cursor Configuration

Add this to your Cursor MCP settings:

{
  "mcpServers": {
    "azure-devops": {
      "command": "npx",
      "args": ["@ryancardin/azuredevops-mcp-server@latest"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_PROJECT": "your-project",
        "AZURE_DEVOPS_IS_ON_PREMISES": "false",
        "AZURE_DEVOPS_AUTH_TYPE": "pat",
        "AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN": "your-personal-access-token"
      }
    }
  }
}

Claude Desktop Configuration

Add this to your Claude Desktop MCP configuration file:

{
  "mcpServers": {
    "azure-devops": {
      "command": "npx",
      "args": ["@ryancardin/azuredevops-mcp-server@latest"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_PROJECT": "your-project",
        "AZURE_DEVOPS_IS_ON_PREMISES": "false",
        "AZURE_DEVOPS_AUTH_TYPE": "pat",
        "AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN": "your-personal-access-token"
      }
    }
  }
}

Creating a Personal Access Token (PAT)

For Azure DevOps Services (cloud), you'll need to create a Personal Access Token with appropriate permissions:

  1. Go to your Azure DevOps organization
  2. Click on your profile icon in the top right
  3. Select "Personal access tokens"
  4. Click "New Token"
  5. Give it a name and select the appropriate scopes:
    • Work Items: Read & Write
    • Code: Read & Write
    • Project and Team: Read & Write
    • Build: Read
    • Release: Read

For Azure DevOps Server (on-premises), create the PAT in your on-premises instance following similar steps.

Complete Environment Variables Reference

Variable Description Required Default
AZURE_DEVOPS_ORG_URL URL of your Azure DevOps organization or server Yes -
AZURE_DEVOPS_PROJECT Default project to use Yes -
AZURE_DEVOPS_IS_ON_PREMISES Whether using Azure DevOps Server No false
AZURE_DEVOPS_COLLECTION Collection name for on-premises No* -
AZURE_DEVOPS_API_VERSION API version for on-premises No -
AZURE_DEVOPS_AUTH_TYPE Authentication type (pat/ntlm/basic/entra) No pat
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN Personal access token (for 'pat' auth) No** -
AZURE_DEVOPS_USERNAME Username for NTLM/Basic auth No** -
AZURE_DEVOPS_PASSWORD Password for NTLM/Basic auth No** -
AZURE_DEVOPS_DOMAIN Domain for NTLM auth No -
ALLOWED_TOOLS Comma-separated list of tool methods to enable No All tools

* Required if AZURE_DEVOPS_IS_ON_PREMISES=true
** Required based on chosen authentication type

Tool Filtering with ALLOWED_TOOLS

The ALLOWED_TOOLS environment variable allows you to restrict which tool methods are available. This is completely optional - if not specified, all tools will be enabled.

Format: Comma-separated list of method names with no spaces.

Example:

ALLOWED_TOOLS=listWorkItems,getWorkItemById,searchWorkItems,createWorkItem

This would only enable the specified work item methods while disabling all others.

Entra ID Authentication

For Entra ID authentication, ensure you have Azure CLI installed and authenticated:

az login

The server supports AZ CLI, AZD, and Azure PowerShell modules as long as you're authenticated.

Usage

Once the server is running, you can interact with it using the MCP protocol. The server exposes several tools for different Azure DevOps functionalities.

Available Tools

Note: By default, only a subset of tools are registered in the index.ts file to keep the initial implementation simple. See the Tool Registration section for information on how to register additional tools.

Example: List Work Items

{
  "tool": "listWorkItems",
  "params": {
    "query": "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.State] = 'Active' ORDER BY [System.CreatedDate] DESC"
  }
}

Example: Create a Work Item

{
  "tool": "createWorkItem",
  "params": {
    "workItemType": "User Story",
    "title": "Implement new feature",
    "description": "As a user, I want to be able to export reports to PDF.",
    "assignedTo": "john@example.com"
  }
}

Example: List Repositories

{
  "tool": "listRepositories",
  "params": {
    "projectId": "MyProject"
  }
}

Example: Create a Pull Request

{
  "tool": "createPullRequest",
  "params": {
    "repositoryId": "repo-guid",
    "sourceRefName": "refs/heads/feature-branch",
    "targetRefName": "refs/heads/main",
    "title": "Add new feature",
    "description": "This PR adds the export to PDF feature"
  }
}

Architecture

The project is structured as follows:

  • src/
    • Interfaces/: Type definitions for parameters and responses
    • Services/: Service classes for interacting with Azure DevOps APIs
    • Tools/: Tool implementations that expose functionality to clients
    • index.ts: Main entry point that registers tools and starts the server
    • config.ts: Configuration handling

Service Layer

The service layer handles direct communication with the Azure DevOps API:

  • WorkItemService: Work item operations
  • BoardsSprintsService: Boards and sprints operations
  • ProjectService: Project management operations
  • GitService: Git repository operations
  • TestingCapabilitiesService: Testing capabilities operations
  • DevSecOpsService: DevSecOps operations
  • ArtifactManagementService: Artifact management operations
  • AIAssistedDevelopmentService: AI-assisted development operations

Tools Layer

The tools layer wraps the services and provides a consistent interface for the MCP protocol:

  • WorkItemTools: Tools for work item operations
  • BoardsSprintsTools: Tools for boards and sprints operations
  • ProjectTools: Tools for project management operations
  • GitTools: Tools for Git operations
  • TestingCapabilitiesTools: Tools for testing capabilities operations
  • DevSecOpsTools: Tools for DevSecOps operations
  • ArtifactManagementTools: Tools for artifact management operations
  • AIAssistedDevelopmentTools: Tools for AI-assisted development operations

Tool Registration

The MCP server requires tools to be explicitly registered in the index.ts file. By default, only a subset of all possible tools are registered to keep the initial implementation manageable.

To register more tools:

  1. Open the src/index.ts file
  2. Add new tool registrations following the pattern of existing tools
  3. Build and restart the server

A comprehensive guide to tool registration is available in the TOOL_REGISTRATION.md file in the repository.

Note: When registering tools, be careful to use the correct parameter types, especially for enum values. The type definitions in the Interfaces directory define the expected types for each parameter. Using the wrong type (e.g., using z.string() instead of z.enum() for enumerated values) will result in TypeScript errors during build.

Example of registering a new tool:

server.tool("searchCode", 
  "Search for code in repositories",
  {
    searchText: z.string().describe("Text to search for"),
    repositoryId: z.string().optional().describe("ID of the repository")
  },
  async (params, extra) => {
    const result = await gitTools.searchCode(params);
    return {
      content: result.content,
      rawData: result.rawData,
      isError: result.isError
    };
  }
);

Troubleshooting

Common Issues

Authentication Errors

  • Ensure your Personal Access Token is valid and has the required permissions
  • Check that the organization URL is correct

unexpected status code: 203

  • This often indicates placeholder or incorrect configuration values were used
  • Verify AZURE_DEVOPS_ORG_URL uses your real org URL (not your-organization)
  • Verify AZURE_DEVOPS_PROJECT and AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN are real values

High Context/Token Consumption

  • Restrict tool registration with ALLOWED_TOOLS to only the methods you need
  • Example: ALLOWED_TOOLS=listWorkItems,getWorkItemById,listPullRequests,getPullRequestChangedFiles

TypeScript Errors During Build

  • Use npm run build:ignore-errors to bypass TypeScript errors
  • Check for missing or incorrect type definitions

Runtime Errors

  • Verify that the Azure DevOps project specified exists and is accessible

Contributing

Contributions are welcome! Here's how you can contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your code passes linting and includes appropriate tests.

Verified on MseeP

smithery badge

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About azuredevops-server

How do I install azuredevops-server?

Run npx @ryancardin/azuredevops-mcp-server, then add the server to your MCP client's configuration.

Is azuredevops-server safe to use with an AI agent?

Its trust score is 40 out of 100 (fair). It passes 1 of the 2 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is azuredevops-server still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.