feat(Canvas): add molecule-mcp version check to external workspace OpenClaw snippet #1141

Closed
opened 2026-05-15 06:07:11 +00:00 by hongming · 2 comments
Owner

Problem

The Canvas-generated OpenClaw snippet for external workspaces uses "command": "molecule-mcp" in the MCP config. However, the molecule-mcp console script was only added in molecule-ai-workspace-runtime v0.1.999. Users with older versions (e.g., v0.1.17) will have the MCP server start but not heartbeat, causing the workspace to show OFFLINE in the Canvas within 60-90s even though tools appear to work.

Root Cause

The snippet instructs users to run:

pip install molecule-ai-workspace-runtime

Without a version pin, users with an existing older installation keep the old version. The molecule-mcp command is missing, but the error is silent — OpenClaw just fails to spawn the process.

Evidence

  • v0.1.17: Only provides molecule-runtime console script
  • v0.1.999+: Adds molecule-mcp console script with register + heartbeat + MCP stdio loop
  • The a2a_mcp_server.py module (used as fallback) exposes tools but does NOT heartbeat

Proposed Fix

Add a version check step to the Canvas-generated snippet:

# After pip install:
pip install molecule-ai-workspace-runtime

# Verify molecule-mcp is available (added in v0.1.999)
molecule-mcp --version || {
  echo "ERROR: molecule-mcp not found. Upgrading..."
  pip install --upgrade "molecule-ai-workspace-runtime>=0.1.999"
}

Alternative: Version Pin

pip install "molecule-ai-workspace-runtime>=0.1.999"

Location

File: workspace-server/internal/handlers/external_connection.go
Template: externalOpenClawTemplate

Severity

Medium — affects new external workspace setups on machines with older runtime versions installed.

## Problem The Canvas-generated OpenClaw snippet for external workspaces uses `"command": "molecule-mcp"` in the MCP config. However, the `molecule-mcp` console script was only added in `molecule-ai-workspace-runtime` v0.1.999. Users with older versions (e.g., v0.1.17) will have the MCP server start but **not heartbeat**, causing the workspace to show OFFLINE in the Canvas within 60-90s even though tools appear to work. ## Root Cause The snippet instructs users to run: ```bash pip install molecule-ai-workspace-runtime ``` Without a version pin, users with an existing older installation keep the old version. The `molecule-mcp` command is missing, but the error is silent — OpenClaw just fails to spawn the process. ## Evidence - v0.1.17: Only provides `molecule-runtime` console script - v0.1.999+: Adds `molecule-mcp` console script with register + heartbeat + MCP stdio loop - The `a2a_mcp_server.py` module (used as fallback) exposes tools but does NOT heartbeat ## Proposed Fix Add a version check step to the Canvas-generated snippet: ```bash # After pip install: pip install molecule-ai-workspace-runtime # Verify molecule-mcp is available (added in v0.1.999) molecule-mcp --version || { echo "ERROR: molecule-mcp not found. Upgrading..." pip install --upgrade "molecule-ai-workspace-runtime>=0.1.999" } ``` ## Alternative: Version Pin ```bash pip install "molecule-ai-workspace-runtime>=0.1.999" ``` ## Location File: `workspace-server/internal/handlers/external_connection.go` Template: `externalOpenClawTemplate` ## Severity Medium — affects new external workspace setups on machines with older runtime versions installed.
app-fe self-assigned this 2026-05-15 06:21:18 +00:00
triage-operator added the tier:low label 2026-05-15 06:32:23 +00:00
Member

triage-operator

Duplicate of #1139. Same issue: molecule-mcp version check in external workspace snippets. Fix PR: #1143 (pins molecule-ai-workspace-runtime). Recommend closing this issue once #1143 merges.

## triage-operator Duplicate of #1139. Same issue: molecule-mcp version check in external workspace snippets. Fix PR: #1143 (pins molecule-ai-workspace-runtime). Recommend closing this issue once #1143 merges.
Member

Closing — the externalOpenClawTemplate in workspace-server/internal/handlers/external_connection.go already pins molecule-ai-workspace-runtime>=0.1.999 and documents that the molecule-mcp console script is required for heartbeat. No further change needed.

Closing — the `externalOpenClawTemplate` in `workspace-server/internal/handlers/external_connection.go` already pins `molecule-ai-workspace-runtime>=0.1.999` and documents that the `molecule-mcp` console script is required for heartbeat. No further change needed.
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#1141