Skip to content

Commit 3dfa0ba

Browse files
hyperpolymathclaude
andcommitted
fix(mcp-bridge): honest boj_health message — REST is not deployed
The prior message told users to run `systemctl --user start boj-server`, but that unit runs the stdio MCP bridge itself, not a REST server. Users who followed the hint saw no change and were left guessing. Replace with status="rest-unavailable", mode="stdio-only", and plain prose stating the REST server is pending the Elixir rewrite. Apply the same treatment to invokeCartridge's error path. Found via DOGFOOD-LOG.adoc 2026-04-18 entry (MCP-routed dogfood surfaced the misleading hint). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 056534a commit 3dfa0ba

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

mcp-bridge/lib/api-clients.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@ async function fetchHealth() {
2424
const res = await fetch(`${BOJ_BASE}/health`);
2525
return await res.json();
2626
} catch {
27-
return { status: "offline", message: "BoJ REST API not reachable. Start the server with: systemctl --user start boj-server" };
27+
return {
28+
status: "rest-unavailable",
29+
mode: "stdio-only",
30+
message: "BoJ REST API is not currently deployed — pending Elixir rewrite. The systemd unit `boj-server.service` starts the stdio MCP bridge, not a REST server on " + BOJ_BASE + ". Offline-capable tools (menu, cartridges, cartridge-info) still work via static fallbacks; REST-only tools (health, invoke, research, codeseeker) will return this error until the Elixir port ships.",
31+
base_url_probed: BOJ_BASE,
32+
};
2833
}
2934
}
3035

@@ -75,7 +80,12 @@ async function invokeCartridge(name, params) {
7580
});
7681
return await res.json();
7782
} catch {
78-
return { error: "BoJ REST API not reachable. Invocation requires a running server.", cartridge: name, hint: "Start with: systemctl --user start boj-server" };
83+
return {
84+
error: "rest-unavailable",
85+
cartridge: name,
86+
message: "Cartridge invocation requires the BoJ REST server, which is not currently deployed (pending Elixir rewrite). The stdio MCP bridge cannot route /cartridge/" + name + "/invoke on its own.",
87+
base_url_probed: BOJ_BASE,
88+
};
7989
}
8090
}
8191

0 commit comments

Comments
 (0)