Student MCP Server
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides containerized deployment option for the Student MCP Server, enabling portable and consistent environments across different systems.
Allows installation of the MCP server directly from GitHub repositories for easy deployment and updates.
Enables installation and management of the Student MCP Server through the npm package manager, supporting both global installation and npx execution.
Student MCP Server
An MCP server implementation that provides tools for managing student knowledge graphs, enabling structured representation of courses, assignments, exams, concepts, and study resources. This server helps students track their academic progress, manage deadlines, and optimize their learning journey.
Features
- Persistent Educational Context: Maintain a structured knowledge graph of educational entities and relationships across multiple sessions
- Study Session Management: Track study sessions with unique IDs and record progress over time
- Course Management: Organize courses, lectures, assignments, and exams in a structured format
- Concept Mapping: Connect learning concepts to show relationships and prerequisites
- Assignment Tracking: Monitor assignment status, due dates, and related resources
- Exam Preparation: Track exam dates and organize study materials
- Deadline Management: Keep track of upcoming due dates for assignments and exams
- Resource Organization: Connect learning resources to specific courses and concepts
- Progress Monitoring: Track completion status of courses, assignments, and exams
- Knowledge Connections: Visualize relationships between different educational concepts
Entities
The Student MCP Server recognizes the following entity types:
- course: Academic courses being taken
- assignment: Homework, projects, and other submitted work
- exam: Tests, quizzes, and other assessments
- concept: Knowledge topics and learning objectives
- resource: Textbooks, articles, videos, and other learning materials
- note: Personal study notes and observations
- lecture: Individual class sessions
- project: Larger educational projects or undertakings
- question: Specific questions for study or review
- term: Academic terms or semesters
- goal: Learning objectives and targets
- professor: Course instructors and teachers
- status: Entity status values (active, completed, pending, abandoned)
- priority: Priority level values (high, low)
Relationships
Entities can be connected through the following relationship types:
- enrolled_in: Student is taking a course
- assigned_in: Assignment is part of a course
- due_on: Assignment/exam has specific due date
- covers: Lecture/resource covers concept
- references: Note references concept
- prerequisite_for: Concept is foundation for another
- taught_by: Course taught by professor
- scheduled_for: Lecture/exam scheduled for specific time
- contains: Course contains lectures/assignments
- requires: Assignment requires specific concepts
- related_to: Concept related to another concept
- created_for: Note created for specific lecture
- studies: Study session focuses on concept/exam
- helps_with: Resource helps with assignment/concept
- submitted: Assignment submitted on date
- part_of: Entity is part of another entity
- included_in: Included in a larger component
- follows: Entity follows another in sequence
- attends: Student attends lecture
- graded_with: Assignment/exam graded with specific criteria
- has_status: Links entities to their current status (active, completed, pending, abandoned)
- has_priority: Links entities to their priority level (high, low)
- precedes: Indicates that one task or assignment comes before another in a sequence
Status and Priority Management
The Student MCP Server provides comprehensive status and priority tracking capabilities:
- Status Values:
- active: Currently being worked on or studied
- completed: Finished or successfully submitted
- pending: Not yet started but planned
- abandoned: No longer being pursued
- Priority Values:
- high: Requires immediate attention or has significant impact on grades
- low: Can be addressed after higher priority items are complete
- Sequential Learning Management:
- Define which assignments or concepts must be completed before others
- Organize study activities in a logical progression
- Create dependencies between related learning tasks
- Build structured learning paths through course material
Available Tools
The Student MCP Server provides these tools for interacting with educational knowledge:
startsession
Starts a new study session, generating a unique session ID and displaying current courses, upcoming deadlines, recently studied concepts, and past study sessions. Shows status information via has_status relations, priority levels via has_priority relations, and identifies assignments ready to be worked on next based on sequential dependencies.
loadcontext
Loads detailed context for a specific entity (course, assignment, etc.), displaying relevant information based on entity type. Includes status information, priority levels, and sequential relationships between related entities.
endsession
Records the results of a study session through a structured, multi-stage process:
- summary: Records session summary, duration, and course focus
- conceptsLearned: Documents concepts studied during the session
- assignmentUpdates: Tracks updates to assignments
- statusUpdates: Records changes to entity status values
- courseStatus: Updates overall course status, priority assignments, and sequential relationships
- newConcepts: Records new concepts learned during the session
- assembly: Final assembly of all session data
buildcontext
Creates new entities, relations, or observations in the knowledge graph:
- entities: Add new educational entities (courses, assignments, concepts, status, priority, etc.)
- relations: Create relationships between entities (including has_status, has_priority, precedes)
- observations: Add observations to existing entities
deletecontext
Removes entities, relations, or observations from the knowledge graph:
- entities: Remove educational entities
- relations: Remove relationships between entities (including status, priority, and sequential relations)
- observations: Remove specific observations from entities
advancedcontext
Retrieves information from the knowledge graph:
- graph: Get the entire knowledge graph
- search: Search for nodes based on query criteria
- nodes: Get specific nodes by name
- course: Get details about a specific course
- deadlines: Get upcoming deadlines
- assignment: Get details about a specific assignment
- exam: Get details about a specific exam
- concepts: Get information about concepts
- lecture: Get information about lectures
- term: Get details about an academic term
- status: Find entities with a specific status value
- priority: Find entities with a specific priority value
- sequence: Identify sequential relationships for learning activities
Domain-Specific Functions
The Student MCP Server includes specialized domain functions for education:
- getCourseOverview: Comprehensive view of a course including lectures, assignments, exams, and resources
- getUpcomingDeadlines: Find assignments and exams with approaching due dates
- getAssignmentStatus: Get detailed status of assignments, including progress and related concepts
- getExamPrep: Get exam preparation materials and related concepts
- findRelatedConcepts: Discover connections between different educational concepts
- getStudyProgress: Track study progress across courses
- getTermOverview: Get overview of courses and work for an academic term
- getConceptMastery: Assess level of understanding for specific concepts
- getStatusOverview: View all entities with a specific status (active, completed, pending, abandoned)
- getPriorityItems: Identify high-priority assignments and study tasks
- getLearningSequence: Visualize the sequence of learning activities based on precedes relations
Example Prompts
Starting a Session
Loading Course Context
Recording Study Progress
Managing Learning Materials
Usage
This MCP server enables students to:
- Maintain Study Continuity: Keep track of what you've learned across multiple study sessions
- Optimize Learning Time: Focus on high-priority assignments and concepts
- Track Academic Progress: Monitor completion of courses, assignments, and mastery of concepts
- Prepare for Exams: Organize study materials and track progress towards exam readiness
- Manage Deadlines: Stay on top of upcoming due dates for assignments and exams
- Connect Knowledge: See relationships between different concepts across courses
- Prioritize Work: Focus on high-priority assignments and learning tasks
- Structure Learning: Create logical sequences for learning related concepts
- Track Status: Monitor the status of assignments, projects, and learning activities
Configuration
Usage with Claude Desktop
Add this to your claude_desktop_config.json
:
Install from GitHub and run with npx
Install globally and run directly
First, install the package globally:
Then configure Claude Desktop:
docker
Building
From Source
Docker:
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Environment Variables
The Student MCP Server supports the following environment variables to customize where data is stored:
- MEMORY_FILE_PATH: Path where the knowledge graph data will be stored
- Can be absolute or relative (relative paths use current working directory)
- Default:
./student/memory.json
- SESSIONS_FILE_PATH: Path where session data will be stored
- Can be absolute or relative (relative paths use current working directory)
- Default:
./student/sessions.json
Example usage:
This server cannot be installed
Provides tools for managing student knowledge graphs, enabling structured representation of courses, assignments, exams, concepts, and study resources.