MCP.so
Sign In

Smartschool MCP Server

@MauroDruwel

Basic information

Category

Other

License

MIT

Transports

stdio

Author

MauroDruwel

Submitted by

Mauro Druwel

About Smartschool MCP Server

Smartschool MCP: A Model Context Protocol (MCP) server that enables seamless communication between AI agents and the Smartschool platform. 🧠

#smartschool#mcp#ai-assistant

Smartschool MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "smartschool": {
      "command": "uvx",
      "args": [
        "smartschool-mcp"
      ],
      "env": {
        "SMARTSCHOOL_USERNAME": "your_username",
        "SMARTSCHOOL_PASSWORD": "your_password",
        "SMARTSCHOOL_MAIN_URL": "your-school.smartschool.be",
        "SMARTSCHOOL_MFA": "YYYY-MM-DD"
      }
    }
  }
}

Smartschool MCP Server tools

11

List enrolled courses with teacher info

Grades with optional filtering, pagination, and statistics

Upcoming assignments organised by date

Inbox/sent/trash with search, sender filter, and body retrieval

Day schedule by offset (0 = today, 1 = tomorrow, …)

Academic terms for the current school year

Available report cards

Planner items for the next N days

School support resources and links

List attachments for a specific message

Download a specific attachment by message and file ID

Overview

What is Smartschool MCP?

Smartschool MCP is an unofficial Model Context Protocol server that connects Claude (and other MCP clients) to a Smartschool account, enabling plain‑language queries about grades, assignments, messages, and schedules. It is intended for students and staff who use the Smartschool school management system.

How to use Smartschool MCP?

Install it with uvx mcp install smartschool-mcp and set environment variables (SMARTSCHOOL_USERNAME, SMARTSCHOOL_PASSWORD, SMARTSCHOOL_MAIN_URL, and optionally SMARTSCHOOL_MFA). For Claude Desktop, add the configuration to claude_desktop_config.json. For remote use on claude.ai, run the server with --transport streamable-http in single‑user or universal mode, then configure a custom integration in claude.ai with the server URL and credentials.

Key features of Smartschool MCP

  • List enrolled courses with teacher info
  • View grades with filtering, pagination, and statistics
  • Retrieve upcoming assignments organised by date
  • Browse inbox, sent, and trash messages with search
  • Fetch day schedule by offset
  • Access academic terms and report cards
  • Get planner items for the next N days
  • Download message attachments

Use cases of Smartschool MCP

  • Ask Claude for your current grades and course averages
  • Check upcoming homework deadlines and assignments
  • Read unread messages from teachers or school announcements
  • View your daily or weekly schedule in natural language
  • Retrieve school support resources and links

Frequently asked questions

1

What credentials are required to use Smartschool MCP?

You need your Smartschool username, password, and your school’s main URL (e.g. `school.smartschool.be`). If your account requires multi‑factor authentication, also provide your date of birth in `YYYY-MM-DD` format as the `SMARTSCHOOL_MFA` variable.

2

Can Smartschool MCP be used remotely or on claude.ai?

Yes. The server supports Streamable HTTP transport. In single‑user mode, credentials are set via environment variables. In universal mode, one server serves any Smartschool user; credentials are passed per request (school URL, username, password, optional MFA) via OAuth‑style fields.

3

Is Smartschool MCP an official tool from Smartschool?

No, it is an unofficial tool and is not affiliated with Smartschool. Use it in accordance with your school’s terms of service.

4

What are the runtime dependencies for Smartschool MCP?

It requires Python 3.10 or later. It is installed via `uvx` or `pip` (the package is `smartschool-mcp` on PyPI). For development, use `uv sync --extra dev` to install testing tools.

5

What transport modes does Smartschool MCP support?

It supports two transports: `stdio` (default, for local use with Claude Desktop) and `streamable-http` (for remote use, e.g. on claude.ai). The transport can be set via the `MCP_TRANSPORT` environment variable or the `--transport` CLI flag.

Comments

More Other MCP servers