Sponsored by Deepsite.site

Smartschool MCP

Created By
MauroDruwel2 months ago
Smartschool MCP: A Model Context Protocol (MCP) server that enables seamless communication between AI agents and the Smartschool platform. 🧠 Access Smartschool courses, grades, assignments, and messages
Content

Smartschool MCP Server

A Model Context Protocol (MCP) server that enables AI assistants to interact with the Smartschool platform, providing access to courses, grades, assignments, and messages.

Overview

This MCP server allows AI assistants like Claude to seamlessly access and retrieve information from Smartschool, a widely-used educational management platform in Belgium and the Netherlands. With this MCP server, students can ask their AI assistant about their grades, upcoming assignments, course information, and messages without leaving their conversation.

Features

The Smartschool MCP server provides the following tools:

📚 get_courses

Retrieve all available courses with teacher information.

  • Lists all enrolled courses
  • Includes teacher names for each course

📊 get_results

Fetch student grades and results with detailed information.

  • Supports pagination with limit and offset parameters
  • Filter by course name using course_filter
  • Optional detailed statistics (average, median) with include_details
  • Includes score descriptions, dates, and feedback

📝 get_future_tasks

Get upcoming assignments and tasks organized by date.

  • Shows all future assignments
  • Organized by date and course
  • Includes task descriptions and labels

📧 get_messages

Access mailbox messages with powerful filtering options.

  • Choose mailbox type: INBOX, SENT, DRAFT, etc.
  • Search messages by content with search_query
  • Filter by sender with sender_filter
  • Optional full message body with include_body
  • Pagination support

Installation

PyPI version Python 3.13+

Prerequisites

  • Python 3.13 or higher
  • uv package manager (recommended) or pip
  • A Smartschool account with valid credentials

The easiest way to install and configure the server is using the MCP CLI:

# Install from PyPI and configure automatically
uvx mcp install smartschool-mcp \
  -e SMARTSCHOOL_USERNAME="your_username" \
  -e SMARTSCHOOL_PASSWORD="your_password" \
  -e SMARTSCHOOL_MAIN_URL="your-school.smartschool.be" \
  -e SMARTSCHOOL_MFA="YYYY-MM-DD"

This command will:

  • Install the package from PyPI
  • Add it to your Claude Desktop configuration
  • Set up the environment variables automatically

Manual Installation from PyPI

If you prefer to install manually and configure later:

# Using pip
pip install smartschool-mcp

# Using uv (recommended)
uv pip install smartschool-mcp

After manual installation, you'll need to configure Claude Desktop manually (see configuration section below).

Installation from Source

If you want to contribute or use the latest development version:

git clone https://github.com/MauroDruwel/Smartschool-MCP.git
cd Smartschool-MCP
uv sync

Configuration Parameters

ParameterDescriptionExample
SMARTSCHOOL_USERNAMEYour Smartschool usernamejohn.doe@student.school.be
SMARTSCHOOL_PASSWORDYour Smartschool passwordyourpassword123
SMARTSCHOOL_MAIN_URLYour school's Smartschool URL (without https://)school.smartschool.be
SMARTSCHOOL_MFAYour date of birth (YYYY-MM-DD format)2008-01-15

Usage Examples

Once installed and configured with Claude Desktop or another MCP client, you can ask questions like:

  • "What are my recent grades?"
  • "Show me my upcoming assignments"
  • "What courses am I enrolled in?"
  • "Do I have any new messages?"
  • "What's my average grade in Math?"
  • "Show me messages from my teacher about the project"

Tool Usage Examples

Get courses:

get_courses()

Get recent grades:

get_results(limit=10, course_filter="Math", include_details=True)

Get upcoming assignments:

get_future_tasks()

Search messages:

get_messages(
    limit=20,
    search_query="homework",
    sender_filter="teacher",
    include_body=True
)

Claude Desktop Configuration

Add this configuration to your claude_desktop_config.json:

{
  "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"
      }
    }
  }
}

Option 2: Using Python module

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

Option 3: From source (for development)

{
  "mcpServers": {
    "smartschool": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:\\Users\\YourUsername\\path\\to\\Smartschool-MCP",
        "main.py"
      ],
      "env": {
        "SMARTSCHOOL_USERNAME": "your_username",
        "SMARTSCHOOL_PASSWORD": "your_password",
        "SMARTSCHOOL_MAIN_URL": "your-school.smartschool.be",
        "SMARTSCHOOL_MFA": "YYYY-MM-DD"
      }
    }
  }
}

Note: Replace C:\Users\YourUsername\path\to\Smartschool-MCP with the actual absolute path where you cloned the repository.

Config file locations:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Security Considerations

⚠️ Important Security Notes:

  • Your Smartschool credentials are stored in environment variables or configuration files
  • Never commit credentials to version control
  • Use environment variables or secure secret management in production
  • Consider using application-specific passwords if supported
  • The server only has read-only access to your Smartschool data
  • All communication happens locally between your AI assistant and the Smartschool API

Troubleshooting

Authentication Issues

  • Verify your credentials are correct
  • Ensure your MFA date (date of birth) is in the correct format: YYYY-MM-DD
  • Check that your school's URL is correct (without https://)

Connection Issues

  • Verify your internet connection
  • Check if Smartschool is accessible from your browser
  • Ensure no firewall is blocking the connection

Installation Issues

  • Make sure Python 3.13+ is installed
  • Verify uv is properly installed and in your PATH
  • Try running uv sync to reinstall dependencies

Development

Project Structure

Smartschool-MCP/
├── main.py              # Main MCP server implementation
├── pyproject.toml       # Project dependencies and metadata
├── README.md            # This file
└── uv.lock              # Locked dependencies

Dependencies

  • mcp[cli]>=1.9.4 - Model Context Protocol SDK
  • smartschool - Smartschool API wrapper (custom fork)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is open source and available under the MIT License.

Credits

Disclaimer

This is an unofficial tool and is not affiliated with, endorsed by, or connected to Smartschool or its parent company. Use at your own risk. Always ensure you comply with your school's terms of service and acceptable use policies.

Support

For issues, questions, or suggestions, please open an issue on GitHub.

Server Config

{
  "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"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Serper MCP ServerA Serper MCP Server
Playwright McpPlaywright MCP server
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
WindsurfThe new purpose-built IDE to harness magic
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
CursorThe AI Code Editor
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
DeepChatYour AI Partner on Desktop
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Tavily Mcp
Amap Maps高德地图官方 MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
ChatWiseThe second fastest AI chatbot™