fix(mcp): read MOLECULE_API_URL env var for platform base URL

MOLECULE_API_URL is the canonical platform env var per platform docs
(docs/development/constraints-and-rules.md). The MCP server was reading
MOLECULE_URL instead, causing it to default to localhost:8080 when used
in environments that only set MOLECULE_API_URL.

Added MOLECULE_API_URL as the highest-priority source, with legacy fallbacks
(MOLECULE_URL, PLATFORM_URL) preserved for existing deployments.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Molecule AI · sdk-dev 2026-04-24 05:41:13 +00:00
parent e73b53e464
commit 0726dd52cc

View File

@ -1,9 +1,16 @@
// Prefer MOLECULE_URL (the canonical MCP env var), fall back to PLATFORM_URL
// (what the workspace runtime already injects for heartbeat/register), and
// only then to localhost:8080. Injecting MOLECULE_URL at container provision
// is handled by platform/internal/provisioner/provisioner.go; this fallback
// chain protects older containers and host-side users alike. Fixes #67.
// Read the platform API base URL from environment.
// Priority: MOLECULE_API_URL (canonical CLI/SDK env var, per platform docs)
//
// > Required environment variables:
// > MOLECULE_API_URL — Control plane API base URL
// > MOLECULE_RUNTIME_URL — Workspace runtime URL
// > (per docs/development/constraints-and-rules.md)
//
// Fallbacks exist for legacy callers (MOLECULE_URL, PLATFORM_URL) and
// localhost dev default. Injecting MOLECULE_API_URL at container provision
// is handled by platform/internal/provisioner/provisioner.go.
export const PLATFORM_URL =
process.env.MOLECULE_API_URL ||
process.env.MOLECULE_URL ||
process.env.PLATFORM_URL ||
"http://localhost:8080";