Entra ID-authenticated MCP Server logo

Entra ID-authenticated MCP Server

by dend

This is a minimal server demonstrating Entra ID authentication with MCP and HTTP+SSE transport. It utilizes a confidential client within the MCP server and session mapping to assign sessions using a JWT-like token.

View on GitHub

Last updated: N/A

🔒 Minimal Entra ID-authenticated MCP Server

Minimal server showing how to implement Entra ID authentication with MCP and HTTP+SSE transport. Unlike the previous server implementation, this relies on a confidential client living inside the MCP server, and then using "session mapping" to make sure that the client gets a session assignment through, what looks like, a JWT token (since we can't use cookies).

[!IMPORTANT] This repository has been archived. Refer to the reference collection for latest samples and best practices.

[!WARNING] This is not intended for production use. If you are to adopt any of the practices in this implementation, ensure that you are implementing proper caching and secure token/credential handling practices.

Run server

npm install
npm run build
npm run start

Testing

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