Skip to main content
Glama
devpatel25

resumeai-mcp

by devpatel25
README.md
# resumeai-mcp

Local MCP server (stdio) that lets a Claude Code agent drive Big Interview ResumeAI. Spec: [PLAN.md](PLAN.md).

## Setup

```bash
uv sync
cp .env.example .env
```

The default `BROWSER_CHANNEL=chrome` uses your installed Google Chrome (PLAN.md §6.3). Install it
if missing (`uv run playwright install chrome`), or use bundled Chromium instead:
`uv run playwright install chromium` and set `BROWSER_CHANNEL=` (empty) in `.env`.

## Add to Claude Code

```bash
claude mcp add --scope user resumeai -- uv --directory /absolute/path/to/Biginterview-MCP run resumeai-mcp
claude mcp get resumeai   # Status: ✔ Connected
```

The server exposes six tools (`auth_status`, `list_scans`, `start_scan`, `get_scan_status`, `get_scan_feedback`,
`delete_scan`); every call returns `{"ok": true, "data": …}` or `{"ok": false, "error": {code, message, hint}}`
(PLAN.md §7.0, §13). Log in first with `uv run python scripts/login.py`, and never run it while the server is
using the browser profile.

Troubleshooting and the full walkthrough land in Phase 6.

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool maps to a distinct step in the scan lifecycle: auth_status (auth check), list_scans (history), start_scan (create), get_scan_status (poll), get_scan_feedback (results), delete_scan (remove). The boundaries between polling status, retrieving feedback, and starting a scan are clear and non-overlapping.

Naming Consistency4/5

Most tools follow a clean verb_noun pattern (list_scans, start_scan, get_scan_status, get_scan_feedback, delete_scan). auth_status deviates slightly by leading with a noun-like token rather than an explicit verb, but it remains readable and consistent with the scan-status naming family.

Tool Count5/5

Six tools is well-scoped for a scan-and-feedback workflow, with each tool earning its place across auth, listing, creation, polling, results, and deletion. Nothing feels padded or redundant.

Completeness4/5

The surface covers the full lifecycle: authentication, listing, starting, polling, fetching feedback, and deletion. Minor gaps exist (no explicit cancel/abort for an in-flight scan or resume-management operation), but these are workable given the one-scan-in-flight constraint and idempotent start.

Maintenance

ActivityMaintained
ResponsivenessNo issues