EduMCPServer logo

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.

View on GitHub

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?

No, this is a personal project and is not affiliated with or maintained by Microsoft.

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?

Microsoft Graph API is a RESTful web API that enables you to access Microsoft Cloud service resources.

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?

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.