From 457ed9c9ffcbf2391afd0f4debd1d6d4cf472755 Mon Sep 17 00:00:00 2001 From: lmiranda Date: Mon, 26 Jan 2026 16:44:11 -0500 Subject: [PATCH] fix(setup): install MCP packages in editable mode for viz-platform and contract-validator The setup script only installed requirements.txt dependencies but not the local package itself, causing MCP servers to fail with ModuleNotFoundError. Changes: - Add `pip install -e .` for servers with pyproject.toml - Add viz-platform and contract-validator to MCP server setup - Add symlink verification for new plugins - Update version banner to v5.0.0 Co-Authored-By: Claude Opus 4.5 --- scripts/setup.sh | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/scripts/setup.sh b/scripts/setup.sh index b75d9f9..0328011 100755 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -72,11 +72,16 @@ setup_shared_mcp() { log_success "$server_name venv created" fi - # Install/update dependencies + # Install/update dependencies and local package if [[ -f "requirements.txt" ]]; then source .venv/bin/activate pip install -q --upgrade pip pip install -q -r requirements.txt + # Install local package in editable mode (required for MCP server to work) + if [[ -f "pyproject.toml" ]]; then + pip install -q -e . + log_success "$server_name package installed (editable mode)" + fi deactivate log_success "$server_name dependencies installed" else @@ -125,6 +130,24 @@ verify_symlinks() { log_error "data-platform symlink missing" log_todo "Run: ln -s ../../../mcp-servers/data-platform plugins/data-platform/mcp-servers/data-platform" fi + + # Check viz-platform -> viz-platform symlink + local vizplatform_link="$REPO_ROOT/plugins/viz-platform/mcp-servers/viz-platform" + if [[ -L "$vizplatform_link" ]]; then + log_success "viz-platform symlink exists" + else + log_error "viz-platform symlink missing" + log_todo "Run: ln -s ../../../mcp-servers/viz-platform plugins/viz-platform/mcp-servers/viz-platform" + fi + + # Check contract-validator -> contract-validator symlink + local contractvalidator_link="$REPO_ROOT/plugins/contract-validator/mcp-servers/contract-validator" + if [[ -L "$contractvalidator_link" ]]; then + log_success "contract-validator symlink exists" + else + log_error "contract-validator symlink missing" + log_todo "Run: ln -s ../../../mcp-servers/contract-validator plugins/contract-validator/mcp-servers/contract-validator" + fi } # --- Section 3: Config File Templates --- @@ -301,7 +324,7 @@ print_report() { # --- Main --- main() { echo "==============================================" - echo " Leo Claude Marketplace Setup (v3.0.0)" + echo " Leo Claude Marketplace Setup (v5.0.0)" echo "==============================================" echo "" @@ -309,6 +332,8 @@ main() { setup_shared_mcp "gitea" setup_shared_mcp "netbox" setup_shared_mcp "data-platform" + setup_shared_mcp "viz-platform" + setup_shared_mcp "contract-validator" # Verify symlinks from plugins to shared MCP servers verify_symlinks