Atlas / MCP servers / ryancardin15 / Azure DevOps

Azure DevOpsSAFE

mcp/ryancardin15/azure-devops-2
Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
101 75r · 25w · 1d
Transport
stdio
License
MIT
Stars
59
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Star History

[](https://star-history.com/#RyanCardin15/AzureDevOps-MCP&Date)

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

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

Read from source at commit f181c1962c59OBSERVED · 2026-10-08
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add azuredevops-mcp-server --env AZURE_DEVOPS_AUTH_TYPE=${AZURE_DEVOPS_AUTH_TYPE} --env AZURE_DEVOPS_PASSWORD=${AZURE_DEVOPS_PASSWORD} --env AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=${AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN} -- npx -y @ryancardin/[email protected]
claude-desktop
{
  "mcpServers": {
    "azuredevops-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@ryancardin/[email protected]"
      ],
      "env": {
        "AZURE_DEVOPS_AUTH_TYPE": "${AZURE_DEVOPS_AUTH_TYPE}",
        "AZURE_DEVOPS_PASSWORD": "${AZURE_DEVOPS_PASSWORD}",
        "AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN": "${AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN}"
      }
    }
  }
}
03

Exposed tools (101)

75 read · 25 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
AgilereadAgile process template
addWorkItemCommentwriteAdd a comment to a work item
approvePullRequestreadApprove a pull request
assignWorkItemreadAssign a work item to a user
auditSecretUsagereadAudit usage of secrets across services
browseRepositoryreadBrowse the contents of a repository
bulkCreateWorkItemswriteCreate or update multiple work items in a single operation
checkPackageDependenciesreadCheck package dependencies and vulnerabilities
configureTestAgentsreadConfigure and manage test agents
convertFindingsToWorkItemsreadConvert exploratory test findings to work items
createAreawriteCreate a new area in a project
createComplianceReportwriteCreate compliance reports for auditing
createExploratorySessionswriteCreate new exploratory testing sessions
createIntelligentAlertswriteSet up intelligent alerts based on patterns
createIterationwriteCreate a new iteration in a project
createLinkwriteCreate a link between work items
createPackageDownloadReportwriteCreate reports on package downloads
createProjectwriteCreate a new project
createPullRequestwriteCreate a new pull request
createRepositorywriteCreate a new repository
createTestDataGeneratorreadGenerate test data for automated tests
createWorkItemwriteCreate a new work item
deletePackageVersiondestructiveDelete a version of a package
generateSecurityCompliancereadGenerate security compliance reports
getAICodeReviewreadGet AI-based code review suggestions
getAreasreadGet areas for a project
getBoardColumnsreadGet columns for a specific board
getBoardItemsreadGet items on a specific board
getBoardsreadGet all boards for a team
getCodeQualityTrendsreadTrack code quality trends over time
getCommitHistorywriteGet commit history for a repository
getComplianceStatusreadGet current compliance status
getContainerImageTagsreadGet tags for a container image
getCurrentSprintreadGet the current sprint
getDeveloperProductivityreadMeasure developer productivity metrics
getExploratoryTestStatisticsreadGet statistics on exploratory testing activities
getFileContentreadGet the content of a file
getIterationsreadGet iterations for a project
getMyWorkItemsreadGet work items assigned to you
getPackageVersionsreadGet versions of a package in a feed
getPredictiveBugAnalysisreadPredict potential bugs in code changes
getPredictiveEffortEstimationreadAI-based effort estimation for work items
getProcessesreadGet all processes
getProjectDetailsreadGet details of a specific project
getPullRequestreadGet details of a specific pull request
getPullRequestChangedFilesreadGet changed files in a pull request
getPullRequestCommentsreadGet comments on a pull request
getRecentlyUpdatedWorkItemsreadGet recently updated work items
getRepositoryreadGet details of a specific repository
getSecurityScanResultsreadGet results from security scans
getSprintCapacityreadGet capacity for a specific sprint
getSprintWorkItemsreadGet work items in a specific sprint
getSprintsreadGet all sprints for a team
getTeamMembersreadGet members of a team
getTestAutomationStatusreadCheck status of automated test execution
getTestFlakinessreadAnalyze and report on test flakiness
getTestGapAnalysisreadIdentify gaps in test coverage
getTestHealthDashboardreadView overall test health metrics
getWorkItemByIdreadGet a specific work item by ID
getWorkItemTypeFieldsreadGet fields for a work item type
getWorkItemTypesreadGet work item types for a process
identifyCodeSmellsreadIdentify potential code smells and anti-patterns
integrateSarifResultswriteImport and process SARIF format security results
listArtifactFeedsreadList artifact feeds in the organization
listBranchesreadList branches in a repository
listContainerImagesreadList container images in a repository
listProjectsreadList all projects
listPullRequestsreadList pull requests
listRepositoriesreadList all repositories
listWorkItemsreadList work items based on a WIQL query
manageContainerPoliciesreadManage policies for container repositories
manageSecurityPoliciesreadManage security policies
manageTestEnvironmentsreadManage test environments for different test types
manageUniversalPackagesreadManage universal packages
mergePullRequestwriteMerge a pull request
moveCardOnBoardwriteMove a card on a board
npm-packagesreadNPM packages for the organization
nuget-packagesreadNuGet packages for .NET projects
optimizeTestSelectionwriteIntelligently select tests to run based on changes
predictBuildFailuresreadPredict potential build failures before they occur
promotePackagereadPromote a package version between views
publishPackagewritePublish a package to a feed
recordExploratoryTestResultsreadRecord findings during exploratory testing
rotateSecretsreadRotate secrets and credentials
runAutomatedTestswriteExecute automated test suites
runComplianceCheckswriteRun compliance checks against standards
runSecurityScanwriteRun security scans on repositories
runTestImpactAnalysiswriteDetermine which tests to run based on code changes
runTestOptimizationreadOptimize test suite execution for faster feedback
scanContainerImagereadScan a container image for vulnerabilities and compliance issues
searchCodereadSearch for code in repositories
searchWorkItemsreadSearch for work items by text
suggestAutomationOpportunitiesreadIdentify opportunities for automation
suggestCodeOptimizationreadSuggest code optimizations using AI
suggestWorkItemRefinementsreadGet AI suggestions for work item refinements
trackSecurityAwarenessreadTrack security awareness and training
trackSecurityVulnerabilitiesreadTrack and manage security vulnerabilities
universal-packagesreadUniversal packages for deployments
updateWorkItemwriteUpdate an existing work item
updateWorkItemStatewriteUpdate the state of a work item
vaultIntegrationreadIntegrate with secret vaults
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
none-observed
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (7)

MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
deletePackageVersion
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.env.cloud.example
.env.cloud.example
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.env.on-premises.example
.env.on-premises.example
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
README.md:148
[![Add Azure DevOps MCP to Cursor](https://img.shields.io/badge/Add%20to-Cursor-blue?style=for-the-badge)](cursor://anysphere.cursor-deeplink/mcp/install?name=azure-devops&config=eyJjb21tYW5kIjoibnB4I
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, azure-devops-node-api, dotenv, @azure/identity, @types/node, ts-node, typescript
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
AdoMcpDemo.gif
AdoMcpDemo.gif
Why it matters. 27161226 bytes not read
INFOPrompt injection · prompt.credential_read · CWE-94, CWE-1427
README.md:196
- An Azure DevOps account with a Personal Access Token (PAT) or appropriate credentials
Why it matters. asks the agent to read credentials

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha f181c1962c59full audit observations/trust-audit/mcp-server/ryancardin15__azure-devops-2.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08f181c1962c59SAFEB89first audit
06

Questions

What tools does Azure DevOps expose?

101 in total: 75 read-only, 25 that write, and 1 that can delete or overwrite (deletePackageVersion). Every one is listed on this page with its risk.

Is Azure DevOps safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Azure DevOps need?

It reads AZURE_DEVOPS_AUTH_TYPE, AZURE_DEVOPS_PASSWORD and AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does Azure DevOps run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as @ryancardin/azuredevops-mcp-server at 1.0.4.

How current is this page?

The grade is for one exact copy of the source (f181c1962c59), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement