Skip to main content
Glama
LaurenWeickert

Semesters MCP Server

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 build

MCP 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:

  1. generate_dyslexia_ui - Generate accessible UI components

  2. review_trauma_content - Review content for trauma-informed language

  3. validate_og_activity - Validate against Orton-Gillingham principles

  4. generate_phoneme_activity - Create multisensory phoneme practice

  5. review_code_safety - Review code for trauma-informed principles

  6. generate_stress_protocol - Create stress detection/response protocols

  7. generate_engagement_activity - Create intrinsically motivating activities

  8. validate_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 directory

Testing

The project includes a comprehensive test suite that exercises all available tools:

# Run the test suite
node test-tools.js

The 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 component

  • intent: "primary" | "secondary" | "comfort" | "celebration"

review_trauma_content

  • content: Text content to review

  • context: Optional context where content appears

validate_og_activity

  • activity: Activity object to validate

  • targetLevel: Target OG level (1-5)

generate_phoneme_activity

  • phoneme: Target phoneme to practice

  • modalities: Array of "visual" | "auditory" | "kinesthetic" | "tactile"

review_code_safety

  • code: Code to review

  • language: Programming language

generate_stress_protocol

  • triggerType: "behavioral" | "physiological" | "performance"

  • severity: "mild" | "moderate" | "high"

generate_engagement_activity

  • phoneme: Target phoneme to practice

  • theme: "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 validate

  • context: 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:

  1. All code follows trauma-informed principles

  2. UI components are dyslexia-friendly

  3. Educational content aligns with Orton-Gillingham methodology

  4. Test coverage is maintained for new tools

  5. Documentation is updated for API changes

License

MIT License - see package.json for details

Available Tools

8 tools
generate_dyslexia_uiB

Generate dyslexia-friendly UI components

ParametersJSON Schema
NameRequiredDescriptionDefault
intentNoVisual intent of the component
contentYesContent for the component
componentTypeYesType of UI component to generate

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
themeYesStory theme for engagement
phonemeYesTarget phoneme to practice
stressLevelNoCurrent child stress level from Whoop
inputMethodsYesAvailable device capabilities

TDQS

C2.5/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
phonemeYesTarget phoneme to practice
modalitiesYesLearning modalities to include

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
severityYesStress severity level
triggerTypeYesType of stress trigger to handle

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCode to review
languageNoProgramming language

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesText content to review
contextNoContext where this content appears (optional)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoContext where mechanic would be used
mechanicYesEngagement mechanic to validate

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
activityYesActivity object to validate
targetLevelYesTarget OG level (1-5)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 8 tool updatesv1.0.0
    • First observedgenerate_dyslexia_ui
    • First observedgenerate_engagement_activity
    • First observedgenerate_phoneme_activity
    • First observedgenerate_stress_protocol
    • First observedreview_code_safety
    • First observedreview_trauma_content
    • First observedvalidate_engagement_safety
    • First observedvalidate_og_activity

TDQS

B3.3/5.0

Scored across 8 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides 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.
    11
    6 npm
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Provides 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.
    5
    8 npm
    98 PyPI
    MIT