@fusedashlabs/ui9000-workspace
Version:
UI9000 workspace MCP. One tool, show_workspace, draws a chart from your table. Set TYPESAFE_API_KEY to let Jev choose the chart.
31 lines (30 loc) • 1.13 kB
JavaScript
/**
* `ui9000-workspace-server` — stdio by default; `--http` (or MCP_HTTP=1) for
* Claude.ai / ChatGPT connectors.
*/
import { startWorkspaceHttpServer } from './server/http-workspace.js';
import { startWorkspaceServer } from './workspace-server.js';
const http = process.argv.includes('--http') ||
process.env.MCP_HTTP === '1' ||
process.env.MCP_HTTP === 'true';
void (async () => {
if (http) {
const server = await startWorkspaceHttpServer();
let stopping = false;
const stop = () => {
if (stopping)
return;
stopping = true;
void server.close().then(() => process.exit(0), () => process.exit(1));
};
process.on('SIGINT', stop);
process.on('SIGTERM', stop);
process.stderr.write(`UI9000-Workspace MCP HTTP ${server.url}${server.path} (Claude connector URL path /mcp)\n`);
return;
}
await startWorkspaceServer();
})().catch((error) => {
process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}\n`);
process.exit(1);
});