# rstream CLI MCP (oci · docker.io/rstream/rstream)

Local stdio MCP server for rstream setup, tunnels, WebTTY, and remote operations.

- Trust score: 51/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- oci · `docker.io/rstream/rstream`: 51/100 (this document), [markdown](https://verifymcp.io/servers/rstreamlabs-rstream/docker-io-rstream-rstream.md), [page](https://verifymcp.io/servers/rstreamlabs-rstream/docker-io-rstream-rstream)

## Channel facts

- Registry: `oci`
- Package: `docker.io/rstream/rstream`
- Version: `1.36.4`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 0/100
  - No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  - Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.
  - Install-script risk not yet assessed.
  - Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.
- **Provenance & Transparency**: 35/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 12 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 9357 tokens (~143/item across 65 items; 65 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 99% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 66 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the rstream CLI MCP server?

rstream CLI MCP runs locally as a container image, launched with docker run --rm -i docker.io/rstream/rstream:1.36.4. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add rstreamlabs-rstream -- docker run --rm -i docker.io/rstream/rstream:1.36.4
```

### Cursor

```json
{
  "mcpServers": {
    "rstreamlabs-rstream": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/rstream/rstream:1.36.4"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "rstreamlabs-rstream": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/rstream/rstream:1.36.4"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add rstreamlabs-rstream -- docker run --rm -i docker.io/rstream/rstream:1.36.4
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "rstreamlabs-rstream": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/rstream/rstream:1.36.4"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  rstreamlabs-rstream:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/rstream/rstream:1.36.4"]
```

### Netclaw

```json
{
  "McpServers": {
    "rstreamlabs-rstream": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "docker.io/rstream/rstream:1.36.4"
      ]
    }
  }
}
```

### Other

```json
{
  "mcpServers": {
    "rstreamlabs-rstream": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/rstream/rstream:1.36.4"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 51, 0)

- [security] Stability: 0.97 → pass

### 2026-11-04 (score 51, 0)

- [functional] Stability: pass → 0.97

### 2026-10-28 (score 51, 0)

- [security] Stability: 0.97 → pass

### 2026-10-27 (score 51, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-24 (score 50, +1)

- [functional] Package version: 1.36.3 → 1.36.4
- [functional] Package version: 1.34.1 → 1.36.4

### 2026-10-23 (score 49, 0)

- [functional] Package version: 1.36.1 → 1.36.3

### 2026-10-22 (score 49, +1)

No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 48, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (65)

### `rstream_auth_start` (~131 tokens)

Start rstream login

Start the local rstream OAuth device login flow and return a user approval URL without exposing tokens. Show login_url to the user; do not extract or repeat a code from the URL. A separate user_code field is returned only when the provider cannot embed it in the URL. The default permissions cover the CLI MCP workstation surface; explicit permissions are added to that bundle instead of replacing it.

Input parameters:

- `api_url` (string): Optional rstream API URL. Defaults to RSTREAM_API_URL or the public rstream API.
- `permissions` (array): Optional additional permissions to union with the MCP workstation permission bundle.

Output parameters:

- `expires_at` (string): Login request expiry time.
- `id` (string): Local auth session ID.
- `login_url` (string): User approval URL.
- `scopes` (array)

### `rstream_auth_poll` (~112 tokens)

Finish rstream login

Poll a local rstream OAuth device login session and store the approved token in the CLI config without returning it. After rstream_auth_start in setup or prepare flows, call this with wait=true and a bounded timeout so the user does not need to type a confirmation message.

Input parameters:

- `id` (string, required): Auth session ID returned by rstream_auth_start.
- `timeout_seconds` (number): Optional wait timeout in seconds when wait is true.
- `wait` (boolean): Wait for browser approval instead of polling once.

Output parameters:

- `authenticated` (boolean)
- `expires_at` (string): Login request expiry time.
- `id` (string): Local auth session ID.
- `next_poll_after_seconds` (number)
- `status` (string): Login status.

### `rstream_context_list` (~22 tokens)

List rstream contexts

List local rstream CLI contexts available to this MCP server.

Output parameters:

- `contexts` (array): Configured local rstream contexts.

### `rstream_context_get` (~40 tokens)

Inspect rstream context

Get one local rstream CLI context, or the default context when name is omitted.

Input parameters:

- `name` (string): Optional local rstream context name.

### `rstream_project_creation_options` (~32 tokens)

Project Creation Options

Return project creation options and billing actions for a workspace.

Input parameters:

- `workspace_id` (string, required): Workspace ID.

### `rstream_project_create` (~161 tokens)

Create Tunnel Project

Create a tunnel project, or start Stripe checkout only when start_checkout is true.

Input parameters:

- `creation_fingerprint` (string, required): Creation fingerprint from project creation options.
- `idempotency_key` (string): Optional idempotency key. A safe key is generated when omitted.
- `name` (string, required): Project name.
- `plan` (string, required): Project plan from creation options.
- `provider` (string): Infrastructure provider from project creation options.
- `region` (string): Region for regional routing; omit for global routing.
- `routing` (string): Global or regional routing. Defaults to regional.
- `start_checkout` (boolean): Start Stripe checkout instead of direct creation. Set only after explicit user approval.
- `workspace_id` (string, required): Workspace ID.

Output parameters:

- `action` (string): Project creation action.
- `checkout` (object)
- `project` (object)

### `rstream_project_update` (~40 tokens)

Update Tunnel Project

Update a tunnel project's display name.

Input parameters:

- `name` (string, required): New project name.
- `project_id` (string, required): Tunnel project ID to update.

Output parameters:

- `project` (object)

### `rstream_project_delete` (~45 tokens)

Delete Tunnel Project

Delete a tunnel project after explicit user approval. Use this only for the exact project the user asked to remove.

Input parameters:

- `project_id` (string, required): Tunnel project ID to delete.

Output parameters:

- `action` (string): Project deletion action.
- `project_id` (string): Deleted project ID.

### `rstream_project_list` (~140 tokens)

List Tunnel Projects

List tunnel projects available through the local rstream Control plane context. If multiple projects are returned and the user did not name one, list the choices and ask for a project name, endpoint, or ID; do not recommend a default from project names such as Dev, Test, or Prod.

Input parameters:

- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `q` (string): Optional project search query.
- `sort` (string): Optional sort key.
- `workspace_id` (string): Optional workspace ID. When omitted, lists across accessible workspaces.

Output parameters:

- `projects` (array): Tunnel projects available to the current account.

### `rstream_project_logs` (~146 tokens)

List Project Logs

List tunnel request and connection logs for a tunnel project.

Input parameters:

- `after_event_id` (string): Optional event ID cursor.
- `end` (string): Optional end date.
- `event_type` (string): Optional event type filter.
- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `project_id` (string, required): Tunnel project ID.
- `start` (string): Optional start date.
- `timeline` (string): Optional timeline: 30m, 1h, 12h, 24h, 3d, 1w, or 30d.

Output parameters:

- `events` (array): Project log or lifecycle events.

### `rstream_project_events_list` (~154 tokens)

List Project Events

List canonical lifecycle events for a tunnel project. This is separate from request and connection logs.

Input parameters:

- `after_event_id` (string): Optional event ID cursor.
- `end` (string): Optional end date.
- `event_type` (string): Optional event type filter.
- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `project_id` (string, required): Tunnel project ID.
- `start` (string): Optional start date.
- `timeline` (string): Optional timeline: 30m, 1h, 12h, 24h, 3d, 1w, or 30d.

Output parameters:

- `events` (array): Project log or lifecycle events.

### `rstream_project_webhooks_list` (~106 tokens)

List Project Webhooks

List webhook destinations configured on a tunnel project.

Input parameters:

- `destination_type` (string): Optional destination type filter.
- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `project_id` (string, required): Tunnel project ID.
- `q` (string): Optional webhook search query.
- `sort` (string): Optional sort key.
- `status` (string): Optional status filter.

Output parameters:

- `webhooks` (array): Webhook destinations configured on the project.

### `rstream_project_webhook_deliveries_list` (~124 tokens)

List Webhook Deliveries

List delivery records for a webhook destination, including status and delivery metadata.

Input parameters:

- `end` (string): Optional end date.
- `event_type` (string): Optional event type filter.
- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `project_id` (string, required): Tunnel project ID.
- `start` (string): Optional start date.
- `status` (string): Optional status filter.
- `webhook_id` (string, required): Webhook ID.

Output parameters:

- `deliveries` (array): Webhook delivery records.

### `rstream_project_webhook_delivery_get` (~61 tokens)

Get Webhook Delivery

Get one webhook delivery with attempts, request body, response metadata, and errors.

Input parameters:

- `delivery_id` (string, required): Delivery ID.
- `project_id` (string, required): Tunnel project ID.
- `webhook_id` (string, required): Webhook ID.

### `rstream_project_usage` (~34 tokens)

Get Project Usage

Return current-period tunnel and TURN bandwidth usage for a tunnel project.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

### `rstream_project_plan_get` (~42 tokens)

Get Project Plan

Return a tunnel project's current plan, feature list, and quota metadata before using plan-gated features.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

### `rstream_project_turn_usage` (~35 tokens)

Get Project TURN Usage

Return TURN relay usage breakdowns for the last 30 days.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

### `rstream_project_turn_credentials_create` (~104 tokens)

Create TURN Credentials

Create short-lived TURN credentials for a tunnel project after explicit user approval. The response contains TURN secrets; do not log or paste it unless the user explicitly needs the credential material.

Input parameters:

- `project_endpoint` (string): Tunnel project endpoint. Required unless project_id is provided.
- `project_id` (string): Tunnel project ID. Required unless project_endpoint is provided.
- `ttl_seconds` (number): Optional credential TTL in seconds, between 1 and 3600.

### `rstream_project_domains_list` (~84 tokens)

List Project Domains

List stable custom domains configured on a tunnel project.

Input parameters:

- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `project_id` (string, required): Tunnel project ID.
- `q` (string): Optional domain search query.
- `sort` (string): Optional sort key.

Output parameters:

- `domains` (array): Stable domains configured on the project.

### `rstream_project_domain_create` (~95 tokens)

Create Project Domain

Attach a custom domain to a tunnel project after explicit user approval.

Input parameters:

- `certificate_validation` (string): Optional certificate validation method. Defaults to TLS-ALPN-01 for hostnames and DNS-01 for wildcards.
- `hostname` (string, required): Custom hostname or wildcard base domain to attach.
- `kind` (string): Optional domain kind. Defaults to hostname.
- `project_id` (string, required): Tunnel project ID.

### `rstream_project_domain_get` (~65 tokens)

Get Project Domain

Return verification and DNS details for a project domain.

Input parameters:

- `domain_id` (string): Project domain ID. Required unless hostname is provided.
- `hostname` (string): Custom hostname. Required unless domain_id is provided.
- `project_id` (string, required): Tunnel project ID.

### `rstream_project_domain_delete` (~68 tokens)

Delete Project Domain

Remove a custom domain from a tunnel project after explicit user approval.

Input parameters:

- `domain_id` (string): Project domain ID. Required unless hostname is provided.
- `hostname` (string): Custom hostname. Required unless domain_id is provided.
- `project_id` (string, required): Tunnel project ID.

### `rstream_project_domain_verify` (~66 tokens)

Verify Project Domain

Re-check ownership and DNS configuration for a project domain.

Input parameters:

- `domain_id` (string): Project domain ID. Required unless hostname is provided.
- `hostname` (string): Custom hostname. Required unless domain_id is provided.
- `project_id` (string, required): Tunnel project ID.

### `rstream_project_domain_connect` (~72 tokens)

Get Domain Connect URL

Return a Domain Connect apply URL for a project domain when the DNS provider supports it.

Input parameters:

- `domain_id` (string): Project domain ID. Required unless hostname is provided.
- `hostname` (string): Custom hostname. Required unless domain_id is provided.
- `project_id` (string, required): Tunnel project ID.

### `rstream_project_tcp_addresses_list` (~33 tokens)

List project TCP addresses

List reserved TCP addresses configured on a tunnel project.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

Output parameters:

- `addresses` (array): Reserved TCP addresses configured on the project.

### `rstream_project_tcp_address_reserve` (~37 tokens)

Reserve project TCP address

Reserve a TCP address for a tunnel project after explicit user approval.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

### `rstream_project_tcp_address_release` (~44 tokens)

Release project TCP address

Release a reserved TCP address after explicit user approval.

Input parameters:

- `port` (number, required): Reserved public TCP port.
- `project_id` (string, required): Tunnel project ID.

### `rstream_project_settings_get` (~32 tokens)

Get Project Settings

Return access and transport settings for a tunnel project.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

### `rstream_project_settings_patch` (~47 tokens)

Patch Project Settings

Patch access and transport settings for a tunnel project after explicit user approval.

Input parameters:

- `project_id` (string, required): Tunnel project ID.
- `settings` (object, required): Partial project settings object.

### `rstream_project_settings_reset` (~36 tokens)

Reset Project Settings

Reset access and transport settings for a tunnel project after explicit user approval.

Input parameters:

- `project_id` (string, required): Tunnel project ID.

### `rstream_local_tunnel_expose` (~663 tokens)

Expose local tunnel

Expose a local service through a persistent rstream forward process managed by the local MCP tunnel registry. Supports the same tunnel option families as rstream forward for local services, including HTTP versions, token auth, rstream Auth, challenge mode, TLS/mTLS, Geo/IP filters, labels, stable domains, and publish/private mode. If the local runtime has no ready context, pass project, project_name, project_endpoint, or project_id instead of minting a token manually. Use the returned cleanup_tool and cleanup_id with the matching MCP stop tool to clean up MCP-managed local tunnels.

Input parameters:

- `challenge_mode` (boolean): Require an interactive browser challenge before HTTP edge access. Requires an HTTP published tunnel.
- `datagram_guaranteed_delivery` (boolean): Require reliable delivery for datagram tunnels.
- `geoip` (array): Optional allowed country codes for published edge access.
- `host` (string): Optional local host, defaults to localhost.
- `http_version` (string): Optional HTTP upstream/public mode when protocol is HTTP: http/1.1, h2c, or h3.
- `labels` (array): Optional rstream labels as key=value entries.
- `mtls` (boolean): Enable mTLS Tunnel access for published clients when supported by the selected project plan.
- `name` (string): Optional tunnel name.
- `port` (string, required): Local port to expose, such as 3000.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `protocol` (string): Optional protocol: http, http/1.1, h2c, h3, tls, dtls, quic, tcp, bytestream, udp, or datagram. Raw udp/datagram tunnels require publish=false; use dtls, quic, or h3 for published datagrams. Defaults…
- `publish` (boolean): Publish the tunnel. Defaults to true. Set false for a private rstrm:// target.
- `rstream_auth` (boolean): Require rstream account authentication at the HTTP edge. Requires an HTTP published tunnel.
- `stable_domain` (string): Optional stable published host. Requires publish=true.
- `tcp_port` (number): Optional reserved public TCP port. Requires protocol=tcp and publish=true.
- `tls_alpns` (array): Optional TLS ALPN protocols.
- `tls_ciphers` (array): Optional TLS cipher IDs.
- `tls_min_version` (string): Optional minimum TLS version.
- `tls_mode` (string): Optional TLS mode for TLS tunnels: terminated or passthrough.
- `token_auth` (boolean): Require rstream token authentication at the HTTP edge. Requires an HTTP published tunnel.
- `trusted_ips` (array): Optional allowed IP or CIDR ranges for published edge access.
- `tunnel_type` (string): Optional raw tunnel type override. Use bytestream for TCP-like services or datagram for UDP-like services.
- `upstream_tls` (boolean): Use TLS for the upstream side. For HTTP this also sets HTTP upstream TLS.

Output parameters:

- `challenge_mode` (boolean)
- `cleanup_id` (string): Local tunnel ID to pass to cleanup_tool.
- `cleanup_tool` (string): MCP tool to call for cleanup.
- `id` (string): Local tunnel ID.
- `pid` (number)
- `protocol` (string): Resolved tunnel protocol.
- `publish` (boolean)
- `rstream_auth` (boolean)
- `token_auth` (boolean)
- `url` (string): Published URL or private rstrm target.

### `rstream_local_tunnel_list` (~25 tokens)

List local tunnels

List local tunnels started through the local rstream MCP tunnel registry.

Output parameters:

- `local_tunnels` (array): Local tunnels managed by this MCP server.

### `rstream_local_tunnel_stop` (~47 tokens)

Stop local tunnel

Stop a local tunnel from the local rstream MCP tunnel registry.

Input parameters:

- `id` (string, required): Local tunnel ID or tunnel ID returned by rstream_local_tunnel_expose.

### `rstream_remote_expose` (~551 tokens)

Expose remote service

Start rstream forward on a POSIX WebTTY remote host to expose a remote-local network service or MCP surface. For a remote MCP surface that Codex will call itself, set publish=false unless the user asked for a public URL or browser access.

Input parameters:

- `env` (array): Environment variables passed to the WebTTY command as KEY=value entries.
- `exec_path` (string): Advertised exec_path from rstream_webtty_list. Defaults to /.
- `host` (string): Optional remote-local host, defaults to 127.0.0.1.
- `id` (string): Optional remote expose ID used for later stop.
- `known_server` (string): Optional local known WebTTY server name for direct WebTTY URLs.
- `labels` (array): Additional rstream labels as key=value entries.
- `mcp_path` (string): Optional remote MCP HTTP path, usually /mcp; adds MCP discovery labels.
- `name` (string): Optional rstream tunnel name.
- `no_discovery` (boolean): Skip engine and control-plane metadata. Requires transport, a configured engine context, and locally configured WebTTY security.
- `port` (string, required): Remote-local port to expose from the WebTTY host.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `protocol` (string): Optional protocol: http, h2c, h3, tls, tcp, udp, dtls, or quic. Raw udp requires publish=false; use dtls, quic, or h3 for published datagrams.
- `publish` (boolean): Publish the exposed resource. Defaults to true. For Codex-only remote MCP calls, pass false.
- `rstream_auth` (boolean): Require rstream account authentication at the edge.
- `rstream_command` (string): Optional rstream executable path on the remote host.
- `stable_domain` (string): Optional stable published host.
- `tcp_port` (number): Optional reserved public TCP port. Requires protocol=tcp and publish=true.
- `timeout_seconds` (number): Seconds to wait for the remote tunnel to report online.
- `token_auth` (boolean): Require rstream token authentication at the edge.
- `transport` (string): Optional transport override; normally discovered from the engine inventory.
- `user` (string): Optional remote username or UID.
- `webtty_url` (string, required): WebTTY URL, for example rstrm://robot-shell.
- `workdir` (string): Optional remote working directory.

Output parameters:

- `command` (array)
- `id` (string): Remote exposure ID.
- `status` (string): Remote exposure status.
- `webtty` (object)

### `rstream_remote_expose_stop` (~245 tokens)

Stop remote exposure

Stop a remote expose process previously started through rstream_remote_expose.

Input parameters:

- `env` (array): Environment variables passed to the WebTTY command as KEY=value entries.
- `exec_path` (string): Advertised exec_path from rstream_webtty_list. Defaults to /.
- `id` (string, required): Remote expose ID returned by rstream_remote_expose.
- `known_server` (string): Optional local known WebTTY server name for direct WebTTY URLs.
- `no_discovery` (boolean): Skip engine and control-plane metadata. Requires transport, a configured engine context, and locally configured WebTTY security.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `transport` (string): Optional transport override; normally discovered from the engine inventory.
- `user` (string): Optional remote username or UID.
- `webtty_url` (string, required): WebTTY URL used to reach the remote host.
- `workdir` (string): Optional remote working directory.

Output parameters:

- `exit_code` (number)
- `id` (string): Remote exposure ID.
- `stderr` (string): Captured stderr.
- `stdout` (string): Captured stdout.

### `rstream_remote_mcp_discover` (~88 tokens)

Discover remote MCP servers

Discover online MCP surfaces exposed through rstream labels.

Input parameters:

- `filter` (string): Optional additional rstream tunnel filter.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.

Output parameters:

- `endpoints` (array): Discovered remote MCP endpoints.

### `rstream_remote_mcp_tools` (~141 tokens)

List remote MCP tools

List tools from a remote MCP server reached through rstream or a published URL.

Input parameters:

- `path` (string): Optional MCP path when url does not include one.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `token` (string): Optional bearer token for token-auth protected published MCP surfaces.
- `url` (string, required): Remote MCP URL, such as rstrm://robot-mcp or https://robot.example.com/mcp.

Output parameters:

- `error` (object)
- `id`
- `jsonrpc` (string): Remote JSON-RPC version.
- `result`

### `rstream_remote_mcp_call` (~181 tokens)

Call remote MCP tool

Call a tool on a remote MCP server reached through rstream or a published URL.

Input parameters:

- `arguments` (object): Remote MCP tool arguments.
- `arguments_json` (string): Remote MCP tool arguments as a JSON object string.
- `path` (string): Optional MCP path when url does not include one.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `token` (string): Optional bearer token for token-auth protected published MCP surfaces.
- `tool` (string, required): Remote MCP tool name.
- `url` (string, required): Remote MCP URL, such as rstrm://robot-mcp or https://robot.example.com/mcp.

Output parameters:

- `error` (object)
- `id`
- `jsonrpc` (string): Remote JSON-RPC version.
- `result`

### `rstream_runtime_prepare` (~216 tokens)

Prepare rstream runtime

Prepare the local rstream runtime for a project on a Codex workstation. This uses the long-lived rstream login credential stored in the CLI config and never mints a short-lived delegated token. Use this before local tunnels, WebTTY, remote exposure, or remote MCP when the selected project or context is missing, stale, or ambiguous. If multiple projects are available and the user did not explicitly name a project, do not guess or recommend one from naming conventions alone; ask the user to choose a project name, endpoint, or ID without adding a preferred example.

Input parameters:

- `context_name` (string): Optional local context name to create or update. Defaults to the selected project name.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `set_default` (boolean): Set the prepared context as default. Defaults to true.

Output parameters:

- `changed` (boolean)
- `context` (object)
- `login` (object)
- `needs_login` (boolean)
- `project` (object)
- `ready` (boolean)

### `rstream_runtime_status` (~60 tokens)

Check rstream status

Return local rstream CLI runtime status without exposing secrets. The response includes agent_guidance with authoritative SDK choices, Engine API auth surfaces including /api/sse and /api/websocket query-token rules, and the self-hosted Engine CE feature boundary.

Output parameters:

- `agent_guidance` (object): Non-secret product guidance for SDK selection and self-hosted CE boundaries.
- `engine` (string): Resolved engine endpoint.
- `needs_context` (boolean)
- `needs_login` (boolean)
- `ready` (boolean)
- `selected_context` (string): Selected local context.
- `suggested_next_tool` (string): Recommended next MCP tool.

### `rstream_token_create` (~288 tokens)

Create short-lived token

Mint a short-lived delegated rstream auth token for immediate browser, URL, or runtime handoff. Do not use this to configure a Codex workstation, create a rstream context, connect local tunnels or WebTTY, or install long-lived remote devices; use rstream_runtime_prepare for workstation flows and long-lived scoped credentials for remote devices. The response contains a bearer token; summarize its purpose, scope, and lifetime, but do not print the raw token unless the user explicitly asks to see or copy the token value. When scoping Engine access, pass the full token resource object under resources_json. Example for a read-only project token: {"tunnels":{"projects":["PROJECT_ID"],"scopes":{"tunnels":{"list":true}}}}. Scope actions must match permissions: tunnels.resources.read-only requires list; webtty.sessions.read-only requires list; webtty.logs.read-only requires list; tunnels.tunnels.create-delete requires create; tunnels.streams.create-delete requires connect; webtty.sessions.read-write requires list and connect.

Input parameters:

- `permissions` (array, required): Permissions to include in the minted token.
- `resources_json` (string): Optional full resource boundary JSON object, for example {"tunnels":{"projects":["PROJECT_ID"],"scopes":{"tunnels":{"list":true}}}} for read-only tunnel or WebTTY access.
- `ttl_seconds` (number): Optional token lifetime in seconds.

Output parameters:

- `error` (string): Token creation error.
- `expires_at` (string): UTC token expiration time derived from the JWT exp claim.
- `permissions` (array)
- `resources` (object)
- `token` (string): Bearer token value.
- `token_type` (string): Token type claim.
- `ttl_seconds` (number)

### `rstream_workspace_list` (~46 tokens)

List Workspaces

List workspaces available through the local rstream Control plane context.

Input parameters:

- `membershipStatus` (string): Optional membership status filter.
- `type` (string): Optional workspace type filter.

Output parameters:

- `workspaces` (array): Workspaces available to the current account.

### `rstream_workspace_members_list` (~87 tokens)

List Workspace Members

List users and invited users with access to a workspace and their roles.

Input parameters:

- `order` (string): Optional sort direction.
- `page` (number): Optional result page.
- `page_size` (number): Optional page size.
- `q` (string): Optional member search query.
- `sort` (string): Optional sort key.
- `workspace_id` (string, required): Workspace ID.

Output parameters:

- `members` (array): Members of the selected workspace.

### `rstream_webtty_list` (~163 tokens)

List WebTTY servers

List online WebTTY servers exposed through rstream. Use this before remote command execution, filesystem access, remote exposure, or remote MCP setup; each result advertises exec_path, fs_path, filesystem mode, and capabilities when available.

Input parameters:

- `filter` (string): Optional rstream tunnel filter, such as name=shell or labels.rstream.webtty.label.role=codex. A bare value is treated as a tunnel name.
- `name` (string): Optional WebTTY tunnel name to search for.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.

Output parameters:

- `servers` (array)

### `rstream_webtty_servers_list` (~180 tokens)

List WebTTY Servers

List WebTTY servers visible from the local MCP runtime. Includes registered servers from the Control plane and lightweight online WebTTY tunnels from the Engine.

Input parameters:

- `filter` (string): Optional lightweight tunnel filter.
- `name` (string): Optional lightweight WebTTY name filter.
- `page` (number): Optional registered server page.
- `page_size` (number): Optional registered server page size.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `q` (string): Optional registered server search query.
- `status` (string): Optional registered server status.
- `type` (string): Optional server type: all, lightweight, or registered.

Output parameters:

- `lightweight` (array)
- `registered` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_server_get` (~140 tokens)

Get WebTTY Server

Inspect one registered WebTTY server or one lightweight WebTTY tunnel resolved by name, server ID, or tunnel ID.

Input parameters:

- `name` (string): WebTTY server or tunnel name.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `server_id` (string): Registered WebTTY server ID.
- `tunnel_id` (string): Lightweight WebTTY tunnel ID.
- `type` (string): Optional server type: lightweight or registered.

Output parameters:

- `server` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_server_create` (~177 tokens)

Create Registered WebTTY Server

Create a registered WebTTY server record. This does not start a remote process; it returns the server record and the local run/enrollment commands.

Input parameters:

- `access_policy` (string): Access policy: project_members or restricted.
- `description` (string): Optional server description.
- `encryption_policy` (string): Encryption policy: disabled, explicit_key, or workspace_managed.
- `labels` (array): Optional labels as key=value entries.
- `name` (string, required): Registered WebTTY server name.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `recording_policy` (string): Recording policy: recorded or private.

Output parameters:

- `enrollment` (object)
- `server` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_server_update` (~168 tokens)

Update Registered WebTTY Server

Update mutable metadata on a registered WebTTY server record.

Input parameters:

- `access_policy` (string): Optional access policy: project_members or restricted.
- `description` (string): Optional new server description.
- `labels` (array): Optional replacement labels as key=value entries.
- `name` (string): Optional new server name.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `recording_policy` (string): Optional recording policy: recorded or private.
- `server_id` (string, required): Registered WebTTY server ID.
- `status` (string): Optional status: active or suspended.

Output parameters:

- `server` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_server_delete` (~89 tokens)

Delete Registered WebTTY Server

Delete a registered WebTTY server record after explicit user approval.

Input parameters:

- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `server_id` (string, required): Registered WebTTY server ID.

Output parameters:

- `deleted` (boolean)
- `server_id` (string): Deleted registered WebTTY server ID.
- `surface` (string): MCP surface name.

### `rstream_webtty_server_enrollment_get` (~102 tokens)

Get WebTTY Enrollment

Return the commands needed to enroll and run a registered WebTTY server. The tool does not launch a remote process.

Input parameters:

- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `server_id` (string, required): Registered WebTTY server ID.

Output parameters:

- `enrollment` (object)
- `server` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_exec` (~216 tokens)

Execute WebTTY Command

Execute a non-interactive command through a WebTTY server.

Input parameters:

- `command` (array, required)
- `env` (array)
- `exec_path` (string): Advertised exec_path from rstream_webtty_list. Defaults to /.
- `known_server` (string): Optional local known WebTTY server name for direct URLs.
- `no_discovery` (boolean): Skip engine and control-plane metadata. Requires transport, a configured engine context, and locally configured WebTTY security.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `transport` (string): Optional transport override; normally discovered from the engine inventory.
- `url` (string, required): WebTTY URL, for example rstrm://shell.
- `user` (string): Optional username or UID.
- `workdir` (string): Optional working directory.

Output parameters:

- `command` (array)
- `duration_ms` (number)
- `error` (string): Safe execution error summary.
- `error_kind` (string)
- `exit_code` (number)
- `stderr` (string): Captured stderr, including partial output on session failure.
- `stdout` (string): Captured stdout, including partial output on session failure.
- `surface` (string): MCP surface name.
- `truncated` (boolean)
- `url` (string): Resolved WebTTY URL.

### `rstream_webtty_sessions_list` (~187 tokens)

List WebTTY Sessions

List managed WebTTY sessions through the local Engine API context.

Input parameters:

- `group_id` (string): Optional session group ID filter.
- `limit` (number): Optional limit.
- `origin` (string): Optional session origin filter.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `server_id` (string): Optional registered server ID filter.
- `started_after` (string): Optional RFC3339 start lower bound.
- `started_before` (string): Optional RFC3339 start upper bound.
- `status` (string): Optional session status filter.
- `tunnel_id` (string): Optional tunnel ID filter.
- `user_id` (string): Optional user ID filter.

Output parameters:

- `sessions` (array)
- `surface` (string): MCP surface name.

### `rstream_webtty_session_get` (~85 tokens)

Get WebTTY Session

Get metadata for one managed WebTTY session.

Input parameters:

- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `session_id` (string, required): WebTTY session ID.

Output parameters:

- `session` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_session_events` (~112 tokens)

List WebTTY Session Events

Read a bounded page of metadata events for one managed WebTTY session.

Input parameters:

- `from_seq` (string): Optional first event sequence.
- `limit` (number): Optional event limit.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `session_id` (string, required): WebTTY session ID.

Output parameters:

- `events` (array)
- `surface` (string): MCP surface name.

### `rstream_webtty_session_export` (~242 tokens)

Export WebTTY Session

Export a managed WebTTY recording as readable text or raw event data. End-to-end encrypted sessions decrypt only when the local trusted device has a valid grant.

Input parameters:

- `format` (string): Export format: text or raw.
- `from_seq` (string): Optional first event sequence.
- `include_resize_markers` (boolean): Include resize markers in text export.
- `include_stderr` (boolean): Include stderr in exports. Defaults to true.
- `include_stdin` (boolean): Include stdin in exports.
- `include_stdout` (boolean): Include stdout in exports. Defaults to true.
- `include_timestamps` (boolean): Include timestamps in text export.
- `max_events` (number): Optional maximum number of events.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `session_id` (string, required): WebTTY session ID.
- `terminal_mode_markers` (boolean): Include terminal mode markers in text export. Defaults to true.

Output parameters:

- `export` (object)
- `format` (string): Export format.
- `session_id` (string): WebTTY session ID.
- `surface` (string): MCP surface name.
- `text` (string): Rendered text export.

### `rstream_webtty_session_participants` (~86 tokens)

List WebTTY Participants

List participants for one managed WebTTY session.

Input parameters:

- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `session_id` (string, required): WebTTY session ID.

Output parameters:

- `participants` (array)
- `surface` (string): MCP surface name.

### `rstream_webtty_control_requests_list` (~122 tokens)

List WebTTY Control Requests

List control-transfer requests for one managed WebTTY session.

Input parameters:

- `limit` (number): Optional limit.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `requester_user_id` (string): Optional requester user ID filter.
- `session_id` (string, required): WebTTY session ID.
- `status` (string): Optional request status filter.

Output parameters:

- `control_requests` (array)
- `surface` (string): MCP surface name.

### `rstream_webtty_control_request_create` (~128 tokens)

Create WebTTY Control Request

Request control of a managed WebTTY session. This never grants control implicitly.

Input parameters:

- `expires_at` (string): Optional RFC3339 expiration time.
- `participant_id` (string, required): Requester participant ID.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `reason` (string): Optional request reason.
- `session_id` (string, required): WebTTY session ID.

Output parameters:

- `control_request` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_control_request_resolve` (~155 tokens)

Resolve WebTTY Control Request

Resolve a pending WebTTY control request as granted, refused, revoked, or expired according to existing authorization rules.

Input parameters:

- `action` (string, required): Resolution action: grant, refuse, revoke, or expire.
- `approver_participant_id` (string): Optional approver participant ID.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `reason` (string): Optional resolution reason.
- `request_id` (string, required): Control request ID.
- `session_id` (string, required): WebTTY session ID.

Output parameters:

- `control_request` (object)
- `surface` (string): MCP surface name.

### `rstream_webtty_fs_download` (~208 tokens)

Download remote file

Download a file from a WebTTY filesystem sidecar to a local Codex-accessible path. Prefer this MCP tool over shelling out to rstream webtty fs download. Remote paths are relative to the server --fs-root.

Input parameters:

- `fs_path` (string): Advertised fs_path from rstream_webtty_list. Defaults to /fs.
- `local_path` (string, required): Local destination path on the Codex workstation.
- `overwrite` (boolean): Overwrite local_path if it already exists. Defaults to false.
- `path` (string, required): File path inside the advertised filesystem root, for example /logs/latest.tar.gz.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `url` (string, required): WebTTY URL, for example rstrm://shell.

Output parameters:

- `bytes` (number)
- `ok` (boolean)
- `path` (string): Local destination path.

### `rstream_webtty_fs_list` (~163 tokens)

List remote files

List a directory exposed by a WebTTY filesystem sidecar. Paths are relative to the server --fs-root; use / for that root, not the host filesystem root.

Input parameters:

- `fs_path` (string): Advertised fs_path from rstream_webtty_list. Defaults to /fs.
- `path` (string): Path inside the advertised filesystem root, for example / or /compose.yaml's parent directory.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `url` (string, required): WebTTY URL, for example rstrm://shell.

Output parameters:

- `entries` (array): Directory entries below the advertised filesystem root.

### `rstream_webtty_fs_read` (~182 tokens)

Read remote file

Read a text or small binary file exposed by a WebTTY filesystem sidecar. For local file artifacts such as archives, prefer rstream_webtty_fs_download. Paths are relative to the server --fs-root.

Input parameters:

- `encoding` (string): Optional output encoding: text or base64.
- `fs_path` (string): Advertised fs_path from rstream_webtty_list. Defaults to /fs.
- `path` (string, required): File path inside the advertised filesystem root, for example /README.md.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `url` (string, required): WebTTY URL, for example rstrm://shell.

Output parameters:

- `content` (string): Returned file content.
- `encoding` (string): Returned encoding.

### `rstream_webtty_fs_write` (~187 tokens)

Write remote file

Write a file through a WebTTY filesystem sidecar. Paths are relative to the server --fs-root; do not pass absolute host paths unless --fs-root is the host root.

Input parameters:

- `content` (string, required): File content to write.
- `encoding` (string): Optional input encoding: text or base64.
- `fs_path` (string): Advertised fs_path from rstream_webtty_list. Defaults to /fs.
- `path` (string, required): File path inside the advertised filesystem root, for example /compose.yaml.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `url` (string, required): WebTTY URL, for example rstrm://shell.

Output parameters:

- `ok` (boolean)

### `rstream_webtty_fs_mkdir` (~141 tokens)

Create remote directory

Create a directory through a WebTTY filesystem sidecar. Paths are relative to the server --fs-root.

Input parameters:

- `fs_path` (string): Advertised fs_path from rstream_webtty_list. Defaults to /fs.
- `path` (string, required): Directory path inside the advertised filesystem root.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `url` (string, required): WebTTY URL, for example rstrm://shell.

Output parameters:

- `ok` (boolean)

### `rstream_webtty_fs_delete` (~144 tokens)

Delete remote file

Delete a file or directory through a WebTTY filesystem sidecar. Paths are relative to the server --fs-root.

Input parameters:

- `fs_path` (string): Advertised fs_path from rstream_webtty_list. Defaults to /fs.
- `path` (string, required): File or directory path inside the advertised filesystem root.
- `project` (string): Optional tunnel project name, endpoint, or ID.
- `project_endpoint` (string): Optional tunnel project endpoint.
- `project_id` (string): Optional tunnel project ID.
- `project_name` (string): Optional tunnel project name.
- `url` (string, required): WebTTY URL, for example rstrm://shell.

Output parameters:

- `ok` (boolean)

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/rstreamlabs-rstream/docker-io-rstream-rstream#diagnostics

## Score history

- 2026-11-05: 51
- 2026-11-04: 51
- 2026-11-03: 51
- 2026-11-02: 51
- 2026-11-01: 51
- 2026-10-31: 51
- 2026-10-30: 51
- 2026-10-29: 51
- 2026-10-28: 51
- 2026-10-27: 51
- 2026-10-26: 50
- 2026-10-25: 50
- 2026-10-24: 50
- 2026-10-23: 49
- 2026-10-22: 49
- 2026-10-21: 48
- 2026-10-20: 48
- 2026-10-19: 47
- 2026-10-18: 47
- 2026-10-17: 46
- 2026-10-16: 46
- 2026-10-15: 45
- 2026-10-14: 45
- 2026-10-13: 7
- 2026-10-12: 7
- 2026-10-10: 7
- 2026-10-09: 43
- 2026-10-06: 41
- 2026-10-05: 41
- 2026-10-04: 40

## Common questions

### What is the rstream CLI MCP server?

rstream CLI MCP is listed in the public MCP registry as io.github.rstreamlabs/rstream. Local stdio MCP server for rstream setup, tunnels, WebTTY, and remote operations. This page covers its container image (docker.io/rstream/rstream).

### Is the rstream CLI MCP server safe to use?

rstream CLI MCP scores 51 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the rstream CLI MCP server expose?

rstream CLI MCP exposes 65 tools: rstream_auth_start, rstream_auth_poll, rstream_context_list, rstream_context_get, rstream_project_creation_options, and 60 more. Their descriptions and schemas cost roughly 8,223 tokens of context every time the server is loaded.

### Is the rstream CLI MCP server still maintained?

rstream CLI MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Docker Hub: https://hub.docker.com/r/rstream/rstream
- Repository: https://github.com/rstreamlabs/rstream-go
- Website: https://rstream.io/
- Changelog RSS feed: https://verifymcp.io/servers/rstreamlabs-rstream/docker-io-rstream-rstream.xml
- Changelog JSON feed: https://verifymcp.io/servers/rstreamlabs-rstream/docker-io-rstream-rstream.json
- HTML version of this page: https://verifymcp.io/servers/rstreamlabs-rstream/docker-io-rstream-rstream
