Moscow School System n8n Custom Nodes
This repository contains custom n8n nodes for integrating with the Moscow School System (МЭШ) API.
🆕 Version 4.0.0 - Webshare Proxy Support
This version includes comprehensive Webshare proxy integration for cloud deployment, enhanced logging, and improved JSON parsing. Perfect for deploying n8n workflows on cloud servers outside Russia.
🎯 Features
- Student Information: Get student profile and basic info
- Schedule Management: Retrieve daily/weekly schedules
- Homework Tracking: Fetch homework assignments by date
- Marks/Grades: Get student marks for date ranges
- Webshare Proxy Support: Full proxy integration for cloud deployment
- Enhanced Logging: Comprehensive debugging and monitoring
- JSON Parsing: Automatic parsing of stringified JSON responses
🚀 Quick Start
1. Clone and Setup
git clone https://github.com/n8n-io/n8n-nodes-starter.git moscow-school-nodes
cd moscow-school-nodes
npm install2. Build the Nodes
npm run build3. Install in n8n
For Docker-based n8n:
# Copy built nodes to n8n custom directory
cp -r dist/* ~/.n8n/custom/For globally installed n8n:
npm install -g4. Restart n8n
Restart your n8n instance to load the new nodes.
📦 Available Nodes
1. Moscow School - Get Student Info
- Purpose: Retrieve student profile information
- Output: Student name, class, school, ID, etc.
2. Moscow School - Get Schedule
- Purpose: Get daily or weekly schedule
- Parameters: Date, student ID
- Output: Classes, times, rooms, teachers
3. Moscow School - Get Homework
- Purpose: Retrieve homework assignments
- Parameters: Date range, student ID
- Output: Homework list with descriptions and status
4. Moscow School - Get Marks
- Purpose: Access student grades
- Parameters: Date range, student ID
- Output: Marks with subjects, values, weights
5. Moscow School - Get Notifications
- Purpose: Get school notifications
- Parameters: Student ID
- Output: Recent notifications and updates
🔧 Configuration
Credentials Required
- Authentication Token: JWT token from Moscow School System
- Student ID: Your child's student ID (optional, can be auto-detected)
Getting Your Token
- Go to https://school.mos.ru
- Log in with your credentials
- Open browser Developer Tools (F12)
- Go to Network tab
- Look for API requests with Authorization headers
- Copy the JWT token
📝 Usage Examples
Basic Workflow: Daily Schedule Check
- Add "Moscow School - Get Schedule" node
- Configure with today's date
- Connect to notification node for alerts
Homework Monitoring
- Add "Moscow School - Get Homework" node
- Set date range (e.g., today to next week)
- Filter for pending assignments
- Send email/SMS notifications
Grade Tracking
- Add "Moscow School - Get Marks" node
- Set date range for recent period
- Process grades for analysis
- Generate reports
🛠️ Development
Project Structure
moscow-school-nodes/
├── nodes/ # Node implementations
│ ├── MoscowSchool.node.ts
│ └── ...
├── credentials/ # Credential types
│ └── MoscowSchoolApi.credentials.ts
├── package.json
└── README.mdAdding New Nodes
- Create new node file in
nodes/directory - Implement node logic following n8n patterns
- Add to
package.jsonexports - Build and test
📄 License
Private use only. Not for public distribution.
🤝 Support
For issues and questions, contact the repository maintainer.