Semesters MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Semesters MCP ServerCreate a dyslexia-friendly button with comfort intent"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Semesters MCP Server
A specialized Model Context Protocol (MCP) server for building trauma-informed, dyslexia-friendly educational software. This server provides AI assistants with specialized tools for creating accessible learning applications that follow evidence-based educational methodologies.
Features
Dyslexia-Friendly UI Generation: Creates accessible components with OpenDyslexic fonts and high contrast
Trauma-Informed Content Review: Validates content against trauma-informed principles
Orton-Gillingham Activity Validation: Ensures activities follow OG methodology
Multisensory Phoneme Activities: Generates activities using multiple learning modalities
Code Safety Review: Reviews code for trauma-informed principles
Stress Detection Protocols: Generates protocols for handling learner stress
Engagement Activities: Creates intrinsically motivating learning experiences
Safety Validation: Checks engagement mechanics for potential trauma triggers
Related MCP server: Education AI MCP
Installation
Prerequisites
Node.js 18+
npm or yarn
TypeScript 5.0+
Setup
# Clone the repository
git clone <repository-url>
cd semesters-mcp-server
# Install dependencies
npm install
# Build the project
npm run buildMCP Configuration
To use this server with an MCP client (like Claude Desktop), add the following to your MCP configuration file:
{
"mcpServers": {
"semesters-dev": {
"command": "node",
"args": ["path/to/semesters-mcp-server/dist/index.js"],
"env": {}
}
}
}Replace path/to/semesters-mcp-server with the actual path to your installation.
Usage
The server runs via stdio and provides 8 specialized tools for educational software development:
generate_dyslexia_ui- Generate accessible UI componentsreview_trauma_content- Review content for trauma-informed languagevalidate_og_activity- Validate against Orton-Gillingham principlesgenerate_phoneme_activity- Create multisensory phoneme practicereview_code_safety- Review code for trauma-informed principlesgenerate_stress_protocol- Create stress detection/response protocolsgenerate_engagement_activity- Create intrinsically motivating activitiesvalidate_engagement_safety- Check engagement mechanics for safety
Development
npm run dev # Watch mode for development
npm run build # Build TypeScript to JavaScript
npm start # Run the built server
npm run clean # Clean build directoryTesting
The project includes a comprehensive test suite that exercises all available tools:
# Run the test suite
node test-tools.jsThe test script will:
List all available tools
Test each tool with sample inputs
Validate responses and error handling
Provide detailed output for debugging
API Reference
Tool Parameters
generate_dyslexia_ui
componentType: "button" | "text" | "input" | "card"content: String content for the componentintent: "primary" | "secondary" | "comfort" | "celebration"
review_trauma_content
content: Text content to reviewcontext: Optional context where content appears
validate_og_activity
activity: Activity object to validatetargetLevel: Target OG level (1-5)
generate_phoneme_activity
phoneme: Target phoneme to practicemodalities: Array of "visual" | "auditory" | "kinesthetic" | "tactile"
review_code_safety
code: Code to reviewlanguage: Programming language
generate_stress_protocol
triggerType: "behavioral" | "physiological" | "performance"severity: "mild" | "moderate" | "high"
generate_engagement_activity
phoneme: Target phoneme to practicetheme: "dragons" | "space" | "magic" | "animals" | "adventure" | "mystery"stressLevel: "low" | "medium" | "high"inputMethods: Array of "touch" | "voice" | "camera" | "microphone" | "bluetooth"
validate_engagement_safety
mechanic: Engagement mechanic to validatecontext: Context where mechanic would be used
Educational Principles
Trauma-Informed: No failure states, child agency, positive reinforcement
Dyslexia-Friendly: OpenDyslexic fonts, high contrast, generous spacing
Orton-Gillingham: Systematic, multisensory, sequential phonics instruction
Age-Appropriate: Sophisticated contexts for foundational skills (12+ years)
Technical Details
Runtime: Node.js with ES modules
Language: TypeScript 5.0+
Protocol: Model Context Protocol (MCP) via stdio
Dependencies: @modelcontextprotocol/sdk
Architecture: Single-file server with modular tool handlers
Contributing
When contributing to this project, please ensure:
All code follows trauma-informed principles
UI components are dyslexia-friendly
Educational content aligns with Orton-Gillingham methodology
Test coverage is maintained for new tools
Documentation is updated for API changes
License
MIT License - see package.json for details
Available Tools
8 toolsgenerate_dyslexia_uiB
Generate dyslexia-friendly UI components
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Visual intent of the component | |
| content | Yes | Content for the component | |
| componentType | Yes | Type of UI component to generate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the tool 'generates' UI components, which essentially restates the tool name. It does not describe output format, side effects, safety considerations, or limitations, offering minimal behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with zero wasted words. It is front-loaded with the verb and object, making it easy to scan. While brief, it avoids redundancy and is effectively structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations. The description is minimal, leaving unclear what the generate tool returns (e.g., code, markup, visual preview). It does not cover usage context or output expectations, so completeness is low for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already documented meaningfully. The description itself adds no parameter-level context, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'generate' with a specific object, 'dyslexia-friendly UI components', making the tool's purpose immediately clear. It distinguishes itself from sibling tools, which focus on activities, safety validation, and trauma content, by clearly targeting UI component generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or reference sibling tools, leaving the usage context entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_engagement_activityC
Generate intrinsically motivating learning activity
| Name | Required | Description | Default |
|---|---|---|---|
| theme | Yes | Story theme for engagement | |
| phoneme | Yes | Target phoneme to practice | |
| stressLevel | No | Current child stress level from Whoop | |
| inputMethods | Yes | Available device capabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the only source for behavioral disclosure. It only states that it generates an activity, but gives no details about output format, side effects, or what 'intrinsically motivating' entails. This is inadequate for a tool that creates something.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy, but it's also too sparse to be informative. While it's front-loaded, the lack of substantive content makes it under-specified rather than effectively concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, 2 enums, no output schema, and no annotations, the description should clarify what the generated activity looks like and when to use it. It doesn't, leaving significant context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter descriptions already exist for phoneme, theme, stressLevel, and inputMethods. The description adds no additional parameter semantics or relationships, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description provides a verb ('Generate') and a broad resource ('learning activity') but lacks specificity—it doesn't mention phoneme, theme, or input methods that define the tool. This vagueness fails to distinguish it from sibling tools like generate_phoneme_activity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description doesn't indicate when to use this tool over generate_phoneme_activity or other siblings, nor mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_phoneme_activityC
Generate multisensory phoneme practice activity
| Name | Required | Description | Default |
|---|---|---|---|
| phoneme | Yes | Target phoneme to practice | |
| modalities | Yes | Learning modalities to include |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It merely says 'Generate' without revealing output format, side effects, required permissions, or whether the operation is read-only or mutating. This leaves agent decision-making under-informed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant information. It is brief and immediately conveys the tool's core purpose, earning every word's place in the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description should explain what the generated 'activity' looks like or how it is returned, but it does not. The parameter schema is complete, yet the overall tool behavior remains under-specified, especially given the existence of overlapping sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters ('phoneme' and 'modalities' with a clear enum) at 100% coverage. The description adds no extra parameter semantics beyond using the word 'multisensory', which loosely maps to the modalities array but does not enhance the schema's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and resource ('phoneme practice activity'), clearly indicating what the tool produces. However, it does not distinguish this from the sibling tool 'generate_engagement_activity', which also generates an activity, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'generate_engagement_activity', nor any mention of prerequisites, exclusions, or specific contexts. The description only states what it does, not when it should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_stress_protocolB
Generate stress detection and response protocol
| Name | Required | Description | Default |
|---|---|---|---|
| severity | Yes | Stress severity level | |
| triggerType | Yes | Type of stress trigger to handle |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits such as side effects, permissions, or output format. It only states the action without any behavioral context, leaving the agent without information about what happens when the protocol is generated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly conveys the purpose without redundancy or filler. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description does not explain return values, usage context, or any additional behavioral details. For a tool with two required parameters, the description is too sparse to be fully actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both parameters (triggerType and severity) with enums and descriptions, so the schema carries the semantic load. The description adds no additional parameter information, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: generate a stress detection and response protocol. The verb 'generate' and specific resource distinguish it from sibling tools that target dyslexia UI, engagement activities, or phoneme activities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or sibling tools that might be more appropriate for certain cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_code_safetyC
Review code for trauma-informed principles
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Code to review | |
| language | No | Programming language |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior. It does not mention what checks are performed, whether the review is read-only, what output format to expect, or any side effects. This is a significant gap for a tool that reviews code.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and not wasteful, but it is overly terse. It conveys the core purpose but lacks any elaboration, making it under-specified rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a code review tool with a specific domain lens (trauma-informed principles) yet there is no output schema or description of the return value, criteria, or how the review is conducted. The description is far from complete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('code' and 'language') with brief descriptions. The tool description adds no further meaning or examples to these parameters, matching the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Review') and resource ('code') with a clear focus ('trauma-informed principles'). It distinguishes from siblings like review_trauma_content by targeting code specifically, though it does not explain what the review produces or how it differs from validate_engagement_safety.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives. There is no mention of prerequisites, best contexts, or why an agent should choose this over validate_engagement_safety or review_trauma_content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_trauma_contentB
Review content for trauma-informed language
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Text content to review | |
| context | No | Context where this content appears (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only says 'review', which hints at a non-mutating analysis, but does not describe what the tool returns, whether it modifies content, or any side effects. The description adds minimal value beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It is front-loaded with the action and object, making it easy to parse. However, its brevity sacrifices useful detail, which is a slight drawback.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations or output schema, the description must carry the full context. It does not explain what trauma-informed review entails, what the output format is, or how the optional context parameter affects the review. This is inadequate for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (content and context) described in the schema. The description does not add any additional meaning about how these parameters are used or their semantics, so it remains at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: reviewing content for trauma-informed language. It uses a specific verb ('review') and resource ('content') with a distinct focus, differentiating it from sibling tools like review_code_safety or generate_* activities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for assessing content for trauma-informed language, but provides no explicit guidance on when to choose this over sibling review/validation tools. No alternatives or exclusions are mentioned, so usage context is only inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_engagement_safetyC
Check if engagement mechanic might cause trauma or pressure
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Context where mechanic would be used | |
| mechanic | Yes | Engagement mechanic to validate |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It fails to state what the tool returns (e.g., a boolean, risk score, explanation), how it handles context, or any side effects. For a safety check, these details are essential but missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource, and contains no redundant words. It is concise and well-structured, though it suffers from underspecification rather than verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete for a safety-checking tool. It doesn't explain what happens after the check (e.g., success/failure, risk assessment), which is critical for an AI agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both 'context' and 'mechanic' described. The tool description adds no extra meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Check' and resource 'engagement mechanic', with a clear focus on trauma/pressure risk, which distinguishes it as a safety validation tool among siblings like generate_engagement_activity. However, it doesn't explicitly differentiate from review_trauma_content or review_code_safety, so it's clear but not fully sibling-differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like review_trauma_content, nor any prerequisites or context for invocation. It simply states what it does without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_og_activityB
Validate activity against Orton-Gillingham principles
| Name | Required | Description | Default |
|---|---|---|---|
| activity | Yes | Activity object to validate | |
| targetLevel | Yes | Target OG level (1-5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It says 'Validate' but does not describe the outcome (e.g., boolean, errors), side effects (if any), prerequisites for the activity object, or how 'targetLevel' influences validation. The behavioral traits beyond the verb are left entirely unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded and free of redundancy. It is appropriately concise for a seemingly simple validation tool, though it omits details that would require additional sentences. The brevity is a positive for this dimension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and a nested object parameter, the description is insufficiently complete. It does not disclose return values, validation criteria, required activity structure, or any error handling. For a tool that validates based on OG principles, the absence of any detail about what makes an activity valid is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for both parameters (activity object, targetLevel 1-5), achieving 100% schema coverage. The description adds no extra meaning beyond what the schema already states, so the baseline score of 3 is appropriate. It does not elaborate on what 'OG principles' entail or how targetLevel is used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: validating an activity against Orton-Gillingham principles. It uses a specific verb ('validate') and a specific domain (OG principles), which distinguishes it from sibling tools like 'validate_engagement_safety' and generation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. Sibling tools include generators and other validators, but the description does not specify whether this should be used after generation or how it differs from 'validate_engagement_safety'. The intended use case is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.0- First observed
generate_dyslexia_ui - First observed
generate_engagement_activity - First observed
generate_phoneme_activity - First observed
generate_stress_protocol - First observed
review_code_safety - First observed
review_trauma_content - First observed
validate_engagement_safety - First observed
validate_og_activity
TDQS
Scored across 8 tools
Most tools have distinct targets (UI vs activity vs protocol), but review_trauma_content and validate_engagement_safety both address trauma-related concerns, which could cause some confusion. The descriptions likely clarify the difference, but the boundaries are slightly fuzzy.
All tool names follow a consistent verb_noun pattern in snake_case (generate_*, validate_*, review_*). The actions are clear and predictable, making it easy to understand what each tool does.
With 8 tools, the server is well-scoped for its apparent purpose of generating and validating dyslexia-friendly, trauma-informed educational content. Each tool addresses a specific aspect of the workflow, and none feels redundant or unnecessary.
The tool surface covers generation, validation, and review for the core domain, but lacks tools for updating or managing existing activities/content. However, for a generator-focused server, the missing pieces are minor and can be worked around externally.
Maintenance
Related MCP Connectors
Makuri (EU AI tutoring for immigrant children): 11 tools, 2 interactive panels, no user data.
AI-powered LMS course builder: 89 tools, 17 skills, SCORM/xAPI export, agentic UI
Create, edit, translate, and export SCORM eLearning modules from a connected AI assistant.
Accessibility compliance for AI coding tools. WCAG 2.2 reviews with shared evidence.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides AI assistants with tools to grade, generate, and validate UI components against the components.build specification. Supports searching documentation, checking compliance, and generating framework-agnostic accessible components.116 npmApache 2.0
- AlicenseAqualityBmaintenanceProvides AI-powered educational tools for teachers including lesson planning, quiz creation, student progress analysis, learning path recommendations, and rubric generation. Enables educators to automate administrative tasks and personalize learning experiences through natural language interactions.58 npm98 PyPIMIT
- FlicenseNot gradedqualityDmaintenanceEnables generation of educational content like MCQs, lesson plans, and flashcards without relying on external LLMs, fully offline and compatible with Claude Desktop.4-
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered educational content generation, including multiple-choice questions and lesson plans, through a modular command platform.9-