Skip to main content

stackprep-pro — interview & certification prep MCP server for any AI client

Project description

stackprep-pro

stackprep-pro — interview & certification prep MCP server for any AI client

Works with any MCP-compatible client — Claude Code, Cursor, Cline, Windsurf, Continue.dev, Codex CLI, and any other client that supports the Model Context Protocol. No API key required — your existing AI subscription does the work.

Available on PyPI: uvx stackprep-pro


What it does

stackprep-pro is a pure state-management MCP server. It tracks your session and study packs on disk; your AI client (Claude, Cursor, Codex, etc.) handles all the question generation and scoring logic using the skill rules returned at session start.

  • One question at a time — interview or certification mode
  • Instant scoring with doc links after every answer
  • Auto-detects wrong/partial answers and builds a named study pack
  • Sessions and study packs saved to disk — resume anytime, sync via iCloud
  • Resume in-progress sessions across conversations or devices

Install

uvx stackprep-pro

Requires uv. Install it with curl -LsSf https://astral.sh/uv/install.sh | sh.


Configure your MCP client

The config is the same for every client — just point to uvx stackprep-pro.

Claude Code

Create .mcp.json in your project root:

{
  "mcpServers": {
    "stackprep": {
      "command": "uvx",
      "args": ["stackprep-pro"]
    }
  }
}

Cursor

Create ~/.cursor/mcp.json:

{
  "mcpServers": {
    "stackprep": {
      "command": "uvx",
      "args": ["stackprep-pro"]
    }
  }
}

Then open Cursor → Cmd+Shift+J → MCP tab — stackprep should appear with a green dot.

Codex CLI

Add to ~/.codex/config.yaml:

mcpServers:
  stackprep:
    command: uvx
    args:
      - stackprep-pro

Any other MCP-compatible client

The pattern is always the same:

{
  "mcpServers": {
    "stackprep": {
      "command": "uvx",
      "args": ["stackprep-pro"]
    }
  }
}

Paste this into whatever config format your client uses (Cline, Windsurf, Continue.dev, etc.).


Study pack storage

Study packs and sessions are saved to ~/.stackprep/ by default.

Sync across devices with iCloud (recommended on macOS):

# Add to ~/.zshrc or ~/.zprofile
export STACKPREP_PACKS_DIR="$HOME/Documents/stackprep-packs"

~/Documents is synced to iCloud by default on macOS (requires iCloud Drive > Desktop & Documents enabled). Your packs will be available on any Mac signed into your Apple ID — and readable via the Files app on iPhone.

Custom path:

export STACKPREP_PACKS_DIR="/path/to/your/folder"

Point this at any Dropbox, Google Drive, or OneDrive folder for cross-platform sync.


Environment variables

Variable Default Description
STACKPREP_PACKS_DIR ~/.stackprep Root directory for packs and sessions.

Skills (modes)

Mode Description
certification description: Certification prep skill for the stackprep-pro MCP server. Activated when mode is "certification". Drives question generation, scoring, adaptive difficulty, and study pack creation.
interview description: Interview prep skill for the stackprep-pro MCP server. Activated when mode is "interview". Drives question generation, scoring, adaptive difficulty, and study pack creation.

Tools

Tool Description Args
begin Call this at the very start of every conversation. Returns the opening question already formatted
start_session Start a new stackprep session. Returns a session ID and the skill rules for the AI to follow. mode, cert_name, cv, jd, extra_topics
submit_answer Record the result of an answered question. session_id, result, question
flag_for_study Manually flag the current question for the study pack. session_id, question
save_session Save an in-progress session so the user can continue it later. session_id, session_name
discard_session Permanently delete a session. Call this when the user is exiting and answers NO to saving the session_id
end_session End the session. Returns the score and flagged topics so the AI can generate a study plan and study pack. session_id
save_study_pack Save the study pack content to disk. session_id, name, content
list_sessions List saved sessions. Call this silently when the user wants to continue. Never mention this tool to the user. mode
resume_session Resume a previously saved session. Returns full session state and skill rules. session_id
list_study_packs List saved study packs. Call this silently when the user wants to see or load a study pack. Never mention this tool to the user. mode
load_study_pack Load a previously saved study pack by name. name

Session flow

Certification:

list_sessions()                                          ← always called first
→ start_session(mode="certification", cert_name="AWS SAA-C03")
→ [AI generates questions one at a time]
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
→ ... repeat ...
→ end_session(session_id)
→ save_study_pack(session_id, name="aws-saa-week1", content="...")

Interview:

list_sessions()                                          ← always called first
→ start_session(mode="interview", cv="...", jd="...")
→ [AI generates questions one at a time]
→ submit_answer(session_id, result="correct"|"partial"|"incorrect", question="...")
→ ... repeat ...
→ end_session(session_id)
→ save_study_pack(session_id, name="python-interview-june", content="...")

Resuming a session:

list_sessions()                → shows in-progress sessions
→ resume_session(session_id)  → loads state + skill rules, continues where you left off

Loading a saved study pack:

list_study_packs()
→ load_study_pack(name="aws-saa-week1")

Session persistence

Every session is saved to disk on every update. At the start of each new conversation the AI automatically calls list_sessions and asks whether you want to resume an in-progress session or start a new one. Sessions are stored in ~/.stackprep/sessions/ (or your custom STACKPREP_PACKS_DIR).


Also available as a Claude Code plugin

For Claude Projects or direct Claude.ai use, the behaviour rules are also available as a standalone skill file at plugins/stackprep — no install needed.


Contributing / Development

git clone https://github.com/youngpada1/stackprep-pro
cd stackprep-pro

# Install dependencies
uv sync

# Activate the pre-commit hook (auto-regenerates README on every commit)
git config core.hooksPath .githooks

# Run the server locally
uv run stackprep-pro

The README is auto-generated from server.py tool definitions and the skills files in src/stackprep_pro/skills/. To regenerate manually:

uv run python scripts/generate_readme.py

License

MIT — Flavia Fauconnet

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stackprep_pro-0.2.18.tar.gz (61.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stackprep_pro-0.2.18-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file stackprep_pro-0.2.18.tar.gz.

File metadata

  • Download URL: stackprep_pro-0.2.18.tar.gz
  • Upload date:
  • Size: 61.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stackprep_pro-0.2.18.tar.gz
Algorithm Hash digest
SHA256 388da66e47dd64237ecc6c02fa6b4e361479cd72cba0f35386798389ca11815b
MD5 73c501c5acd0105d09df7f38c5110fd2
BLAKE2b-256 08fd44b92a41773010bc6f32bee0bc5fb2b18f733ea7708e4bec591db9cd1bb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for stackprep_pro-0.2.18.tar.gz:

Publisher: publish.yml on youngpada1/stackprep-pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file stackprep_pro-0.2.18-py3-none-any.whl.

File metadata

  • Download URL: stackprep_pro-0.2.18-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for stackprep_pro-0.2.18-py3-none-any.whl
Algorithm Hash digest
SHA256 f790b6194fd529d8a7d533ad350b0cddc9e9cf1d0bd376d4131cd902f566ae04
MD5 905309b2d3386e1b98cbb5614e5a79d3
BLAKE2b-256 75b51d7a7b4be7c300c07a010a242a2b8775a8b4ab67d4072afe588d2f82e3ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for stackprep_pro-0.2.18-py3-none-any.whl:

Publisher: publish.yml on youngpada1/stackprep-pro

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page