Runtimes
How Skilder runtimes execute MCP servers and route tool calls between agents and tools across different deployment modes.
A runtime manages MCP server processes and routes tool calls between agents and the tools those servers provide.
Runtime Modes
The Skilder runtime operates in one of four modes, depending on how it's configured:
| Mode | Activation | Use Case |
|---|---|---|
| MCP_STDIO | USER_KEY env var set | Connect a single agent (e.g., Claude Desktop) to Skilder via stdio |
| EDGE | RUNTIME_KEY or SYSTEM_KEY set, no REMOTE_PORT | Execute MCP tools on edge hardware, connected via NATS |
| EDGE_MCP_STREAM | RUNTIME_KEY/SYSTEM_KEY + REMOTE_PORT set | Edge runtime exposed via HTTP (SSE + Streamable HTTP transports) |
| STANDALONE_MCP_STREAM | Only REMOTE_PORT set | Pure MCP server over HTTP, no NATS connection needed |
MCP_STDIO (User Agent Mode)
The simplest mode. One runtime, one agent, connected via stdin/stdout. This is what Claude Desktop and similar local clients use.
USER_KEY=USK_your_key npx @skilder-ai/runtimeEDGE (Runtime Tool Executor)
A long-running process that connects to the Skilder backend via NATS and executes MCP tools. Used for managed cloud deployments or on-premises infrastructure.
RUNTIME_KEY=RTK_your_key NATS_SERVERS=nats://... npx @skilder-ai/runtimeEDGE_MCP_STREAM (Edge with Remote Access)
Same as EDGE, but also exposes SSE and Streamable HTTP endpoints for remote MCP clients (Copilot, ChatGPT, Cursor).
RUNTIME_KEY=RTK_your_key REMOTE_PORT=3001 NATS_SERVERS=nats://... npx @skilder-ai/runtimeSTANDALONE_MCP_STREAM (Headless MCP Server)
Runs as a pure HTTP MCP server without NATS. Useful for standalone deployments where you want MCP access without the full Skilder backend.
REMOTE_PORT=3001 npx @skilder-ai/runtimeWhat the Runtime Does
- Process lifecycle — Starts, monitors, and stops MCP server processes as needed. Supports lazy-start with idle timeout.
- Environment variables and secrets — Injects configuration and credentials into each server at startup.
- Tool call routing — Receives requests from NATS (or HTTP), forwards to the correct MCP server, returns results.
- Isolation — Each MCP server runs in its own process.
- OAuth token provisioning — Transparently provides OAuth tokens to MCP servers that need them.
- Asset caching — Resolves
@skilder-asset:/paths to local cached files for cross-tool asset sharing.
MCP Server Status
| Status | Meaning |
|---|---|
| Connected | Healthy, tools available |
| Starting | Initializing, wait and refresh |
| Pending | Being set up |
| Idle | Stopped due to inactivity, will restart on next tool call |
| Error | Something failed — check error details |
| Disconnected | Stopped, try restart |
Supported Transports
| Transport | Description |
|---|---|
| STDIO | Local stdin/stdout — used by Claude Desktop, local agents |
| SSE | Server-Sent Events over HTTP — used by some remote clients |
| Streamable HTTP | Modern HTTP-based MCP transport — used by ChatGPT, Copilot |
Benefits
- Zero setup — MCP servers run as soon as you install them. No manual process management.
- Managed uptime — The runtime handles process health, restarts, and resource allocation.
- Consistent environment — Standardized runtime eliminates configuration drift.
Environment Variables
MCP servers need credentials or config to connect to external services. Configure these as environment variables when installing or editing a server. The runtime injects them at startup. Sensitive values are stored securely and never exposed after initial entry.
See Configuration for the full list of runtime environment variables.