mcpField
I
interviewer-mcp

interviewer-mcp

ローカル
github.com/girik-chadha科学・教育115 週間前に更新

interviewer-mcp について

interviewer-mcpは、GitHubリポジトリを学習用のコードマップに変換し、自分のプロジェクトについて問われる技術面接の準備を支援します。理解度や苦手な回答を記録し、次回の練習で優先的に取り上げます。

主な機能

  1. 01GitHubリポジトリの取得と分割
  2. 02コードを節ごとに説明して復唱を促す
  3. 03実際のコードに基づく模擬面接
  4. 04求人情報、企業、CVに沿った準備
  5. 05理解度と苦手分野の継続記録

活用シーン

  1. 01プロジェクトのコードを問う面接の準備
  2. 02自分やAIが書いた未理解のコードの復習
  3. 03求人要件に合うプロジェクト例の整理
  4. 04後日、未習得の箇所から練習を再開

MCP 対応

MCPサーバーは、リポジトリの取り込み、コード節の取得、面接対象の確認、進捗確認、結果記録のツールを提供します。コードキャッシュと面接履歴をローカルに保存し、後のセッションで利用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"girik-chadha-interviewer": {
"command": "npx",
"args": [
"-y",
"interviewer-mcp"
],
"env": {
"GITHUB_TOKEN": "<GITHUB_TOKEN>"
}
}
}
}
起動コマンドnpx -y interviewer-mcp
設定が必要な環境変数
GITHUB_TOKENシークレットGitHub personal access token (classic or fine-grained). Optional for public repos, raises rate limit from 60 to 5000 req/hr, required for private repos.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npminterviewer-mcp0.4.0

ツール

8

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
branchstringいいえ取り込むブランチ。デフォルトはリポジトリのデフォルトブランチです
repo_urlstringはいGitHub リポジトリの URL(https://github.com/owner/repo)または省略形 owner/repo

詳細

Interviewer MCP

実際にあなたのリポジトリを読み込んだ技術面接官です。あなた自身のコードを教え、内容を掘り下げて質問し、答えられなかった質問をすべて記録します。

CI npm License: MIT Node >=20

インストール · デモ · ツール · アーキテクチャ · llms.txt

AI エージェント/LLM:このプロジェクトの機械可読なインデックスは、/llms.txtを参照してください。


面接では、あなたのプロジェクトについて尋ねられます。このライブラリを選んだ理由、このリクエストが失敗したときの動作、認証フローの説明などです。LeetCodeではこうした質問への準備はできませんし、通常のチャットセッションではセッション間のやり取りを覚えていません。Interviewer MCPはGitHubリポジトリを学習しやすいコードマップにインデックス化し、ソクラテス式に案内し、面接官になりきって模擬面接を行います。さらに、説明できなかった箇所をセクションごとに継続して記録するため、次のセッションではまさにその箇所を再び取り上げます。教えるだけでなくテストも行い、テストは回を重ねるごとに賢くなります。その場限りのクイズではありません。

「この関数について説明してください。」何か月も前に自分で書いたコード、あるいはAIに書いてもらったコードについてこの質問をされ、言葉に詰まった経験は誰にでもあります。実際の面接で同じことが起こらないようにします。

セッションの流れ

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"]

はじめに(60秒)

実行方法は2つあります。用途に合わせて選んでください。

オプション A — MCP サーバー(Claude Code/Claude Desktop)— フル機能
claude mcp add interviewer -- npx -y interviewer-mcp

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

Claude Desktopの場合は、代わりに設定ファイルに追加してください。

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

従来型トークンときめ細かな権限設定が可能なトークンの両方に対応しています(読み取り専用のContents権限で十分です)。次に、以下を入力します。

面接の準備を手伝ってください。リポジトリはgithub.com/you/your-projectです

エージェントによるインストール:ClaudeにSETUP_GUIDE.mdを渡すと、すべて自動で設定します。

オプション B — Claude Skill(claude.ai、インストール不要)
  1. SKILL.mdを取得し、interview-prepper/という名前のフォルダーに入れて、フォルダーをzip圧縮します
  2. claude.ai → 設定 → 機能 → Skills → スキルをアップロード
  3. *「github.com/you/your-projectの面接の準備を手伝って」*と入力します

正直な違い: MCP サーバーは、学習範囲と苦手な箇所をローカルデータベースに永続的に保存するため、3週間後に戻ってきても覚えています。Skillはclaude.ai内ですべて処理します。セッションごとにリポジトリをクローンし、会話検索で過去のセッションを参照しますが、これは最善を尽くすものであり、保証はありません。どちらの方法もカリキュラムと指導形式は同じですが、「覚えている」ことを確実に約束できるのはMCPの方法です。

機能

  • リポジトリごとの取り込み — REST API 経由で任意の GitHub リポジトリを取得します(クローンは不要です)。実際のソースファイルに絞り込み、学習しやすいセクションに分割して、エントリーポイント → 最も多くインポートされているコアロジック → ユーティリティの順に並べます。巨大なリポジトリでは、黙って切り詰めるのではなく警告します。
  • 学習モード — やり取りごとにセクションを1つ扱い、常に最初にコードを表示します。ブロックごとに「何をしているか、なぜそうするのか」を説明し、「面接官ならこう尋ねるでしょう……」で締めくくります。また、あなたが説明し返して初めて、そのセクションを学習済みとして扱います。
  • 模擬面接モード — Claude は役になりきり、質問の根拠をすべて実際のコード行に置きます。「Firebase ではなく Supabase を選んだのはなぜですか?」「この fetch にはタイムアウトがありません。午前2時に何が起きますか?」プローブ対象は自動検出されます。外部 API 呼び出し、認証情報やシークレットの扱い、生 SQL、並行処理、残っている TODO、コメントのない長い関数が対象です。
  • 求人票に合わせた学習 — 求人票、会社、履歴書を一度登録すれば、学習時に「このセクションは REST API 要件に対するあなたの実績です」と示します。また、面接ではリポジトリで証明できていない求人票のスキルを掘り下げます。
  • 習熟度の追跡 — 回答はすべて、具体的なメモ付きで「十分/まずまず/弱い」と評価されます。スコアによってセクションごとの弱点度が上がり、十分な回答をすると下がります。これらはすべて ~/.interviewer-mcp/ に保存され、再開時には毎回、最も弱い箇所から始めます。

カリキュラム — 進め方はあなた次第

5つのフェーズから、メニューで好きな順番に選べます。① 会社の概要 → ② 概念のブートキャンプ(求人票 ∪ 履歴書 ∪ リポジトリの技術スタック)→ ③ コードの詳細分析 → ④ 模擬面接 → ⑤ 振り返り。

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

ツール(8つ)

ツール機能
ingest_repoGitHub リポジトリを取得・インデックス化し、学習用のコードマップを作成します
list_sections学習順のセクション一覧と、学習済み状況および弱点スコアを表示します
get_code_sectionファイルのコンテキスト付きで、1つのセクションのコードを取得します
mark_covered説明し返した後にのみ、セクションを学習済みとして記録します
get_interview_targets面接で掘り下げるコードを、最も弱い箇所から取得します
log_interview_result回答を評価し、セッションをまたいだ記憶に反映します
set_job_description求人票、会社、履歴書を登録し、会社の概要、ブートキャンプ、スキルギャップの質問に反映します
get_progress学習範囲、履歴、主な弱点を表示します。「お帰りなさい」ツールです

使うとよい場合 · 使わないほうがよい場合

特におすすめなのは、次のような場合です……

  • プロジェクトやポートフォリオについて話題になる面接を控えている
  • 急いで開発した(ハッカソン、AI 支援など)ため、すべてのコード行を理解したい
  • リポジトリ全体を読み直す代わりに、苦手な箇所に絞って復習したい

次のような場合は、別の方法をおすすめします……

  • アルゴリズムやデータ構造・アルゴリズムの練習が必要 — これは LeetCode の得意分野であり、このツールの対象ではありません
  • コードベースを使わない一般的な行動面接の対策をしたい

仕組み

ローカル優先で、依存関係を最小限に抑える設計です。素の TypeScript、ネイティブの fetch、JSON ストアを使い、ネイティブモジュールはありません。そのため、ビルドツールなしで npx interviewer-mcp をあらゆる OS で起動できます。コードキャッシュと面接履歴は ~/.interviewer-mcp/ に保存され(INTERVIEWER_DATA_DIR で変更できます)、マシンの外部に送信されることはありません。ネットワーク呼び出しは GitHub へのものだけです。セクション分割は言語ファミリー(JS/TS、Python、Go、Java/C#/Kotlin)ごとに正規表現で行い、分割できない場合はチャンク分割にフォールバックします。tree-sitter による AST 解析はロードマップに含まれています。

パイプライン全体、ストアの構成、設計判断の根拠については、ARCHITECTURE.md を参照してください。

ロードマップ

  • セクション境界を正確に特定する tree-sitter AST 解析
  • 複数リポジトリを対象とした面接(「2つのプロジェクトで pgvector を使っていますね。スキーマを比較してください」)
  • 弱点のあるセクションを対象にした間隔反復スケジュール

コントリビュートとセキュリティ

PR を歓迎します — コア部分は小さく、純粋で、テスト済みです(npm install && npm test)。CONTRIBUTING.md を参照してください。脆弱性については SECURITY.md をご覧ください。

ライセンス

MIT © Girik Chadha

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。