Skip to main content

Running Modes

Station can run in three different modes:
ModeCommandBest For
Serverstn serveLocal development, direct access
Dockerstn upIsolated deployment, CI/CD
stdiostn stdioDirect MCP integration

Server Mode

Start Station directly on your machine:
stn serve
This starts all Station services:
ServiceDefault PortDescription
API/UI8585REST API and Web management interface
MCP8586Model Context Protocol server
Agent MCP8587OAuth-protected dynamic agent MCP
SSH2222SSH admin interface

Custom Ports

stn serve --api-port 9000 --mcp-port 9001 --ssh-port 2223

With Telemetry

# Start Jaeger first
stn jaeger up

# Start Station with telemetry enabled
stn serve --enable-telemetry
View traces at http://localhost:16686

Docker Mode

Start Station in an isolated Docker container:
stn up

What stn up Does

  1. Builds/pulls the Station container image
  2. Creates Docker volume for configuration persistence
  3. Mounts your current directory as /workspace
  4. Starts the container with all services
  5. Updates .mcp.json for Claude Desktop integration

With Bundle

Install a CloudShip bundle on startup:
stn up --bundle e26b414a-f076-4135-927f-810bc1dc892a

With Custom Workspace

stn up --workspace ~/projects/my-project

Development Mode

Enable Genkit Developer UI for debugging:
stn up --develop
Access Genkit UI at http://localhost:4000

Stopping

# Stop container (data preserved)
stn down

# Stop and delete all data
stn down --remove-volume

stdio Mode

For direct MCP integration with AI editors:
stn stdio
This mode:
  • Runs MCP server over stdin/stdout
  • Used by Claude Desktop, Cursor, etc.
  • No network ports exposed

Claude Desktop Integration

Add to your Claude Desktop config:
{
  "mcpServers": {
    "station": {
      "command": "stn",
      "args": ["stdio"]
    }
  }
}

Telemetry

Station supports OpenTelemetry for distributed tracing.

Quick Setup

# Start Jaeger
stn jaeger up

# Verify it's running
stn jaeger status

# Start Station with telemetry
stn serve --enable-telemetry

Manual Configuration

Set in config.yaml:
telemetry_enabled: true
otel_endpoint: http://localhost:4318
Or via environment:
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
export OTEL_SERVICE_NAME=station
stn serve

Viewing Traces

Open Jaeger UI at http://localhost:16686 and search for service station.

Health Checks

Check if Station is running:
stn status
Or via API:
curl http://localhost:8585/api/v1/health

Logs

View server logs:
# For stn up (Docker mode)
stn logs

# Follow logs
stn logs --follow

Auto-Sync on Startup

When Station starts, it automatically syncs configurations from file-based configs:
📁 Syncing environment: default
   ✓ Loaded 3 MCP servers from template.json
   ✓ Loaded 2 agents from agents/*.prompt
   ✓ Synced 15 tools
To skip auto-sync:
stn serve --skip-sync