EduMCPServer
by jesegher
EduMCPServer is a custom Model Context Protocol (MCP) server designed to integrate with the Microsoft Graph API for Education. It enables MCP-compatible tools like Claude Desktop to manage Microsoft Education classes, assignments, rubrics, students, and submissions.
Last updated: N/A
What is EduMCPServer?
EduMCPServer is a custom Model Context Protocol (MCP) server that acts as a bridge between AI-driven tools and the Microsoft Graph API for Education. It allows applications like Claude Desktop to interact with and manage educational data within the Microsoft ecosystem.
How to use EduMCPServer?
To use EduMCPServer, you need to register an application in Entra ID (Azure AD), configure API permissions, generate a client secret, and then clone the repository and install dependencies. After setting up the environment variables, you can run the server and configure your MCP-compatible tool (e.g., Claude Desktop) to connect to it.
Key features of EduMCPServer
Microsoft delegated authentication (OAuth via MSAL)
Class & roster exploration
Assignment creation, updating, and student targeting
Rubric creation and re-use
View assignment submissions & outcomes
Designed for Claude Desktop & Model Context clients
Use cases of EduMCPServer
AI-driven educational tools
Testing and prototyping educational applications
Intelligent prompt integration for educational data
Automated remediation flows for underperforming students
FAQ from EduMCPServer
Is this project affiliated with Microsoft?
Is this project affiliated with Microsoft?
No, this is a personal project and is not affiliated with or maintained by Microsoft.
What is MCP?
What is MCP?
MCP stands for Model Context Protocol, a standard for communication between AI models and external data sources.
What is Microsoft Graph API?
What is Microsoft Graph API?
Microsoft Graph API is a RESTful web API that enables you to access Microsoft Cloud service resources.
What permissions are required in Entra ID?
What permissions are required in Entra ID?
The required permissions are User.ReadWrite.All, EduAssignments.ReadWrite.All, EduRoster.ReadWrite.All, EduRubrics.ReadWrite, offline_access, openid, and profile.
How do I configure Claude Desktop to use this server?
How do I configure Claude Desktop to use this server?
You need to add a configuration block to your Claude Desktop claude.settings.json
file, specifying the command to run the server and the necessary environment variables.