Mashovmcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mashovmcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server for interacting with the Mashov school management system API.
Choose one of the following:
git clone https://github.com/AmitMarcus/MashovMCP.git
cd MashovMCPdocker build -t mashov-mcp-server:latest .⚠️ Important: You must build the image before configuring your MCP client.
docker images | grep mashov-mcp-serverYou should see:
mashov-mcp-server latest ... ... ...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:latestgit clone https://github.com/AmitMarcus/MashovMCP.git
cd MashovMCP# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"uv pip install -e .cp env.example .env
# Edit .env with your Mashov credentialsCreate a .env file with your Mashov credentials:
MASHOV_USERNAME=your_username
MASHOV_PASSWORD=your_password
MASHOV_SEMEL=your_school_id
MASHOV_YEAR=2024Before using the MCP server, you can test the API client directly:
python test_api.pyThis script will:
This is useful for:
The server runs via stdio and communicates using the MCP protocol:
python mashov_mcp_server.pyTo 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"
}
}
}
}get_grades_averageGet the average of all grades for the authenticated user.
get_all_gradesGet all grades in graph format, optionally filtered by subject.
subject (optional): Subject name to filter gradesget_bagrut_averageGet the average of all Bagrut (matriculation) grades.
get_schoolsGet list of all available schools.
get_user_pictureGet the authenticated user's profile picture.
get_class_listGet the user's class list.
get_messagesGet messages for the authenticated user.
limit (optional): Maximum number of messages to retrieve (default: 10)get_scheduleGet the user's schedule/timetable.
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 fileMIT License - see LICENSE file for details
Contributions are welcome! Please feel free to submit a Pull Request.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.