
Interviewer Mcp
io.github.girik-chadhaPublished by GitHub account girik-chadhav0.4.0Updated Oct 27, 2026
Full technical interview prep: company briefing, concepts, code deep-dive, mock interviews.
Overview
Local MCP server that indexes a GitHub repo into a code map and runs a persistent technical interview-prep curriculum on your own projects.
- What you can do
- Fetch and index a GitHub repo into a teachable, ordered code map, with warnings on very large repos
- List sections in teaching order with coverage status and weakness scores, and read one section's code with file context
- Mark sections as covered and record scored answers to build cross-session mastery tracking
- Surface probe-worthy code targets, weakest first, for mock interviews grounded in your actual lines
- Store a job description, company and CV to drive briefings, concept bootcamp and gap questions
- Report progress, history and top weaknesses so a later session resumes at the weakest point
- When to use it
- Useful when an upcoming interview will cover your own projects or portfolio and you want to explain your code confidently, especially if you shipped fast with AI help and need to own every line. It targets code deep-dives and mock interviews, not algorithm drilling or generic behavioral prep.
- Requirements
- Runs locally via npx (Node.js) over stdio, for Claude Code or Claude Desktop. A GITHUB_TOKEN environment variable is optional for public repos but required for private ones and raises the GitHub rate limit. Network access to the GitHub API is needed; data is stored under ~/.interviewer-mcp/ (override with INTERVIEWER_DATA_DIR).
Installation
In SourceWeft
- Open Interviewer Mcp in the dashboard and add it to a workspace.
- 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
Interviewer MCP
A technical interviewer that has actually read your repos — teaches you your own code, drills you on it, and remembers every answer you flubbed.
[CI] [npm] [License: MIT] [Node >=20]
Install · Demo · Tools · Architecture · llms.txt
AI agents / LLMs: read /llms.txt for a machine-readable index of this project.
Interviewers ask about your projects: why this library, what happens when this request fails, walk me through the auth flow. LeetCode can't prep you for that, and a plain chat session forgets everything between sessions. Interviewer MCP indexes your GitHub repo into a teachable code map, walks you through it Socratically, mock-interviews you in character — and keeps a persistent, per-section record of what you couldn't explain, so the next session re-attacks exactly those spots. It teaches and tests, and the test gets smarter every time. Not a stateless quiz.
"Walk me through this function." Every candidate has frozen on that question about code they wrote months ago — or that AI wrote for them. This makes sure it never happens in the real interview.
What a session looks like
Get started (60 seconds)
Two ways to run it — pick per surface:
Option A — MCP server (Claude Code / Claude Desktop) — full experience
Claude Desktop — add to the config file instead:
Both classic and fine-grained tokens work (read-only Contents permission is enough). Then:
Prep me for my interview — my repo is github.com/you/your-project
Agent-driven install: point Claude at SETUP_GUIDE.md and it configures everything itself.
Option B — Claude Skill (claude.ai, no install)
- Grab
SKILL.md, put it in a folder namedinterview-prepper/, zip the folder - claude.ai → Settings → Capabilities → Skills → Upload skill
- Say: "prep me for my interview on github.com/you/your-project"
The honest difference: the MCP server keeps a durable local database of your coverage and weak spots — return in three weeks and it remembers. The Skill runs entirely inside claude.ai: it clones your repo per session and recalls prior sessions via conversation search, which is best-effort, not guaranteed. Same curriculum and teaching format either way; the MCP path is the one that makes "it remembered" a hard promise.
Features
- Per-repo ingestion — fetches any GitHub repo via the REST API (no clone needed), filters to real source files, splits them into teachable sections, and orders them: entry points → most-imported core logic → utilities. Warns instead of silently truncating on huge repos.
- Teaching mode — one section per exchange, code always shown first, block-by-block what and why, ending with "an interviewer would ask…" — and a section only counts as covered after you explain it back.
- Mock interview mode — Claude stays in character, grounding every question in your actual lines: "Why Supabase over Firebase?" "This fetch has no timeout — what happens at 2am?" Probe targets are auto-detected: external API calls, auth/secrets handling, raw SQL, concurrency, leftover TODOs, long uncommented functions.
- Job-description targeting — store the JD, company, and your CV once; teaching then flags "this section is your evidence for the REST-APIs requirement," and interviews probe the JD skills your repo doesn't demonstrate.
- Mastery tracking — every answer is scored strong/okay/weak with a concrete note. Scores raise per-section weakness; strong answers decay it. All of it persists in
~/.interviewer-mcp/and every returning session opens from your weakest point.
The curriculum — you steer
Five phases, picked in your order from a menu: ① company briefing → ② concept bootcamp (JD ∪ CV ∪ repo stack) → ③ code deep-dive → ④ mock interview → ⑤ debrief.
Tools (8)
When to use · When to skip
Great fit if you…
- have an interview where your projects/portfolio will come up
- shipped fast (hackathons, AI-assisted) and need to own every line
- want targeted revision of your weak spots instead of re-reading the whole repo
Skip it if you…
- need algorithm/DSA drilling — that's LeetCode's muscle, not this
- want generic behavioral prep with no codebase involved
How it works
Local-first and dependency-light by design: plain TypeScript, native fetch, and a JSON store — no native modules, so npx interviewer-mcp boots on every OS with zero build tooling. Your code cache and interview history live in ~/.interviewer-mcp/ (override with INTERVIEWER_DATA_DIR) and never leave your machine; the only network calls are to GitHub. Sectioning is regex-based per language family (JS/TS, Python, Go, Java/C#/Kotlin) with chunking fallback — tree-sitter AST parsing is on the roadmap.
Full pipeline, store layout, and design-decision rationale: ARCHITECTURE.md.
Roadmap
- tree-sitter AST parsing for exact section boundaries
- multi-repo interviews ("you use pgvector in two projects — compare the schemas")
- spaced-repetition scheduling of weak sections
Contributing & security
PRs welcome — the core is small, pure, and tested (npm install && npm test). See CONTRIBUTING.md. Vulnerabilities: SECURITY.md.
License
MIT © Girik Chadha
Source: README.md at commit 957f29a
Tools
0Version history
1- v0.4.0LatestSep 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