MCP-MSGraph
A prototype MCP server which reads a user profile from Microsoft Graph.
Overview
MCP-MSGraph is a prototype server that implements the Model Context Protocol (MCP) to read user profiles from Microsoft Graph, demonstrating how to connect MCP to data stored in Microsoft Graph as a proof of concept.
To use MCP-MSGraph, you need to create an Azure AD application, clone the repository, set up a virtual environment, install the required packages, and start the server. You can then send requests to retrieve user profiles.
- Connects to Microsoft Graph to read user profiles. - Implements the Model Context Protocol (MCP). - Provides a RESTful API for user profile retrieval.
- Integrating user profile data into applications.
- Building applications that require user context from Microsoft Graph.
- Prototyping and testing MCP implementations with Microsoft Graph data.
Add to your AI client
Use these steps to connect MCP-MSGraph 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": {
"mcp-msgraph-kevinbellinger": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-msgraph-kevinbellinger"
]
}
}
}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": {
"mcp-msgraph-kevinbellinger": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-msgraph-kevinbellinger"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-msgraph-kevinbellinger": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-msgraph-kevinbellinger"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-msgraph-kevinbellinger": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-msgraph-kevinbellinger"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-msgraph-kevinbellinger": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-msgraph-kevinbellinger"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-msgraph-kevinbellinger": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-msgraph-kevinbellinger"
]
}
}
}FAQ
What is the purpose of MCP-MSGraph?
MCP-MSGraph serves as a proof of concept for connecting the Model Context Protocol to Microsoft Graph data.
How do I set up the server?
Follow the instructions in the repository to create an Azure AD application, clone the repo, set up a virtual environment, and start the server.
Can I use this for production?
This is a prototype and may require further development and testing before being used in a production environment.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":3241,"uuid":"4233b003-e382-45cc-9f2c-5602667fdd9b","name":"mcp-msgraph","title":"MCP-MSGraph","description":"A prototype MCP server which reads a user profile from Microsoft Graph.","avatar_url":"https://avatars.githubusercontent.com/u/4783280?v=4","created_at":"2025-03-18T12:01:09.455Z","updated_at":"2025-03-18T14:30:24.143Z","status":"created","author_name":"kevinbellinger","author_avatar_url":"https://avatars.githubusercontent.com/u/4783280?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/kevinbellinger/mcp-msgraph","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"0\",\"license\":\"\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-03-19 09:14:11\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]