Interview Mode

io.github.teabagkimPublished by GitHub account teabagkimv0.5.1Updated Oct 24, 2026

Structured interviewer for Claude Code — probing questions, decision tracking, evolving checkpoints.

Overview

AI-generated overview

A local MCP server that turns Claude Code into a structured interviewer, tracking questions, decisions and evolving checkpoints per topic category.

What you can do
Run and manage interviews: start a session with scored checkpoints and a recommended path, then end it to upload metadata and evolve the checkpoint system. Record questions, answers and decisions with checkpoint coverage tracking. Review progress and see uncovered checkpoints ranked by score. Checkpoints are discovered, scored and ranked across sessions per category, with concurrent sessions supported.
When to use it
Useful when you want Claude to lead a structured discovery conversation — for example pricing strategy, API design or product decisions — and to keep a record of decisions while reusing topic checklists that improve over repeated sessions.
Requirements
Runs locally via npx or a global npm install (Node.js required) and is configured in Claude Code's .mcp.json over stdio. Works out of the box against a shared community Supabase database; optionally set SUPABASE_URL and SUPABASE_ANON_KEY to use your own Supabase project and run the provided schema. Network access is needed for the shared database.
Before you install
By default, anonymous metadata — category names, checkpoint names, usage counts, scores and positions — is uploaded to a shared community database; questions, answers and decision details are stated as not shared. Ending an interview triggers that upload. Using your own Supabase requires supplying SUPABASE_URL and SUPABASE_ANON_KEY.

Installation

In SourceWeft

  1. Open Interview Mode in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

claude-interview-mode

An MCP server that turns Claude into a structured interviewer — and gets smarter with every conversation. Each interview feeds a shared evolution system where checkpoints are scored, ranked, and recommended based on real usage patterns across all users.

The Evolution System

This isn't just an interview tool. It's a collectively evolving knowledge system.

Every time anyone runs an interview in a category (e.g., "saas-pricing"), the system learns:

Session 1:  You explore freely → decisions become new checkpointsSession 2:  Checkpoints load → Claude prioritizes what mattersSession 5:  Bayesian scores stabilize → the interview path optimizes itselfSession 20: Community patterns emerge → everyone benefits from collective experience

How evolution works

1. Checkpoint Discovery — When a decision is made during an interview, its topic is automatically registered as a new checkpoint. After just a few sessions, the system knows what topics matter for each category.

2. Bayesian Scoring — Each checkpoint tracks how often it's covered and how often it leads to a decision. The score uses Bayesian smoothing to handle sparse data:

decision_rate = (decisions + 0.6) / (times_covered + 2)

The prior (0.6/2 = 30% base rate) ensures new checkpoints start with a reasonable score. After ~5 sessions, real data dominates.

3. Composite Ranking — Checkpoints are ranked by a composite score combining decision-leading effectiveness (70%) and usage frequency (30%):

composite = decision_rate × 0.7 + normalized_usage × 0.3

High-scoring checkpoints are the ones that consistently lead to concrete decisions — not just topics that get discussed.

4. Recommended Path — The system computes an optimal interview path: checkpoints with decision_rate > 0.2, sorted by their average position in past sessions. This tells Claude not just what to ask, but when to ask it.

5. Community Evolution — All metadata flows to a shared database. When you interview about "api-design", you benefit from every other user who interviewed about "api-design" before you. The checkpoints, scores, and paths evolve collectively.

What gets shared (and what doesn't)

Shared (metadata only)Never shared
Category names (e.g., "saas-pricing")Your actual questions and answers
Checkpoint names (e.g., "pricing-model")Decision details and reasoning
Usage counts, scores, positionsAny personal or project-specific content

What it does

  • Claude drives the interview — asks questions, proposes options with reasoning, challenges assumptions
  • Tracks Q&As and decisions — structured records with timestamps
  • Evolving checkpoints — learns what topics matter per category, ranked by Bayesian effectiveness scores
  • Recommended paths — suggests the optimal order to explore topics based on past interview patterns
  • Concurrent sessions — supports multiple interviews running in parallel
  • Privacy-first — only anonymous metadata (categories, checkpoint names, counts) goes to the shared database

Install

bash
npx claude-interview-mode

Or install globally:

bash
npm install -g claude-interview-mode

Setup with Claude Code

Add to your project's .mcp.json:

json
{  "mcpServers": {    "interview-mode": {      "type": "stdio",      "command": "npx",      "args": ["-y", "claude-interview-mode"]    }  }}

Restart your Claude Code session to load the MCP server. That's it — the evolution system starts working immediately via a shared community database.

Optional: Your own Supabase

By default, checkpoint data is stored in a shared community Supabase instance. If you want your own private database:

json
{  "mcpServers": {    "interview-mode": {      "type": "stdio",      "command": "npx",      "args": ["-y", "claude-interview-mode"],      "env": {        "SUPABASE_URL": "https://your-project.supabase.co",        "SUPABASE_ANON_KEY": "your-anon-key"      }    }  }}

Then run supabase/schema.sql in your Supabase SQL Editor to create the tables.

Usage

Start an interview with Claude Code:

> Let's do an interview about my SaaS pricing strategy

Claude will lead the conversation. As the interview progresses:

  • Each Q&A and decision is recorded with checkpoint coverage
  • At the end, metadata is uploaded to evolve the system
  • Next time anyone interviews in the same category, the improved checkpoints are loaded

Tools

ToolDescription
start_interviewBegin a session — loads scored checkpoints and recommended path
recordRecord a Q&A or decision, with checkpoint coverage tracking
get_contextReview progress, see uncovered checkpoints ranked by score
end_interviewEnd session, upload metadata, evolve the checkpoint system

Architecture

You ←→ Claude ←→ MCP Server (interview-mode)                      │                      ├─ read (anon key, read-only)                      │     └→ checkpoints, scores, patterns                      │                      └─ write (Edge Function, validated)                            └→ metadata, checkpoint updates, score recalculation                      │               Supabase (shared community DB)

4 database tables power the evolution:

TablePurpose
checkpointsCheckpoint dictionary per category (name, usage count, decision count)
checkpoint_scoresBayesian scores per checkpoint (decision rate, avg position, samples)
interview_patternsCoverage sequences per session (which checkpoints, in what order)
interview_metadataSession summaries (category, counts, duration)

Security:

  • Anon key is read-only (SELECT only via RLS)
  • All writes go through an Edge Function with input validation and spam defense
  • Empty interviews, implausible rates, and oversized payloads are rejected

Development

bash
git clone https://github.com/teabagkim/claude-interview-mode.gitcd claude-interview-modenpm installnpm run build    # TypeScript → dist/index.jsnpm run dev      # Watch mode

License

MIT

Source: README.md at commit 8c3c3b2

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.5.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts