D

Azure MCP Server

Community MCP server for Microsoft Azure that manages resources, role assignments, and executes arbitrary Azure SDK code

Overall Score45/100

Score Breakdown

Server Info

Package
azure-mcp
Registry
npm
Maintainer
Community
Category
Cloud & Infrastructure
Tags
azurecloudmicrosoft
Last Scanned
7 Apr 2026

Findings

11 issues

Authentication & Identity

HIGHNo per-request auth - requires instance-per-user

Stdio-only transport. Uses ChainedTokenCredential with three credential sources in order: ClientSecretCredential (from AZURE_CLIENT_ID/SECRET/TENANT_ID env vars), ManagedIdentityCredential, and DefaultAzureCredential as fallback. Supports service principal, managed identity, and interactive auth. For multi-tenant deployment, the platform must spawn a separate server instance per user.

Remediation

Add HTTP/SSE transport to accept per-request Authorization headers, or implement the MCP OAuth spec.

Tool Schema Quality

MEDIUMOnly 0 of 9 schemas have parameter constraints

Most schemas lack maxLength, enum, or pattern constraints on string parameters.

Remediation

Add constraints to string parameters, especially on write operations.

CRITICALDangerous execution surface: run-azure-code

Tool allows raw code/query execution which could be exploited via prompt injection.

Remediation

Use parameterized queries or validated command sets.

Permission Granularity

MEDIUM1 tools combine read and write operations

run-azure-code is a god-mode tool that can execute any Azure SDK operation. create-resource-group and select-tenant are proper write tools. The read tools for role assignments and permissions are well-separated. However, run-azure-code makes all permission boundaries meaningless since it can do anything the credentials allow.

Remediation

Split into separate read and write tools.

HIGH1 destructive operations not isolated

Admin/delete tools are mixed with regular operations and cannot be independently disabled.

Remediation

Namespace admin tools separately for independent access control.

LLM Safety

MEDIUM1 tool descriptions are too vague

Short or generic descriptions make tool selection unreliable.

Remediation

Expand descriptions with specific actions, data types, and side effects.

HIGHTool descriptions contain instructional language

Descriptions include directives that could influence LLM behavior beyond tool selection.

Remediation

Remove instructional language. Descriptions should be purely factual.

Data Exposure

MEDIUM3 list operations lack pagination

list-resource-groups, list-role-assignments, and get-role-definitions all iterate through all results without pagination support. Uses for-await-of loops that collect everything. Resource caching (60s TTL) reduces repeated API calls but does not limit data exposure.

Remediation

Add limit/offset or cursor-based pagination.

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Maintenance & Trust

LOWCommunity-maintained by gkvp70

No official vendor backing.

Remediation

Seek vendor verification.

HIGH12 dependency vulnerabilities (1 critical, 10 high)

npm audit found 1 critical and 10 high severity CVEs.

Remediation

Run `npm audit fix` and update vulnerable dependencies.

Tools

9 total
NameDescriptionRisk
run-azure-codeRun Azure codeadmin
list-tenantsList all available Azure tenantsread
select-tenantSelect Azure tenant and subscriptionwrite
list-resource-groupsList all resource groups in the selected subscriptionread
get-resource-detailsGet detailed information about a specific resourceread
create-resource-groupCreate a new resource groupwrite
list-role-assignmentsList role assignments for the subscription or resource groupread
get-role-definitionsList available role definitionsread
get-user-permissionsGet detailed user permissions by combining role assignments and role definitionsread

Deploy Azure MCP Server securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow