The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Interviewer MCP listing page.
A technical interviewer that has actually read your repos — teaches you your own code, drills you on it, and remembers every answer you flubbed.
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.
Two ways to run it — pick per surface:
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.
SKILL.md, put it in a folder named interview-prepper/, zip the folderThe 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.
~/.interviewer-mcp/ and every returning session opens from your weakest point.Five phases, picked in your order from a menu: ① company briefing → ② concept bootcamp (JD ∪ CV ∪ repo stack) → ③ code deep-dive → ④ mock interview → ⑤ debrief.
| Tool | What it does |
|---|---|
ingest_repo | Fetch + index a GitHub repo into a teachable code map |
list_sections | Sections in teaching order, with covered status + weakness scores |
get_code_section | One section's code with file context |
mark_covered | Mark a section learned (only after you explain it back) |
get_interview_targets | Probe-worthy code, weakest spots first |
log_interview_result | Score an answer; powers cross-session memory |
set_job_description | Store JD + company + CV; powers briefing, bootcamp, and gap questions |
get_progress | Coverage, history, top weaknesses — the "welcome back" tool |
Great fit if you…
Skip it if you…
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.
PRs welcome — the core is small, pure, and tested (npm install && npm test). See CONTRIBUTING.md. Vulnerabilities: SECURITY.md.
MIT © Girik Chadha