Interview Prep Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Interview Prep Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An end-to-end interview coach that uses a real Model Context Protocol (MCP) server to ground an OpenAI agent in a candidate's resume and a target job description.
The project demonstrates MCP tool discovery, OpenAI Responses API tool calling, multi-step agent orchestration, document ingestion, deterministic evaluation logic, and a polished Streamlit UI.
PDF, DOCX, TXT, or MD)flowchart LR
U[Candidate] --> UI[Streamlit UI]
UI --> A[OpenAI Responses agent]
A <-->|tool schemas and calls| C[MCP client]
C <-->|stdio| S[FastMCP server]
S --> R[(Resume)]
S --> J[(Job description)]
S --> G[Gap analysis]
S --> Q[Question generator]
S --> E[Answer evaluator]This is intentionally a genuine client/server MCP design. The LLM discovers JSON schemas from the MCP server, decides which tools to call, and receives each result through the Responses API function-calling loop.
| Tool | Purpose |
|---|---|
get_resume() | Reads the uploaded resume |
get_job_description() | Reads the target job description |
analyze_skill_gaps() | Compares resume evidence with JD requirements |
generate_interview_questions() | Produces targeted practice questions |
evaluate_answer() | Scores an answer and returns a coaching rubric |
Prerequisites: Python 3.11+ and an OpenAI API key.
git clone https://github.com/YOUR_USERNAME/interview-prep-mcp.git
cd interview-prep-mcp
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
cp .env.example .env
# Add your OPENAI_API_KEY to .env
streamlit run app.pyThe default is gpt-5.4-mini, chosen as a cost-conscious tool-calling model. Set OPENAI_MODEL in .env to use a different compatible model.
Run the unit tests without an API key:
pytest
ruff check .Start the MCP server directly over stdio:
interview-prep-serverUploaded resume and JD text are stored only in .interview_prep/ on the local machine. That directory and .env are Git-ignored. Document text is sent to OpenAI only when the agent calls the relevant MCP tool during a workflow.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.