Sponsored by Deepsite.site

Mcp Quiz Generator

Created By
kkjzio4 months ago
A quiz generator server based on Model Context Protocol (MCP) that generates Markdown questions according to requirements and converts them into HTML and Word format quiz files.
Content

chinese README in here:

README_ZH.md

MCP Quiz Generator

A quiz generator server based on Model Context Protocol (MCP) that generates Markdown questions according to requirements and converts them into HTML and Word format quiz files.

Features

  • 🎯 Support for multiple question types: single choice, multiple choice, true/false, short answer
  • 📄 Generate interactive HTML quiz files
  • 📝 Generate Word format quiz files (including answer key and student versions)
  • 🔧 Based on MCP protocol, integrates with editors like Cursor, VSCode
  • ⚡ Fast dependency management using uv

Supported Question Formats

Single Choice Questions

1. Which testing automation frameworks has MaxSoft developed?
    - [x] IntelliAPI  (Correct answer marked with [x])
    - [ ] WebBot      (Incorrect answer marked with [ ])
    - [ ] Gauge
    - [ ] Selenium

Multiple Choice Questions

2. Which testing automation frameworks has MaxSoft developed?
    - [x] IntelliAPI  (Multiple correct answers all marked with [x])
    - [x] WebBot      
    - [ ] Gauge       (Incorrect answer marked with [ ])
    - [ ] Selenium

True/False Questions

3. MaxSoft is a software company.
    - (x) True        (Correct answer marked with (x))
    - ( ) False       (Incorrect answer marked with ( ))

Short Answer Questions

4. Who is the co-founder of MaxSoft?
    - R:= Osanda      (Answer marked with R:= followed by correct answer)

Installation and Setup

Prerequisites

  • Python 3.10 or higher
  • uv package manager

Configuring MCP in Cursor/VSCode

  1. Create MCP configuration file:

    In Cursor/VSCode, open MCP settings and add the following configuration:

    {
      "mcpServers": {
        "mcp-quiz-generator": {
          "command": "uvx",
          "args": ["mcp-quiz-generator" , "--output-folder" , "{output-folder-path}"]
        }
      }
    }
    

Note: Replace {output-folder-path} with the storage path for generated files.

Method 2: Using Python directly

  1. First ensure dependencies are installed:

    uv sync
    
  2. Add to MCP configuration:

    {
      "mcpServers": {
        "mcp-quiz-generator": {
          "command": "/path/to/mcp-quiz-generator/.venv/bin/python",
          "args": ["run", "mcp-quiz-generator" , "--output-folder" , "{output-folder-path}"]
        }
      }
    }
    

Note: Replace {output-folder-path} with the storage path for generated files.

Tool Parameters

  • markdown_content: Quiz content in Markdown format
  • format_type: Output format
    • "html": Generate HTML file only
    • "word": Generate Word file only
    • "both": Generate both HTML and Word files (default)
  • custom_filename: Custom filename (optional, without extension)

Output Files

If the --output-folder parameter is not used, generated files will be saved in the data/ directory by default:

  • HTML file: Interactive quiz with online answering support

  • image-20250826102712411

  • Word files:

    image-20250826102752443

  • *_quiz.docx: Student version (without answers)

  • *_answer_key.docx: Teacher version (with answers and markings)

Project Structure

mcp-quiz-generator/
├── src/
│   └── quiz_mcp/
│       ├── __init__.py
│       ├── server.py          # MCP server main file
│       └── app/               # Application module directory
│           ├── extensions/    # Markdown extensions
│           └── static/        # Static resource files
├── data/                      # Output file directory (default)
├── pyproject.toml            # Project configuration
├── uv.lock                   # Dependency lock file
└── README.md                 # Project documentation

Troubleshooting

Common Issues

  1. uv command not found

    • Ensure uv is properly installed and added to PATH
    • Restart terminal or editor
  2. MCP server connection failed

    • Check if paths in configuration file are correct
    • Ensure virtual environment is created: uv sync
    • Check editor's MCP logs for detailed error information
  3. Generated file format is incorrect

    • Check if Markdown content follows specified format
    • Ensure options have correct indentation (4 spaces)

--output-folder Parameter Description

The --output-folder parameter is used to specify the output directory for generated quiz files.

Syntax:

uv run mcp-quiz-generator --output-folder <directory-path>

Parameter Description:

  • <directory-path>: Specifies the directory path for output files
  • Default value: data (if this parameter is not specified, files will be saved to data/ directory)
  • If the specified directory doesn't exist, the program will create it automatically

Usage Examples:

# Use default output directory (data/)
uv run mcp-quiz-generator

# Specify custom output directory
uv run mcp-quiz-generator --output-folder ./my_quizzes

# Specify absolute path
uv run mcp-quiz-generator --output-folder /home/user/quiz_files

# Specify relative path
uv run mcp-quiz-generator --output-folder ../output

Usage Example

Complete Conversation Example: Generating Prompt Engineering Quiz

Here's a complete usage example showing how to generate a quiz about Prompt Engineering through an AI assistant:

User Question:

Q: give me some quiz about Prompt Engineering then generate word and html file

AI Assistant Response:

Of course, I can generate a quiz about Prompt Engineering for you. Here are a few questions. I will then use a tool to generate the Word and HTML files.

Here is the quiz content:

#### Single Choice Questions

1. What is a core principle of prompt engineering?
   -  Using the shortest prompt possible.
   -  Providing clear and specific instructions.
   -  Using complex vocabulary.
   -  Always asking for a single-word answer.

#### Multiple Choice Questions

1. Which of the following are common prompt engineering techniques?
   -  Zero-shot prompting
   -  Few-shot prompting
   -  Chain-of-thought prompting
   -  Random word generation

#### True/False Questions

1. "Few-shot prompting" involves giving the model several examples before asking the final question.
   - (x) True
   - ( ) False

#### Short Answer Questions

1. What technique encourages a model to explain its reasoning step-by-step before giving a final answer?
   - R:= Chain-of-thought prompting

Now, let me generate the files for you.

(mcp-quiz-generator : generate_quiz completed)

I have generated the quiz files for you in both Word and HTML formats. Here are the files that have been created:

- **HTML (Interactive Quiz):** `{output-folder-path}\Prompt_Engineering_Quiz.html`
- **Word (Quiz for students):** `{output-folder-path}\Prompt_Engineering_Quiz_quiz.docx`
- **Word (Answer Key):** `{output-folder-path}\Prompt_Engineering_Quiz_answer_key.docx`

Let me know if you need anything else

License

MIT License

Contributing

Issues and Pull Requests are welcome!

Reference

https://github.com/osandadeshan/markdown-quiz-generator

Changelog

v0.1.0

  • Initial release
  • Support for basic quiz generation functionality
  • Support for HTML and Word format output
  • MCP protocol integration

v0.1.1

  • Fix missing files from the app folder in the package

Server Config

{
  "mcpServers": {
    "mcp-quiz-generator": {
      "command": "uvx",
      "args": [
        "mcp-quiz-generator",
        "--output-folder",
        "{output-folder-path}"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
DeepChatYour AI Partner on Desktop
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
WindsurfThe new purpose-built IDE to harness magic
Playwright McpPlaywright MCP server
Tavily Mcp
ChatWiseThe second fastest AI chatbot™
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Amap Maps高德地图官方 MCP Server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Serper MCP ServerA Serper MCP Server
CursorThe AI Code Editor
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs