Mashov MCP Server
Enables interaction with the Mashov school management system API, allowing retrieval of grades, schedule, messages, and more through natural language.
README
Mashov MCP Server
An MCP (Model Context Protocol) server for interacting with the Mashov school management system API.
Features
- š Get average of all grades
- š Get all grades in graph format (optionally filtered by subject)
- š Get average of Bagrut (matriculation) grades
- š« Get list of all schools
- šø Get user's profile picture
- š„ Get user's class list
- š¬ Get messages
- š Get schedule/timetable
Prerequisites
Choose one of the following:
Option 1: Docker (Recommended for Easy Setup) š³
- Docker installed (Get Docker)
- Mashov account credentials
Option 2: Python (For Development)
- Python 3.8 or higher
- uv (recommended) or pip
- Mashov account credentials
Installation
š³ Option 1: Using Docker (Recommended)
- Clone this repository:
git clone https://github.com/AmitMarcus/MashovMCP.git
cd MashovMCP
- Build the Docker image (required before using with MCP):
docker build -t mashov-mcp-server:latest .
ā ļø Important: You must build the image before configuring your MCP client.
- Verify the image was built:
docker images | grep mashov-mcp-server
You should see:
mashov-mcp-server latest ... ... ...
- Test it (optional):
docker run -i --rm \
-e MASHOV_USERNAME="your_username" \
-e MASHOV_PASSWORD="your_password" \
-e MASHOV_SEMEL="your_school_id" \
-e MASHOV_YEAR="2025" \
mashov-mcp-server:latest
š Option 2: Using Python + uv
- Clone this repository:
git clone https://github.com/AmitMarcus/MashovMCP.git
cd MashovMCP
- Install uv (if not already installed):
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
- Install dependencies:
uv pip install -e .
- Configure credentials:
cp env.example .env
# Edit .env with your Mashov credentials
Configuration
Create a .env file with your Mashov credentials:
MASHOV_USERNAME=your_username
MASHOV_PASSWORD=your_password
MASHOV_SEMEL=your_school_id
MASHOV_YEAR=2024
Usage
Testing the API (Without MCP)
Before using the MCP server, you can test the API client directly:
python test_api.py
This script will:
- Test authentication
- Test API endpoints
- Show detailed results
- Help debug API issues
This is useful for:
- Verifying your credentials work
- Debugging API endpoint issues
- Understanding the API response format
- Testing before integrating with MCP
Running the MCP Server
The server runs via stdio and communicates using the MCP protocol:
python mashov_mcp_server.py
MCP Client Configuration
To use this server with an MCP client (like Claude Desktop), add it to your MCP configuration file.
Option 1: Using Docker š³ (Recommended)
{
"mcpServers": {
"mashov": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "MASHOV_USERNAME=your_username",
"-e", "MASHOV_PASSWORD=your_password",
"-e", "MASHOV_SEMEL=your_school_id",
"-e", "MASHOV_YEAR=2025",
"mashov-mcp-server:latest"
]
}
}
}
Option 2: Using Python š
{
"mcpServers": {
"mashov": {
"command": "python",
"args": ["/absolute/path/to/MashovMCP/mashov_mcp_server.py"],
"env": {
"MASHOV_USERNAME": "your_username",
"MASHOV_PASSWORD": "your_password",
"MASHOV_SEMEL": "your_school_id",
"MASHOV_YEAR": "2025"
}
}
}
}
Available Tools
get_grades_average
Get the average of all grades for the authenticated user.
get_all_grades
Get all grades in graph format, optionally filtered by subject.
- Parameters:
subject(optional): Subject name to filter grades
get_bagrut_average
Get the average of all Bagrut (matriculation) grades.
get_schools
Get list of all available schools.
get_user_picture
Get the authenticated user's profile picture.
get_class_list
Get the user's class list.
get_messages
Get messages for the authenticated user.
- Parameters:
limit(optional): Maximum number of messages to retrieve (default: 10)
get_schedule
Get the user's schedule/timetable.
Project Structure
MashovMCP/
āāā mashov_mcp_server.py # Main MCP server implementation
āāā mashov_client.py # Mashov API client wrapper
āāā config.py # Configuration handling
āāā pyproject.toml # Project metadata and dependencies (uv/pip)
āāā Dockerfile # Docker image definition
āāā .dockerignore # Docker build exclusions
āāā test_api.py # API test script
āāā .gitignore # Git ignore rules
āāā env.example # Example environment configuration
āāā AUTHENTICATION.md # Authentication flow documentation
āāā LICENSE # MIT License
āāā README.md # This file
License
MIT License - see LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.