- Home
- MCP servers
- Dnevnik
Dnevnik
- python
1
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"yasg1988-dnevnik-mcp-server": {
"command": "python",
"args": [
"C:/path/to/dnevnik-mcp-server/server.py"
],
"env": {
"DNEVNIK_TOKEN": "ваш_токен",
"DNEVNIK_GROUP_ID": "1234567890",
"DNEVNIK_PERSON_ID": "1234567890",
"DNEVNIK_SCHOOL_ID": "1234567890"
}
}
}
}This MCP server enables AI assistants to access students’ schedules, grades, and assignments from a Dnevnik.ru account. It exposes a set of practical tools that let you query class context, daily activities, and school data, making it easier for your assistant to respond with up-to-date information.
How to use
You interact with the MCP server through a client that can call the provided tools. Start by authenticating and ensuring your server is running with the correct token and identifiers. Then, request information using the appropriate tool names. For example, ask your assistant to show a student’s schedule, fetch current marks, or retrieve homework for the week. The tools are designed to return structured information that your client can display in a friendly way.
Key workflows you can perform include:
To illustrate, you can ask your assistant to: show tomorrow’s schedule, or fetch the last week’s grades by using the corresponding tools. The MCP server translates your requests into tool calls and returns readable results suitable for display in your UI.
How to install
# Prerequisites
python --version
python3 -m pip install --upgrade pip
# Clone the MCP server project
# (This part is shown for context; your actual path may vary)
git clone https://github.com/yasg1988/dnevnik-mcp-server.git
cd dnevnik-mcp-server
# Install dependencies
pip install -r requirements.txt
# Create configuration
cp config.example.json config.json
# Edit config.json to add the token and IDs
Next, run the MCP server using the configuration you prepared. You will start a Python process pointed at the server entry script with the appropriate environment variables.
Configuration and runtime environment
The server requires an access token and identifiers for your Dnevnik.ru account. You configure these values as environment variables when starting the server or by placing them in the provided config.json. The example shows how to set these values for a Claude Desktop integration.
{
"mcpServers": {
"dnevnik": {
"command": "python",
"args": ["C:/path/to/dnevnik-mcp-server/server.py"],
"env": {
"DNEVNIK_TOKEN": "your_token_here",
"DNEVNIK_PERSON_ID": "1234567890",
"DNEVNIK_SCHOOL_ID": "1234567890",
"DNEVNIK_GROUP_ID": "1234567890"
}
}
}
}
Examples of tools and their use
The server provides a suite of tools to access different data aspects. Here is a quick reference of tool names and their purpose so you can craft effective requests through your MCP client.
User and context information: get_user_info, get_context — fetches current user data and school context.
Schedule: get_schedule, get_schedule_today, get_schedule_week — obtain schedules for a period, today, or a week.
Marks: get_marks, get_marks_recent, get_final_marks, get_average_marks — retrieve current, recent, final, and average marks by subject.
Homework: get_homework, get_homework_week — tasks for a period or the current week.
Class and school: get_classmates, get_teachers, get_subjects, get_school_groups — class peers, teachers, subjects, and school-wide classes (administrative).
Attendance: get_attendance, set_attendance — attendance records for a period and marking attendance by teachers.
Security and access notes
Protect your access token and identifiers. Store them securely and restrict access to the MCP server instance. Rotate tokens as needed and ensure that only trusted clients can invoke the tools.
Available tools
get_user_info
Fetches information about the current user such as name and role.
get_context
Retrieve the user’s school context including schools, classes, and groups.
get_schedule
Get a schedule for a specified period.
get_schedule_today
Get today’s schedule.
get_schedule_week
Get the schedule for the current week.
get_marks
Retrieve marks for a defined period.
get_marks_recent
Retrieve the most recent marks (e.g., last 7 days).
get_final_marks
Retrieve final grades for subjects or terms.
get_average_marks
Compute average marks per subject.
get_homework
Fetch homework for a given period.
get_homework_week
Fetch homework for the current week.
get_classmates
List classmates in the same class.
get_teachers
List teachers for the class.
get_subjects
List subjects for the class.
get_school_groups
List all classes in the school (administrative use).
get_attendance
Fetch attendance records for a period.
set_attendance
Mark attendance (teacher action).