Bug Report
Description
When registering an MCP server from a GitHub repo via crux mcp add --github, Crux clones the repository but does not install its dependencies. The user must manually detect the project type and install deps.
Steps to Reproduce
Case 1: Node.js project (package.json)
crux mcp add jobspy --github borgius/jobspy-mcp-server
# Output: ✅ Registered MCP 'jobspy'
# But `node src/index.js` fails because node_modules/ doesn't exist
# Had to manually: cd ~/.crux/mcps/jobspy && npm install
Case 2: Python project (pyproject.toml)
crux mcp add semantic-scholar --github FujishigeTemma/semantic-scholar-mcp
# Output: ✅ Registered MCP 'semantic-scholar'
# But running the server fails because dependencies aren't installed
# Had to manually: cd ~/.crux/mcps/semantic-scholar && uv sync
Case 3: Python project (requirements.txt)
crux mcp add jobspy --github lowcoordination/mcp-jobspy
# Output: ✅ Registered MCP 'jobspy'
# But running fails — no deps installed
# Had to manually: cd ~/.crux/mcps/jobspy && uv venv && uv pip install -r requirements.txt
Expected Behavior
After cloning a GitHub repo, Crux should auto-detect the project type and install dependencies:
package.json found → run npm install
pyproject.toml found → run uv sync
requirements.txt found → run uv pip install -r requirements.txt
Note: the --build-cmd flag exists for this purpose, but the common cases above should be auto-detected without requiring the user to specify it.
Actual Behavior
Crux clones the repo and reports success, but the MCP server is not runnable until the user manually installs dependencies. crux doctor also reports ✅ for the MCP source (because the directory exists) even though it can't actually run.
Impact
During setup of 3 GitHub-sourced MCPs (jobspy, semantic-scholar, and one more), every single one required manual dependency installation. This was the most time-consuming part of MCP setup.
Environment
- crux-cli version: latest
- macOS (Apple Silicon)
Bug Report
Description
When registering an MCP server from a GitHub repo via
crux mcp add --github, Crux clones the repository but does not install its dependencies. The user must manually detect the project type and install deps.Steps to Reproduce
Case 1: Node.js project (package.json)
Case 2: Python project (pyproject.toml)
Case 3: Python project (requirements.txt)
Expected Behavior
After cloning a GitHub repo, Crux should auto-detect the project type and install dependencies:
package.jsonfound → runnpm installpyproject.tomlfound → runuv syncrequirements.txtfound → runuv pip install -r requirements.txtNote: the
--build-cmdflag exists for this purpose, but the common cases above should be auto-detected without requiring the user to specify it.Actual Behavior
Crux clones the repo and reports success, but the MCP server is not runnable until the user manually installs dependencies.
crux doctoralso reports ✅ for the MCP source (because the directory exists) even though it can't actually run.Impact
During setup of 3 GitHub-sourced MCPs (jobspy, semantic-scholar, and one more), every single one required manual dependency installation. This was the most time-consuming part of MCP setup.
Environment