Quizlar

Created By
quizlara month ago
Quizlar is the learning MCP server. It turns whatever source the user brings — a YouTube lecture, a PDF, a URL, a textbook passage, or a pasted block of notes — into flashcards, then runs interactive quizzes with FSRS spaced-repetition scheduling so the material actually sticks. Every tool maps one-to-one to something a real learner does: ingest, quiz, track progress, review what's due. Built as a voice-first tutor (LiveKit + Deepgram + ElevenLabs); the MCP surface exposes the same primitives the voice agent uses internally, so your agent gets production-grade grading, STT-aware answer parsing, and the same FSRS scheduler that powers the consumer app. Three use cases: 1. "Quiz me on X." Call quiz_me(topic) — a composite tool that builds the deck and starts the quiz in one step. Then loop submit_answer → end_quiz. Grading is tier-1 exact match → phonetic fuzz → short LLM fallback (the same pipeline that ships in the voice product). 2. Study from a YouTube lecture. create_deck_from_youtube pulls the transcript, clusters it into concepts, and generates cards proportional to the video length. Poll get_job_status, then run the quiz loop. 3. Daily spaced-repetition review. get_study_recommendations returns exactly the cards due under the user's FSRS schedule, prioritised across all decks. Quizlar is the scheduler of record — your agent executes the plan instead of reinventing one each session. Auth: Bearer token (sk-qz-<32 chars>) for headless installs, or full OAuth 2.1 / DCR / PKCE for one-click clients (Smithery, Claude Connector). Mint keys at https://quizlar.app/settings/api-keys. 22 tools total. Voice and text equal-status. Education-first.
Overview

Quizlar MCP Server

Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.

Quizlar's MCP server lets Claude, Cursor, Cline, Windsurf, or any MCP-compatible client:

  • Create flashcard decks from YouTube videos, PDFs, web pages, or pasted text
  • Run auto-graded quizzes with the same tier-1-exact-match → phonetic → LLM grading pipeline that powers the voice product
  • Track memory with FSRS spaced repetition — Quizlar is the scheduler of record, every answer updates real memory state

This repo is the public discovery surface (server.json for the Official MCP Registry + a stdio bundle for clients that need it). The hosted MCP server itself is closed-source and runs at https://mcp.quizlar.app/mcp/.

Listings

Setup

  1. Mint an API key at https://quizlar.app/settings/api-keys (format: sk-qz-<32 chars>).
  2. Pick your client below and paste the snippet.

Cursor

~/.cursor/mcp.json:

{
  "mcpServers": {
    "quizlar": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.quizlar.app/mcp/",
        "--header",
        "Authorization:Bearer ${QUIZLAR_API_KEY}"
      ],
      "env": { "QUIZLAR_API_KEY": "sk-qz-..." }
    }
  }
}

Windsurf

~/.codeium/windsurf/mcp_config.json — Windsurf supports Streamable HTTP natively, no wrapper needed:

{
  "mcpServers": {
    "quizlar": {
      "serverUrl": "https://mcp.quizlar.app/mcp/",
      "headers": { "Authorization": "Bearer ${QUIZLAR_API_KEY}" }
    }
  }
}

Then export QUIZLAR_API_KEY=sk-qz-... in your shell.

Claude Desktop

Open Settings → Connectors → "Add custom connector":

  • Name: Quizlar
  • URL: https://mcp.quizlar.app/mcp/
  • Add header → Name: Authorization, Value: Bearer sk-qz-...

Or edit claude_desktop_config.json directly using mcp-remote:

{
  "mcpServers": {
    "quizlar": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.quizlar.app/mcp/",
        "--header",
        "Authorization:Bearer ${QUIZLAR_API_KEY}"
      ],
      "env": { "QUIZLAR_API_KEY": "sk-qz-..." }
    }
  }
}

Cline

Edit cline_mcp_settings.json (Cline → Settings → MCP Servers → "Edit JSON"):

{
  "mcpServers": {
    "quizlar": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.quizlar.app/mcp/",
        "--header",
        "Authorization:Bearer ${QUIZLAR_API_KEY}"
      ],
      "env": { "QUIZLAR_API_KEY": "sk-qz-..." }
    }
  }
}

Detailed steps in llms-install.md.

Smithery

npx -y @smithery/cli@latest install @quizlar/quizlar --client claude

Replace claude with cursor, windsurf, etc. Smithery walks you through pasting your API key.

Tools

22 tools mapped 1:1 to learner verbs:

  • Ingest: create_deck_from_youtube, create_deck_from_pdf, create_deck_from_url, create_deck_from_text, import_shared_deck, get_job_status
  • Quiz: quiz_me (composite: build + start in one call), start_quiz, next_card, submit_answer, end_quiz
  • Review: get_study_recommendations, get_progress, get_streak, get_analytics
  • Manage: list_decks, get_deck, update_deck, delete_deck, add_card, update_card, get_user_profile, update_preferences

Auth

Bearer API key (sk-qz-<32 chars>) is the simplest path and works in every client snippet above. Quizlar also exposes full OAuth 2.1 with Dynamic Client Registration + PKCE at https://mcp.quizlar.app/.well-known/oauth-authorization-server for clients that prefer a browser flow.

License

MIT for this configuration repo. The hosted MCP server itself is proprietary.

Server Config

{
  "mcpServers": {
    "quizlar": {
      "url": "https://mcp.quizlar.app/mcp/",
      "headers": {
        "Authorization": "Bearer sk-qz-YOUR_API_KEY"
      }
    }
  }
}
Project Info
Created At
a month ago
Updated At
a month ago
Author Name
quizlar
Star
-
Language
-
License
-
Category

Recommend Servers

View All