LabscoMCP early access ↗
shadowcz007MCP SERVER · OFFICIAL PROJECT

MCP Server Executable

Run several MCP servers behind one process, chain their tools into sequences, and schedule the result — with a WebSocket mode for connecting the lot to xiaozhi.me.

by shadowcz007 ↗MCP Plumbing: Proxies, Registries & Inspectors✓ Official

LABSCO SUMMARY

Aggregation plus the two things aggregation usually lacks: sequencing and a schedule.

Combining MCP servers is common; chaining their tools into a named sequence with explicit output mapping is not, and it turns a five-call dance into one tool the model can invoke. The cron mode is the other half — the same chain can run every thirty seconds and push the result to your desktop or a phone, without an agent in the loop at all.

What it is

An MCP launcher and router. It reads a mcp.json in the same shape Cursor uses, connects to the backends listed there over SSE or stdio, and re-exposes the combined tools. On top of that it adds tool chains, a plugin mechanism for tools you write yourself, cron scheduling, and a WebSocket client mode.

What you get

  • Several MCP services combined behind one endpoint, with tools acting as an allow-list and namespace setting the separator that keeps names distinct — an empty tools array means no filtering
  • Tool chains: a named sequence of steps where each step can take its arguments from an earlier step's output through outputMapping and fromStep, and output.steps picks which step's result is returned
  • Custom tools, resources and prompts defined in a JavaScript file loaded with --mcp-js, exporting configureMcp
  • Scheduled execution with --cronjob: listTools and callTool operations run once at startup and then on the schedule, with results pushed to a desktop notification, an email, or ntfy
  • Auto-reload — changes to the file passed as --mcp-config or --mcp-js restart the service so the new config takes effect
  • WebSocket client mode with --ws, aimed at connecting your combined MCP services to a WebSocket-enabled service such as xiaozhi.me, with automatic reconnection
  • A stable library export, McpRouterServer, so the same routing can be embedded in a Node application instead of run as a CLI
  • Packaged executables for Windows and macOS if you would rather double-click than install anything

Requirements

Node with npx, or one of the packaged binaries. Run it as npx mcp_exe --mcp-config ./examples/mcp.json (package mcp_exe, 0.12.0). Defaults: port 3000, SSE transport with a GET on / establishing a session and a POST to /sessions?sessionId=... carrying messages; --transport set to stdio switches modes, and --ws takes priority over both. --log-level controls output from TRACE through FATAL. Notification transports need their own settings — email needs to and subject, ntfy needs url, topic, tags and priority, and desktop notifications need a local desktop environment. Licensed MIT.

Setup effort

One command — npx mcp_exe --mcp-config ./examples/mcp.json