Interview Prep MCP
# Interview Prep MCP
**Graded interview questions, model answers, answer frameworks and mock drills for AI Engineer and Investment Banking interviews, as an MCP server.**
By **LightCube Labs**. Runs fully offline over stdio. No API keys, no account, no network calls.
- **100 AI Engineer questions**: LLM fundamentals, prompting and structured output, RAG, agents and MCP, fine-tuning, evaluation, AI system design, production/cost/safety, coding.
- **106 Investment Banking questions**: accounting, valuation, M&A, LBO, industry/restructuring/current events, plus 6 fit questions.
- Every question is graded **Entry / Mid / Senior** and has a concise model answer. Many include the likely follow-up or the common mistake.
Ask your assistant things like:
- "Give me a 5-question mock round for an AI Engineer interview, Senior level."
- "Quiz me on LBOs, then grade my answer to ib-074."
- "What would an interviewer ask after the KV cache question?"
## Tools
| Tool | What it does |
|---|---|
| `list_topics` | Roles and topic ids, with question counts per level. |
| `get_questions` | Questions by `role`, optional `topic` and `level`, `n`, `offset`; `include_answers` adds model answers. |
| `get_answer_framework` | For one `question_id` (e.g. `aie-026`, `ib-003`): step-by-step answer framework, model answer, follow-up, common mistake and a 1-5 scoring rubric. |
| `random_drill` | `n` random questions (no answers) for a timed mock round; pass `seed` to replay. |
| `search_questions` | Keyword search across questions and answers. |
Roles: `ai-engineer`, `investment-banking`. All tools are read-only.
## Install
Requires Node.js 18+.
### Claude Desktop / Cursor / any MCP client (npx)
```json
{
"mcpServers": {
"interview-prep": {
"command": "npx",
"args": ["-y", "interview-prep-mcp"]
}
}
}
```
### From source
```bash
git clone https://github.com/lightcube-labs/interview-prep-mcp.git
cd interview-prep-mcp
npm install
npm run build
npm test # spawns the server, lists tools, calls each tool once
```
Then point your client at `node /path/to/interview-prep-mcp/build/index.js`.
### MCPB bundle (Claude Desktop one-click)
```bash
npx @anthropic-ai/mcpb pack . interview-prep-mcp.mcpb
```
## Optional configuration
Each result ends with a short "More practice" footer. You can add your own links with environment variables (all optional):
| Variable | Shown as |
|---|---|
| `FREE_PDF_URL_AIE` / `FREE_PDF_URL_IB` | Free Top 30 questions PDF |
| `PLAYBOOK_URL_AIE` / `PLAYBOOK_URL_IB` | Full interview playbook |
## Data
Questions live in `data/questions.json` (generated by `scripts/build_data.py` from the source markdown) and answer frameworks in `data/frameworks.json`. Questions reflect common public interview patterns; no company or bank affiliation. Answers are for interview preparation, not investment advice.
Corrections and new questions are welcome via issues and pull requests.
## License
MIT © 2026 LightCube Labs
TDQS
Scored across 5 tools
Each tool has a reasonably distinct role: list_topics is an index, get_questions is filtered retrieval, get_answer_framework is single-question deep dive, random_drill is a timed mock, and search_questions is keyword lookup. The only real overlap is between get_questions and search_questions (both return question lists) and between random_drill and get_questions (both sample questions), but the descriptions make the intent differences clear.
Four of five names follow a clean verb_noun pattern (list_topics, get_questions, get_answer_framework, search_questions). random_drill breaks the pattern as an adjective+noun with no verb, though it is still readable and unambiguous.
Five tools is well-scoped for a question-bank server: discover, retrieve, drill, deep-dive, and search. Each tool earns its place with no redundancy padding the surface.
The core read lifecycle is covered: topic discovery, filtered retrieval, answer frameworks with rubrics, random drilling, and search. Minor gaps exist — no single-question fetch by id independent of the answer framework, and no attempt/progress tracking across drill sessions — but agents can work around both.