Mashov MCP服务器
  ](https://www.docker.com/)
用于与Mashov学校管理系统API交互的MCP(模型上下文协议)服务器。
特性
- 📊 获得所有成绩的平均值
- 📈 以图表形式获取所有成绩(可选择按科目筛选)
- 🎓 获得Bagrut(预科)成绩的平均值
- 🏫 获取所有学校的列表
- 📸 获取用户的个人资料图片
- 👥 获取用户的类列表
- 💬 获取消息
- 📅 获取时间表
先决条件
选择以下选项之一:
选项1:Docker(建议用于轻松设置)🐳
- Docker已安装()
- Mashov帐户凭据
选项2:Python(用于开发)
- Python 3.8或更高版本
- 紫外线 (推荐)或pip
- Mashov帐户凭据
安装
🐳 选项1:使用Docker(推荐)
- 克隆此存储库:
git clone https://github.com/AmitMarcus/MashovMCP.git
cd MashovMCP- 构建Docker镜像 (与MCP一起使用前需要):
docker build -t mashov-mcp-server:latest .⚠️ 重要:在配置MCP客户端之前,您必须构建映像。
- 验证图像是否已构建:
docker images | grep mashov-mcp-server您应该看到:
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:latest🐍 选项2:使用Python+uv
- 克隆此存储库:
git clone https://github.com/AmitMarcus/MashovMCP.git
cd MashovMCP- 安装uv (如果尚未安装):
# 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 credentials配置
创建一个 .env 使用您的Mashov凭据文件:
MASHOV_USERNAME=your_username
MASHOV_PASSWORD=your_password
MASHOV_SEMEL=your_school_id
MASHOV_YEAR=2024用法
测试API(无MCP)
在使用MCP服务器之前,您可以直接测试API客户端:
python test_api.py此脚本将:
- 测试身份验证
- 测试API端点
- 显示详细结果
- 帮助调试API问题
这有助于:
- 验证您的凭据是否有效
- 调试API端点问题
- 了解API响应格式
- 与MCP集成前的测试
运行MCP服务器
服务器通过stdio运行,并使用MCP协议进行通信:
python mashov_mcp_server.pyMCP客户端配置
要将此服务器与MCP客户端(如Claude Desktop)一起使用,请将其添加到MCP配置文件中。
选项1:使用Docker🐳 (推荐)
{
"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"
]
}
}
}选项2:使用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_average
获取经过身份验证的用户的所有成绩的平均值。
get_all_grades
以图表形式获取所有成绩,可选择按科目过滤。
- 参数:
- subject (可选):主题名称过滤等级
get_bagrut_average
计算所有巴格鲁特(预科)成绩的平均值。
get_schools
获取所有可用学校的列表。
get_user_picture
获取经过身份验证的用户的个人资料图片。
get_class_list
获取用户的类列表。
get_messages
获取已验证用户的消息。
- 参数:
- limit (可选):要检索的最大邮件数(默认值:10)
get_schedule
获取用户的日程/时间表。
项目结构
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许可证
MIT许可证-请参阅 许可证 详细信息文件
贡献
欢迎投稿!请随时提交拉取请求。
