DEV Community

Mahtabul Al Nahian
Mahtabul Al Nahian

Posted on AI-assisted

I added a doctor command so university lab PCs stop failing Mid-MCP setup

Shared lab machines are where polite README quick starts go to die.

I maintain Lore Solo — a local MCP helper that routes coding-agent tasks to approved persona skills instead of dumping a whole skill binder into context. The happy path is short:

uvx lore-solo install
uvx lore-solo setup
uvx lore-solo connect
Enter fullscreen mode Exit fullscreen mode

On a university library PC that path fails for boring reasons: no uv, Node 16 instead of 18+, home directory locked down, Graphify missing so the map step looks broken, or no editor config folder for connect to write into. None of that is mysterious. It is just expensive to discover after the first npm ci.

What 0.1.2 adds

uvx lore-solo doctor
Enter fullscreen mode Exit fullscreen mode

Or from a clone of the solo branch:

./scripts/lore-solo doctor
# Windows: .\scripts\lore-solo.ps1 doctor
Enter fullscreen mode Exit fullscreen mode

Doctor checks, for the OS you are on:

Check Required? If missing
uv yes no uvx / install
Node.js 18+ yes setup site will not run
npm yes first setup build fails
write access to ~/.lore yes install cannot land
installed lore-solo binary no editors that expect ~/.lore/bin miss it; uvx still works
Graphify map no no codebase map; personas still work
detected editors no connect has nowhere to register; project .cursor/mcp.json backup still works

Missing items print an OS-specific install hint (curl vs PowerShell for uv, brew / winget / nodejs.org for Node, VS Build Tools note for the optional map on Windows) and a one-line "without this you lose…" note. Exit code 1 means a required tool is missing.

Why bother

Most MCP tutorials assume a developer laptop. Building Your First MCP Server and FastMCP walkthroughs get the protocol right. Lab PCs fail earlier: package managers, Node major versions, and writable homes. Cursor MCP setup guides help once the binary exists; doctor is the gate before that.

The README now has an explicit prerequisites table for the same reason. Doctor is the executable version of that table.

Try it

uvx lore-solo doctor
uvx lore-solo install
uvx lore-solo setup
Enter fullscreen mode Exit fullscreen mode

Repo / branch: starrynight-web/LORE solo. Package: lore-solo 0.1.2 on PyPI once the release is published.

If you ship local MCP tools for classrooms or club machines, a doctor/check command pays for itself the first time Node is too old and the error is three screens deep in a Next build log.

Top comments (1)

Collapse
 
reidmarlow profile image
Reid Marlow •

One failure mode that caught us on shared university boxes was /tmp mounted with noexec. Even with write access to ~/.lore, tools like uvx or package post-installs often unpack temporary wheels or build artifacts into $TMPDIR and try to execute helper binaries from there. It blows up with Permission denied while which uv and the home directory look completely healthy. Having doctor touch a scratch script inside tempfile.gettempdir() and verify execution flag support saves a lot of head-scratching on hardened lab images.