drio
Open app

🔒 Minimal Entra ID-authenticated MCP Server

Source

Demo showing how to use Entra ID with MCP servers

Catalog onlyCatalog onlySTDIO

Overview

Minimal Entra ID-authenticated MCP Server is a demonstration project that showcases how to implement Entra ID authentication with MCP servers using HTTP+SSE transport.

To use this server, clone the repository, install the necessary packages, build the project, and start the server using the following commands: npm install npm run build npm run start

  • Demonstrates Entra ID authentication integration with MCP servers. - Utilizes HTTP+SSE transport for real-time communication. - Provides a minimal setup for testing and development purposes.
  1. Testing Entra ID authentication in development environments.
  2. Learning how to implement secure authentication in MCP servers.
  3. Experimenting with HTTP+SSE transport for real-time applications.

Add to your AI client

Use these steps to connect 🔒 Minimal Entra ID-authenticated MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "entra-id-mcp-server-demo-dend": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-entra-id-mcp-server-demo-dend"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "entra-id-mcp-server-demo-dend": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-entra-id-mcp-server-demo-dend"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "entra-id-mcp-server-demo-dend": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-entra-id-mcp-server-demo-dend"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "entra-id-mcp-server-demo-dend": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-entra-id-mcp-server-demo-dend"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "entra-id-mcp-server-demo-dend": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-entra-id-mcp-server-demo-dend"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "entra-id-mcp-server-demo-dend": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-entra-id-mcp-server-demo-dend"
      ]
    }
  }
}

FAQ

Is this server suitable for production use?

No, this implementation is not intended for production use. Proper caching and secure token handling practices should be implemented for production environments.

What tools are needed for testing?

You will need to use MCP Inspector or any tool that supports HTTP+SSE transport for MCP servers and authentication.