rstream CLI MCP
OCI · DOCKER.IO/RSTREAM/RSTREAM
Local stdio MCP server for rstream setup, tunnels, WebTTY, and remote operations.
Available components
Last scanned (10 hours ago)
Scores higher than 81% of OCI servers
Category Cloud Infrastructure
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. How we score → Why this is hard to score →
Supply Chain Security0
- 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.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
Provenance & Transparency35
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 12 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- 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. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 66 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Stability: 0.97 → pass security
- 4 Nov 26 0
- Stability: pass → 0.97 functional
- 28 Oct 26 0
- Stability: 0.97 → pass security
- 27 Oct 26 +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.
- 24 Oct 26 +1
- Package version: 1.36.3 → 1.36.4 functional
- Package version: 1.34.1 → 1.36.4 functional
- 23 Oct 26 0
- Package version: 1.36.1 → 1.36.3 functional
- 22 Oct 26 +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.
- 20 Oct 26 +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.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed oci/docker.io/rstream/rstream@1.36.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
rstream_auth_poll Finish rstream login ~112
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| authenticated | boolean | yes | – |
| expires_at | string | – | Login request expiry time. |
| id | string | – | Local auth session ID. |
| next_poll_after_seconds | number | – | – |
| status | string | yes | Login status. |
No examples provided.
rstream_auth_start Start rstream login ~131
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| expires_at | string | – | Login request expiry time. |
| id | string | yes | Local auth session ID. |
| login_url | string | yes | User approval URL. |
| scopes | array | – | – |
No examples provided.
rstream_context_get Inspect rstream context ~40
Get one local rstream CLI context, or the default context when name is omitted.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | Optional local rstream context name. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_context_list List rstream contexts ~22
List local rstream CLI contexts available to this MCP server.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| contexts | array | yes | Configured local rstream contexts. |
No examples provided.
rstream_local_tunnel_expose Expose local tunnel ~663
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| challenge_mode | boolean | – | – |
| cleanup_id | string | yes | Local tunnel ID to pass to cleanup_tool. |
| cleanup_tool | string | yes | MCP tool to call for cleanup. |
| id | string | yes | Local tunnel ID. |
| pid | number | – | – |
| protocol | string | – | Resolved tunnel protocol. |
| publish | boolean | – | – |
| rstream_auth | boolean | – | – |
| token_auth | boolean | – | – |
| url | string | yes | Published URL or private rstrm target. |
No examples provided.
rstream_local_tunnel_list List local tunnels ~25
List local tunnels started through the local rstream MCP tunnel registry.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| local_tunnels | array | yes | Local tunnels managed by this MCP server. |
No examples provided.
rstream_local_tunnel_stop Stop local tunnel ~47
Stop a local tunnel from the local rstream MCP tunnel registry.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Local tunnel ID or tunnel ID returned by rstream_local_tunnel_expose. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_create Create Tunnel Project ~161
Create a tunnel project, or start Stripe checkout only when start_checkout is true.
| Name | Type | Req | Description |
|---|---|---|---|
| creation_fingerprint | string | yes | Creation fingerprint from project creation options. |
| idempotency_key | string | – | Optional idempotency key. A safe key is generated when omitted. |
| name | string | yes | Project name. |
| plan | string | yes | 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 | yes | Workspace ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Project creation action. |
| checkout | object | – | – |
| project | object | – | – |
No examples provided.
rstream_project_creation_options Project Creation Options ~32
Return project creation options and billing actions for a workspace.
| Name | Type | Req | Description |
|---|---|---|---|
| workspace_id | string | yes | Workspace ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_delete Delete Tunnel Project ~45
Delete a tunnel project after explicit user approval. Use this only for the exact project the user asked to remove.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID to delete. |
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Project deletion action. |
| project_id | string | yes | Deleted project ID. |
No examples provided.
rstream_project_domain_connect Get Domain Connect URL ~72
Return a Domain Connect apply URL for a project domain when the DNS provider supports it.
| Name | Type | Req | Description |
|---|---|---|---|
| domain_id | string | – | Project domain ID. Required unless hostname is provided. |
| hostname | string | – | Custom hostname. Required unless domain_id is provided. |
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_domain_create Create Project Domain ~95
Attach a custom domain to a tunnel project after explicit user approval.
| Name | Type | Req | Description |
|---|---|---|---|
| certificate_validation | string | – | Optional certificate validation method. Defaults to TLS-ALPN-01 for hostnames and DNS-01 for wildcards. |
| hostname | string | yes | Custom hostname or wildcard base domain to attach. |
| kind | string | – | Optional domain kind. Defaults to hostname. |
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_domain_delete Delete Project Domain ~68
Remove a custom domain from a tunnel project after explicit user approval.
| Name | Type | Req | Description |
|---|---|---|---|
| domain_id | string | – | Project domain ID. Required unless hostname is provided. |
| hostname | string | – | Custom hostname. Required unless domain_id is provided. |
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_domain_get Get Project Domain ~65
Return verification and DNS details for a project domain.
| Name | Type | Req | Description |
|---|---|---|---|
| domain_id | string | – | Project domain ID. Required unless hostname is provided. |
| hostname | string | – | Custom hostname. Required unless domain_id is provided. |
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_domain_verify Verify Project Domain ~66
Re-check ownership and DNS configuration for a project domain.
| Name | Type | Req | Description |
|---|---|---|---|
| domain_id | string | – | Project domain ID. Required unless hostname is provided. |
| hostname | string | – | Custom hostname. Required unless domain_id is provided. |
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_domains_list List Project Domains ~84
List stable custom domains configured on a tunnel project.
| Name | Type | Req | Description |
|---|---|---|---|
| order | string | – | Optional sort direction. |
| page | number | – | Optional result page. |
| page_size | number | – | Optional page size. |
| project_id | string | yes | Tunnel project ID. |
| q | string | – | Optional domain search query. |
| sort | string | – | Optional sort key. |
| Name | Type | Req | Description |
|---|---|---|---|
| domains | array | yes | Stable domains configured on the project. |
No examples provided.
rstream_project_events_list List Project Events ~154
List canonical lifecycle events for a tunnel project. This is separate from request and connection logs.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | Tunnel project ID. |
| start | string | – | Optional start date. |
| timeline | string | – | Optional timeline: 30m, 1h, 12h, 24h, 3d, 1w, or 30d. |
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | yes | Project log or lifecycle events. |
No examples provided.
rstream_project_list List Tunnel Projects ~140
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| projects | array | yes | Tunnel projects available to the current account. |
No examples provided.
rstream_project_logs List Project Logs ~146
List tunnel request and connection logs for a tunnel project.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | Tunnel project ID. |
| start | string | – | Optional start date. |
| timeline | string | – | Optional timeline: 30m, 1h, 12h, 24h, 3d, 1w, or 30d. |
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | yes | Project log or lifecycle events. |
No examples provided.
rstream_project_plan_get Get Project Plan ~42
Return a tunnel project's current plan, feature list, and quota metadata before using plan-gated features.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_settings_get Get Project Settings ~32
Return access and transport settings for a tunnel project.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_settings_patch Patch Project Settings ~47
Patch access and transport settings for a tunnel project after explicit user approval.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
| settings | object | yes | Partial project settings object. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_settings_reset Reset Project Settings ~36
Reset access and transport settings for a tunnel project after explicit user approval.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_tcp_address_release Release project TCP address ~44
Release a reserved TCP address after explicit user approval.
| Name | Type | Req | Description |
|---|---|---|---|
| port | number | yes | Reserved public TCP port. |
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_tcp_address_reserve Reserve project TCP address ~37
Reserve a TCP address for a tunnel project after explicit user approval.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_tcp_addresses_list List project TCP addresses ~33
List reserved TCP addresses configured on a tunnel project.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| addresses | array | yes | Reserved TCP addresses configured on the project. |
No examples provided.
rstream_project_turn_credentials_create Create TURN Credentials ~104
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_turn_usage Get Project TURN Usage ~35
Return TURN relay usage breakdowns for the last 30 days.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_update Update Tunnel Project ~40
Update a tunnel project's display name.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | New project name. |
| project_id | string | yes | Tunnel project ID to update. |
| Name | Type | Req | Description |
|---|---|---|---|
| project | object | yes | – |
No examples provided.
rstream_project_usage Get Project Usage ~34
Return current-period tunnel and TURN bandwidth usage for a tunnel project.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | Tunnel project ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_webhook_deliveries_list List Webhook Deliveries ~124
List delivery records for a webhook destination, including status and delivery metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | Tunnel project ID. |
| start | string | – | Optional start date. |
| status | string | – | Optional status filter. |
| webhook_id | string | yes | Webhook ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| deliveries | array | yes | Webhook delivery records. |
No examples provided.
rstream_project_webhook_delivery_get Get Webhook Delivery ~61
Get one webhook delivery with attempts, request body, response metadata, and errors.
| Name | Type | Req | Description |
|---|---|---|---|
| delivery_id | string | yes | Delivery ID. |
| project_id | string | yes | Tunnel project ID. |
| webhook_id | string | yes | Webhook ID. |
Structured output declared, but exposes no named fields.
No examples provided.
rstream_project_webhooks_list List Project Webhooks ~106
List webhook destinations configured on a tunnel project.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | Tunnel project ID. |
| q | string | – | Optional webhook search query. |
| sort | string | – | Optional sort key. |
| status | string | – | Optional status filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| webhooks | array | yes | Webhook destinations configured on the project. |
No examples provided.
rstream_remote_expose Expose remote service ~551
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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 | yes | WebTTY URL, for example rstrm://robot-shell. |
| workdir | string | – | Optional remote working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| command | array | yes | – |
| id | string | yes | Remote exposure ID. |
| status | string | yes | Remote exposure status. |
| webtty | object | yes | – |
No examples provided.
rstream_remote_expose_stop Stop remote exposure ~245
Stop a remote expose process previously started through rstream_remote_expose.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | 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 | yes | WebTTY URL used to reach the remote host. |
| workdir | string | – | Optional remote working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| exit_code | number | yes | – |
| id | string | yes | Remote exposure ID. |
| stderr | string | yes | Captured stderr. |
| stdout | string | yes | Captured stdout. |
No examples provided.
rstream_remote_mcp_call Call remote MCP tool ~181
Call a tool on a remote MCP server reached through rstream or a published URL.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | Remote MCP tool name. |
| url | string | yes | Remote MCP URL, such as rstrm://robot-mcp or https://robot.example.com/mcp. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | object | – | – |
| id | – | – | – |
| jsonrpc | string | – | Remote JSON-RPC version. |
| result | – | – | – |
No examples provided.
rstream_remote_mcp_discover Discover remote MCP servers ~88
Discover online MCP surfaces exposed through rstream labels.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| endpoints | array | yes | Discovered remote MCP endpoints. |
No examples provided.
rstream_remote_mcp_tools List remote MCP tools ~141
List tools from a remote MCP server reached through rstream or a published URL.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | Remote MCP URL, such as rstrm://robot-mcp or https://robot.example.com/mcp. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | object | – | – |
| id | – | – | – |
| jsonrpc | string | – | Remote JSON-RPC version. |
| result | – | – | – |
No examples provided.
rstream_runtime_prepare Prepare rstream runtime ~216
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| changed | boolean | – | – |
| context | object | – | – |
| login | object | – | – |
| needs_login | boolean | – | – |
| project | object | – | – |
| ready | boolean | yes | – |
No examples provided.
rstream_runtime_status Check rstream status ~60
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | – |
| selected_context | string | – | Selected local context. |
| suggested_next_tool | string | – | Recommended next MCP tool. |
No examples provided.
rstream_token_create Create short-lived token ~288
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.
| Name | Type | Req | Description |
|---|---|---|---|
| permissions | array | yes | 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. |
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | – | – |
No examples provided.
rstream_webtty_control_request_create Create WebTTY Control Request ~128
Request control of a managed WebTTY session. This never grants control implicitly.
| Name | Type | Req | Description |
|---|---|---|---|
| expires_at | string | – | Optional RFC3339 expiration time. |
| participant_id | string | yes | 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 | yes | WebTTY session ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| control_request | object | yes | – |
| surface | string | yes | MCP surface name. |
No examples provided.
rstream_webtty_control_request_resolve Resolve WebTTY Control Request ~155
Resolve a pending WebTTY control request as granted, refused, revoked, or expired according to existing authorization rules.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 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 | yes | Control request ID. |
| session_id | string | yes | WebTTY session ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| control_request | object | yes | – |
| surface | string | yes | MCP surface name. |
No examples provided.
rstream_webtty_control_requests_list List WebTTY Control Requests ~122
List control-transfer requests for one managed WebTTY session.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | WebTTY session ID. |
| status | string | – | Optional request status filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| control_requests | array | yes | – |
| surface | string | yes | MCP surface name. |
No examples provided.
rstream_webtty_exec Execute WebTTY Command ~216
Execute a non-interactive command through a WebTTY server.
| Name | Type | Req | Description |
|---|---|---|---|
| command | array | yes | – |
| 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 | yes | WebTTY URL, for example rstrm://shell. |
| user | string | – | Optional username or UID. |
| workdir | string | – | Optional working directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| command | array | yes | – |
| duration_ms | number | yes | – |
| error | string | – | Safe execution error summary. |
| error_kind | string | – | – |
| exit_code | number | yes | – |
| stderr | string | yes | Captured stderr, including partial output on session failure. |
| stdout | string | yes | Captured stdout, including partial output on session failure. |
| surface | string | yes | MCP surface name. |
| truncated | boolean | yes | – |
| url | string | yes | Resolved WebTTY URL. |
No examples provided.
rstream_webtty_fs_delete Delete remote file ~144
Delete a file or directory through a WebTTY filesystem sidecar. Paths are relative to the server --fs-root.
| Name | Type | Req | Description |
|---|---|---|---|
| fs_path | string | – | Advertised fs_path from rstream_webtty_list. Defaults to /fs. |
| path | string | yes | 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 | yes | WebTTY URL, for example rstrm://shell. |
| Name | Type | Req | Description |
|---|---|---|---|
| ok | boolean | yes | – |
No examples provided.
rstream_webtty_fs_download Download remote file ~208
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.
| Name | Type | Req | Description |
|---|---|---|---|
| fs_path | string | – | Advertised fs_path from rstream_webtty_list. Defaults to /fs. |
| local_path | string | yes | Local destination path on the Codex workstation. |
| overwrite | boolean | – | Overwrite local_path if it already exists. Defaults to false. |
| path | string | yes | 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 | yes | WebTTY URL, for example rstrm://shell. |
| Name | Type | Req | Description |
|---|---|---|---|
| bytes | number | yes | – |
| ok | boolean | yes | – |
| path | string | yes | Local destination path. |
No examples provided.
rstream_webtty_fs_list List remote files ~163
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 | yes | WebTTY URL, for example rstrm://shell. |
| Name | Type | Req | Description |
|---|---|---|---|
| entries | array | yes | Directory entries below the advertised filesystem root. |
No examples provided.
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.
oci · docker.io/rstream/rstream
claude mcp add rstreamlabs-rstream -- docker run --rm -i docker.io/rstream/rstream:1.36.4
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.