Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Wicker Study Mcp

БесплатноПоддерживается

MCP server for Wicker Study: read course material and a student's academic record, study on their behalf, collect a private Canvas course snapshot, and — with a

GitHubEmbed

Описание

MCP server for Wicker Study: read course material and a student's academic record, study on their behalf, collect a private Canvas course snapshot, and — with an admin key — run the editorial workflow.

README

Wicker Study connects a student's programme, academic results, timetable and Canvas courses to a private study workspace. It includes versioned course material, practice, assignment briefs, attendance, project progress and a persistent Tutor. The maintained editorial library includes Statistics, Algorithmic Design, Embedded Programming, Computer Security and Numerical Methods; connected Canvas editions extend that library without mixing historical retakes into current rules.

Built with Next.js App Router, React, TypeScript and a Node API, with Clerk authentication and Neon storage. Vercel runs the web/API deployment and durable Canvas queue tasks. Local AI clients use the same account through MCP 2.9; individual writes require explicit confirmation. Preferences and availability can be shared with Tutor, and API-key requests are visible in Settings → AI activity.

The public site is available at /, with product information at /about, the maintained catalogue at /courses, and the current privacy notice and terms at /privacy and /terms. Authentication is a separate /sign-in surface; the signed-in product lives at /app.

For production setup and the content authoring workflow, see Hosted architecture and Content pipeline. Current deployment and agent workflows: Deployment separation, MCP and confirmed writes, Canvas collection, and AI activity.


Quick start

git clone https://github.com/davidwickerhf/exam-study-platform.git
cd exam-study-platform
npm install
npm run setup     # interactive: detects providers, picks one, seeds state
npm run dev       # Next.js + API server at http://localhost:4177

That's it. npm run setup is idempotent — re-run any time to switch LLM provider, paste a new API key, or reset cache directories.

After the first start, the only command you need to launch it again is:

npm start

Prerequisites

  • Node.js 22+ — the server uses ESM and the global fetch. macOS users with Volta or nvm are set; otherwise grab a build from nodejs.org.
  • One LLM provider — pick at setup time:
    • Codex CLI — an installed Codex command-line client.
    • Claude CLInpm install -g @anthropic-ai/claude-code then claude login.
    • OpenAI API key — recommended for hosted deployments; create a project or service-account key at platform.openai.com.
    • Anthropic API key — Most universal option. Get one at console.anthropic.com; setup will prompt for it.

You can also use the platform with no provider — chapter reading, published question banks, flashcards, and local answer checks still work. Only grounded tutor chat and personal extra exercises need an LLM.

What you get out of the box

Everything below is shipped in the repo and ready to use immediately, no generation required:

Surface Pre-loaded content
Chapter notes ~50 chapters of markdown, every diagram inlined as SVG
Mock exam PDFs 11 past papers across the 5 courses, with solutions where available
Tutorials (Computer Security only) 8 tutorial sheets, with solutions where available
Practice exam parsing All papers + tutorials pre-parsed into individual questions with model answers (~190 questions in the tutorials alone)
Mock question bank 303 AI-generated questions across the 5 courses, tagged by chapter + topic
Flashcards 743 cards across all 5 courses
PDF outlines All shipped PDFs come with their content TOC pre-built

Course-team content is read-only in the student UI. Students can add their own flashcards and request quota-limited personal extra exercises.

File layout

exam-study-platform/
├── content/                  # course materials (copied from vault)
│   ├── BCS1520 Statistics Knowledge Base/
│   ├── BCS1540 Algorithmic Design Knowledge Base/
│   └── ...
├── data/
│   ├── study-state.template.json   # ← committed: shared course definitions
│   ├── study-state.json            # ← gitignored: your progress
│   ├── flashcards.template.json    # ← committed: card content
│   ├── flashcards.json             # ← gitignored: your SR state
│   ├── llm-config.json             # ← gitignored: provider + API key
│   └── cache/                      # ← committed: generated content (questions, etc.)
├── app/                     # Next.js App Router pages and layouts
├── components/              # React site, auth, and workspace boundaries
├── public/                  # static assets and public-site stylesheet
├── lib/                     # typed/shared data plus backend services
├── server.mjs               # Node API and Next.js custom-server integration
├── setup.mjs                # interactive first-run setup
└── package.json

The product, legal, authentication, and signed-in study surfaces are React-owned. Historical /app#/… links are translated to their corresponding /app/* route.

Run the complete framework verification before deploying:

npm run verify

Configuration

setup.mjs writes data/llm-config.json. You can also edit that file directly. Recognised fields:

{
  "provider": "codex" | "claude" | "openai" | "api",
  "codexBin": "/path/to/codex",                 // optional override
  "claudeBin": "claude",                        // optional override
  "openaiApiKey": "sk-proj-…",                  // required if provider=openai
  "openaiModel": "gpt-5-mini",                  // optional, defaults shown
  "openaiReasoningEffort": "low",                // minimal | low | medium | high
  "anthropicApiKey": "sk-ant-…",                // required if provider=api
  "anthropicModel": "claude-sonnet-4-5"         // optional, defaults shown
}

Every field above also has an env-var override:

Field Env var
provider LLM_PROVIDER
codexBin CODEX_BIN
codexModel CODEX_MODEL
claudeBin CLAUDE_BIN
openaiApiKey OPENAI_API_KEY
openaiModel OPENAI_MODEL
openaiReasoningEffort OPENAI_REASONING_EFFORT
anthropicApiKey ANTHROPIC_API_KEY
anthropicModel ANTHROPIC_MODEL

Env vars win over the config file. Useful for one-off testing:

LLM_PROVIDER=openai OPENAI_API_KEY=sk-proj-xxx npm start

Local test user

By default the app runs from files and every request is local-dev. That is enough for study workflows, but the editorial pipeline, the admin area, and personal records only exist in the database — so those surfaces cannot be exercised locally without a way to be somebody against a real database.

WICKER_LOCAL_USER is that way. Set it, point DATABASE_URL at a database, and leave the Clerk keys unset:

# .env — development only, never commit real credentials
DATABASE_URL=postgresql://…            # a Neon branch, not production
WICKER_LOCAL_USER=user_localtest       # every request acts as this user
[email protected]   # optional; drives programme scoping
ADMIN_USER_IDS=user_localtest          # optional; makes that user an admin
npm run dev   # startup prints: Authentication: local-test-user

Then open http://localhost:4177/app/admin.

Notes:

  • Use a database branch, not production. In Neon, branch main and put the branch's connection string in DATABASE_URL. The test user writes real rows; a branch keeps them off your production data. Delete the branch afterwards. Neon branches share the role password with their parent, so treat the connection string as a production credential either way.
  • Admin rights are explicit. ADMIN_USER_IDS is the same mechanism used in production, so name the test user there to reach #/admin.
  • It refuses to start where it could matter. Setting WICKER_LOCAL_USER with NODE_ENV=production, on Vercel, or alongside Clerk keys is a startup error, not a warning: it would let an unauthenticated caller act as a real user.
  • It replaces sign-in entirely. There is no sign-in page in this mode and no session; the browser simply is that user.

Pulling updates

When the maintainer adds new chapters or papers:

git pull
# Your data/study-state.json and data/flashcards.json keep your progress.
# New course definitions appear in the template; merge them manually if you
# want them in your working state (or rerun `npm run setup` and choose
# "overwrite" if asked).

The current template-merge story is intentionally manual — automating it without trampling on personal progress is a future improvement.

Privacy and account controls

In local mode, personal state lives in ignored flat files under data/users/local-dev/; only configured AI requests leave the machine. In hosted mode, Clerk provides authentication, Neon stores per-user study state and AI usage, Vercel hosts the service, and the configured AI provider receives only requested tutor, further-exercise, or academic-plan extraction inputs. Curriculum and transcript files are processed as an import draft; the original files are not retained, and only the academic fields the user reviews and confirms are saved. Timetables, transcripts, exam schedules, curricula, and calendar feeds are cross-checked against the courses selected in the active academic plan. Unselected courses and conflicting facts remain unchecked until the user explicitly accepts them; a source omission never deletes a course.

Signed-in users can see their AI allowances in Settings, export their active personal record as JSON, and permanently delete both the stored personal record and Clerk authentication identity. The shipped templates and published course sources are shared editorial content and contain no personal attempts, mistake history, or mastery scores.

Maintainer notes

Re-syncing content from a source vault:

# Adjust the source path to wherever your Obsidian vault lives
rsync -a --delete \
  ~/Projects/personal/notes/University/June\ Exams/ \
  ./content/

VAULT_ROOT env var: if set, overrides state.meta.vaultRoot. Useful when the maintainer wants the platform to read from the original vault instead of the bundled content/ directory while developing.

License

Personal study material. Course PDFs belong to their respective course coordinators at Maastricht; please don't redistribute beyond your study group.

Feedback-system proposal: implementation plan (planned, not shipped). Automatic Canvas scheduling and its Settings controls are documented in Canvas collection.

Student study versions

On a course page, choose Create version to generate source-grounded chapters, summaries, exercises and flashcards privately. Refresh selected sources as lectures arrive, keep revision history, and explicitly publish a selected community version or submit it for editorial review. Settings → AI key supports personal OpenAI or Anthropic billing beyond the included allowance. See generation, limits and tests.

from github.com/davidwickerhf/exam-study-platform

Установить Wicker Study Mcp в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install wicker-study-mcp

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add wicker-study-mcp --env WICKER_STUDY_URL="" -- npx -y wicker-study-mcp

Пошаговые гайды: как установить Wicker Study Mcp

FAQ

Wicker Study Mcp MCP бесплатный?

Да, Wicker Study Mcp MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Wicker Study Mcp?

Да, требуются переменные окружения: WICKER_STUDY_URL. Unyly подставит их в конфиг при установке.

Wicker Study Mcp — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Wicker Study Mcp в Claude Desktop, Claude Code или Cursor?

Открой Wicker Study Mcp на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

LibreOffice Tools

Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a

passerbyflutterавтор: passerbyflutter

dannote/figma-use

Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.

dannoteавтор: dannote

Logo.dev

Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content

NOVA-3951автор: NOVA-3951

Design Inspiration Server

Searches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to re

YonasValentinавтор: YonasValentin

PIX4Dmatic

Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem

jangjo123автор: jangjo123

Figma

Extract design specs and assets

Figmaавтор: Figma

mcp-dockmaster

An Open-Sourced UI to install and manage MCP servers for Windows, Linux and macOS.

автор: Community

ariekogan/ateam-mcp

Build, validate, and deploy multi-agent AI solutions on the ADAS platform. Design skills with tools, manage solution lifecycle, and connect from any AI environm

ariekoganавтор: ariekogan

thinkchainai/mcpbundles

MCP Bundles: Create custom bundles of tools and connect providers with OAuth or API keys. Use one MCP server across thousands of integrations, with programmatic

thinkchainaiавтор: thinkchainai

arikusi/nakkas

MCP server that turns AI into an SVG artist. One rendering engine with JSON config, AI controls all design parameters. CSS @keyframes + SMIL animations, 16+ ele

arikusiавтор: arikusi

Compare Wicker Study Mcp with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории design