@north7/entraaware v0.0.7
EntraAware MCP Server
A lightweight Model Context Protocol (MCP) server for querying Microsoft Entra (Azure AD) and Azure Resource Management data.
What is EntraAware?
EntraAware is an MCP Server that allows AI assistants to directly access your Microsoft Entra (Azure AD) tenant data through the Microsoft Graph API and Azure Resource Management API. With EntraAware, you can ask natural language questions or make structured API calls to your Microsoft cloud environments.
This project is inspired by and builds upon the Lokka-Microsoft MCP server (MIT license).
Setup
Prerequisites
- Microsoft Entra (Azure AD) tenant
- Application registration with appropriate Graph API permissions and Azure Resource Management permissions
- Node.js 18 or higher
Installation
# Install globally
npm install -g @north7/entraaware
# Or use with npx (no installation needed)
npx @north7/entraawareConfiguration
Create a .mcp.json file in your VS Code workspace:
{
"servers": {
"EntraAware": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@north7/entraaware@latest"
],
"env": {
"TENANT_ID": "your-tenant-id",
"CLIENT_ID": "your-client-id",
"CLIENT_SECRET": "your-client-secret"
}
}
}
}Replace the environment variables with your own:
TENANT_ID- Your Microsoft Entra tenant IDCLIENT_ID- Your Microsoft Entra client ID/application IDCLIENT_SECRET- Your Microsoft Entra client secret
Usage
Once configured, you can use EntraAware through a compatible MCP client (like VS Code with the MCP extension).
Available Tools
EntraAware provides three MCP tools:
1. askEntra
Direct access to Microsoft Graph API for accurate Entra (Azure AD) data.
// Example usage
{
"path": "/users",
"method": "get",
"select": "displayName,userPrincipalName,id",
"top": 10
}
// Advanced filtering
{
"path": "/users",
"method": "get",
"filter": "startsWith(displayName,'J')",
"consistencyLevel": "eventual"
}2. askAzure
Direct access to Azure Resource Management API for managing Azure resources.
// List subscriptions
{
"path": "/subscriptions",
"method": "get"
}
// List all resource groups in a subscription
{
"path": "/resourceGroups",
"method": "get",
"subscriptionId": "your-subscription-id",
"apiVersion": "2021-04-01"
}
// Use predefined operations
{
"operation": "listResources",
"subscriptionId": "your-subscription-id"
}3. Lokka-Microsoft (Compatibility Layer)
A compatibility layer for the Lokka-Microsoft MCP server to ensure backward compatibility.
// Query Graph API
{
"apiType": "graph",
"path": "/users",
"method": "get"
}
// Query Azure API
{
"apiType": "azure",
"path": "/subscriptions",
"method": "get",
"apiVersion": "2022-12-01"
}License
MIT License - See LICENSE file for details.
Acknowledgements
- This project is inspired by and builds upon the Lokka-Microsoft MCP server.
- Microsoft Graph API Documentation
- Azure Resource Management API Documentation