Interviewer Mcp

io.github.girik-chadha由 GitHub 帳號 girik-chadha 發布v0.4.0更新於 Oct 27, 2026

Full technical interview prep: company briefing, concepts, code deep-dive, mock interviews.

概覽

AI 產生的概覽

本機 MCP 伺服器,把 GitHub 儲存庫索引成可講解的程式碼地圖,並圍繞你自己的專案進行可持續保存的技術面試準備。

可以做什麼
  • 抓取並索引 GitHub 儲存庫,產生依教學順序排列的程式碼地圖,超大儲存庫會提出警告
  • 依教學順序列出章節及涵蓋狀態與弱點分數,並讀取單一章節的程式碼與檔案脈絡
  • 標記章節已學會,並記錄評分後的回答,形成跨工作階段的掌握度追蹤
  • 列出值得追問的程式碼重點,最弱優先,用於以你真實程式碼為基礎的模擬面試
  • 儲存職缺描述、公司與履歷,用於公司簡報、概念集訓與落差提問
  • 回報進度、歷史與主要弱點,讓後續工作階段從最弱處繼續
適用情境
適合即將到來的面試會談到你自己的專案或作品集、希望把程式碼講清楚的情況,尤其是快速交付(黑客松、AI 輔助)後需要真正掌握每一行程式碼的人。它著重程式碼深入探討與模擬面試,不用於演算法刷題或一般行為面試準備。
執行需求
透過 npx(Node.js)以 stdio 在本機執行,適用於 Claude Code 或 Claude Desktop。GITHUB_TOKEN 環境變數對公開儲存庫為選用,私有儲存庫則必需,並可提高 GitHub 速率上限。需要連線至 GitHub API;資料存放於 ~/.interviewer-mcp/(可用 INTERVIEWER_DATA_DIR 覆寫)。
安裝前請注意
GITHUB_TOKEN 密鑰透過環境變數傳入;文件表示僅需唯讀 Contents 權限,建議盡量縮小權限範圍。儲存庫內容與面試紀錄會快取在本機 ~/.interviewer-mcp/,依 README 僅透過 GitHub API 呼叫離開本機。伺服器會寫入本機狀態並為回答評分,應將保存的進度視為私密資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Interviewer Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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

text
You     Test me again on soundofspace — last week went badly.
Claude  [get_progress] Welcome back. Coverage: 9/14 sections. Three questions        logged weak, the worst: "why is the JWT verified server-side?"        Let's start exactly there. [get_code_section auth.ts:verifyToken]
        Here's your own code. Line 12 verifies the signature before touching        the payload. Why can't the client just send the decoded claims?
You     Because... the client could edit them?
Claude  Right instinct — be precise. What stops an attacker who edits the        payload AND re-signs it? Where does the signing secret live?
        [log_interview_result: okay — "knows tampering risk, fuzzy on         why the secret never leaves the server"]

Get started (60 seconds)

Two ways to run it — pick per surface:

Option A — MCP server (Claude Code / Claude Desktop) — full experience

bash
claude mcp add interviewer -- npx -y interviewer-mcp
# optional: private repos + 5,000 req/hr instead of 60claude mcp add interviewer --env GITHUB_TOKEN=github_pat_... -- npx -y interviewer-mcp

Claude Desktop — add to the config file instead:

json
{  "mcpServers": {    "interviewer": {      "command": "npx",      "args": ["-y", "interviewer-mcp"],      "env": { "GITHUB_TOKEN": "github_pat_optional_but_recommended" }    }  }}

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)

  1. Grab SKILL.md, put it in a folder named interview-prepper/, zip the folder
  2. claude.ai → Settings → Capabilities → Skills → Upload skill
  3. 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.

ingest_repo ──▶ briefing ──▶ bootcamp ──▶ code deep-dive ──▶ mock interview ──▶ debrief                    ▲                                │                    └──── "test me again" (days later)                          the interviewer REMEMBERS ◀┘

Tools (8)

ToolWhat it does
ingest_repoFetch + index a GitHub repo into a teachable code map
list_sectionsSections in teaching order, with covered status + weakness scores
get_code_sectionOne section's code with file context
mark_coveredMark a section learned (only after you explain it back)
get_interview_targetsProbe-worthy code, weakest spots first
log_interview_resultScore an answer; powers cross-session memory
set_job_descriptionStore JD + company + CV; powers briefing, bootcamp, and gap questions
get_progressCoverage, history, top weaknesses — the "welcome back" tool

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

來源:README.md,提交 957f29a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.4.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分