Azure Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Azure Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Azure DevOps MCP server for reading and updating work items, comments, metadata, and relations from an MCP-compatible client.
stdio and HTTP transport modesnpm install
npm run buildThe server supports these authentication modes:
interactive: opens the Microsoft sign-in flow on first use, then reuses the cached session on later runsdefault: uses the Azure default credential chainAZURE_DEVOPS_PAT: uses a personal access token if you prefer PAT-based authFor interactive auth, the server stores:
~/.azure-devops-mcp/authentication-record.jsonThe server reads configuration from:
mcp-config.json file in the project rootIf both are present, environment variables take precedence.
| Setting | Description |
|---|---|
AZURE_DEVOPS_ORG_URL | Azure DevOps organization URL |
AZURE_DEVOPS_DEFAULT_PROJECT | Default project used when a tool call omits project |
AZURE_AUTH_MODE | interactive or default |
AZURE_AUTH_RECORD_PATH | Optional custom path for the auth record file |
AZURE_DEVOPS_PAT | Optional PAT for direct Azure DevOps auth |
AZURE_CLIENT_ID | Optional Entra app client ID |
AZURE_TENANT_ID | Optional Entra tenant ID |
AZURE_CLIENT_SECRET | Optional client secret for non-interactive Azure auth |
AZURE_KEYVAULT_URI | Optional Key Vault URI for loading secrets |
MCP_TRANSPORT | stdio or http |
MCP_HTTP_HOST | HTTP bind host when using HTTP transport |
MCP_HTTP_PORT | HTTP port when using HTTP transport |
MCP_AUTH_TOKEN | Optional bearer token for the HTTP /mcp endpoint |
MCP_TLS_CERT | Optional TLS certificate secret or path value |
MCP_TLS_KEY | Optional TLS private key secret or path value |
LOG_LEVEL | Log level such as info or debug |
REQUEST_TIMEOUT_MS | Per-request timeout in milliseconds |
BULK_REQUEST_TIMEOUT_MS | Timeout for bulk requests in milliseconds |
MAX_RETRY_ATTEMPTS | Retry count for transient failures |
mcp-config.json{
"azureDevopsOrgUrl": "https://dev.azure.com/example-org",
"azureDevopsDefaultProject": "example-project",
"azureAuthMode": "interactive",
"mcpTransport": "stdio",
"logLevel": "info",
"requestTimeoutMs": 10000,
"bulkRequestTimeoutMs": 30000,
"maxRetryAttempts": 3
}Use this when your MCP client launches the server as a local process.
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": [
"F:/path/to/azure-mcp/dist/index.js"
],
"env": {
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/example-org",
"AZURE_DEVOPS_DEFAULT_PROJECT": "example-project",
"AZURE_AUTH_MODE": "interactive",
"MCP_TRANSPORT": "stdio",
"LOG_LEVEL": "info"
}
}
}
}Use this when you want to run the server separately and expose /mcp over HTTP.
Server environment:
{
"AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/example-org",
"AZURE_DEVOPS_DEFAULT_PROJECT": "example-project",
"AZURE_AUTH_MODE": "interactive",
"MCP_TRANSPORT": "http",
"MCP_HTTP_HOST": "127.0.0.1",
"MCP_HTTP_PORT": "3000",
"MCP_AUTH_TOKEN": "replace-with-a-demo-token"
}Client connection example:
{
"mcpServers": {
"azure-devops-http": {
"transport": {
"type": "streamable-http",
"url": "http://127.0.0.1:3000/mcp",
"headers": {
"Authorization": "Bearer replace-with-a-demo-token"
}
}
}
}
}get_work_itemget_work_itemsquery_work_itemslist_work_itemscreate_work_itemupdate_work_itembulk_update_work_itemsdelete_work_itemget_commentsadd_commentget_relationsadd_relationremove_relationlist_projectslist_work_item_typeslist_iterationslist_area_pathssummarize_sprinttriage_bugsdraft_work_itemazure-devops://server/infoazure-devops://{organization}/{project}/workitems/{id}Development mode:
npm run devProduction build:
npm run build
npm start~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.