
Description
Create, connect, list, and inspect MCP tunnel runtimes through the local tunnel-client plugin. Use when Codex needs to manage secure MCP tunnels with aliases and native tunnel-client runtime processes.
SKILL.md
Tunnel MCP
Use scripts/tunnel_mcp from this plugin when a user asks Codex to manage MCP
tunnels through tunnel-client. The plugin entrypoint is a thin router onto
the public native tunnel-client runtimes ... and
tunnel-client admin-profiles ... command trees.
When the tunnel-mcp MCP app tools are available, use them first instead of
manual shell routing:
install_or_select_tunnel_clientcreate_tunnel_runtimeconnect_stdio_mcplist_runtime_aliasesruntime_statusstop_runtime
The app tools are an operator surface over native tunnel-client; they
orchestrate tunnel-client runtimes ..., normalize structured output, and keep
tunnel protocol/runtime behavior in the Go binary.
Before acting, consult only the smallest relevant reference under references/:
references/binary.md: how to find or obtain a public-safetunnel-clientbinaryreferences/setup-and-install.md: install, export, reset, binary-vs-bundle setupreferences/profiles-state-and-keys.md: profiles, state dirs, admin/runtime key splitreferences/runtime-flows.md: create, connect, list, status, stop, rm, attach by tunnel idreferences/troubleshooting.md:/healthz,/readyz,/ui, status, logs, stale aliases
Rules
- Use
tunnel-client admin tunnelsfor remote tunnel CRUD. Do not call raw tunnel-service HTTP endpoints from this plugin. - Route operational actions through
tunnel-client runtimes ...andtunnel-client admin-profiles .... - Use
scripts/tunnel_mcp self-checkfor plugin/binary/router compatibility; it must report secret reference presence without printing secret values. - Use native
tunnel-client run --profile <name>only when the user intentionally wants a foreground daemon attached to the current terminal; do not translate profile files into flags in the plugin layer. - For a long-lived local runtime managed by Codex, use
tunnel-client runtimes connect ...; do not usenohupordisownas the tunnel-client supervision path. - After
runtimes connect, runtunnel-client runtimes status <alias>before reporting success. Only report success when status shows the managed runtime running with health reported; use--jsonwhen Codex needs explicitprocess_running,healthy, andreadyfields. - Do not assume a source checkout, build system, helper, or tmux. The installed
plugin must work with the selected
tunnel-clientbinary alone. - Treat ambient
PATHbinary candidates as diagnostics unless selected through--tunnel-client-bin,TUNNEL_CLIENT_BIN, or.tunnel-client-bin. - Tunnel state, admin profiles, generated runtime profiles, stale-alias
handling, cleanup classification, and local process management are owned by
native
tunnel-client; consult the relevant reference before explaining those details. - Keep admin and runtime credentials split: admin CRUD uses
admin-profiles; runtime attach/connect uses--runtime-api-key env:NAMEorfile:/path. Do not pass literal keys. - Never write literal API keys, bearer tokens, cookies, or inline
sk-style secret material into plugin state or generated configs. - Surface
control_plane_poll_healthseparately from/healthzand/readyz; local readiness can be green while control-plane polling fails through a dead proxy.
More from OpenAI
View publisherprior-auth-packet-builder
build healthcare prior authorization packets
openai-agents-python
Apr 16DocumentsHealthcareInsuranceRegulatory Complianceaspnet-core
build ASP.NET Core web applications
skills
Apr 12.NETASP.NET CoreBlazorC# +1chatgpt-apps
build ChatGPT Apps SDK applications
skills
Apr 12Apps SDKChatGPTMCPOpenAIcli-creator
build CLIs from API docs
skills
Apr 12API DevelopmentCLICodexcloudflare-deploy
deploy projects to Cloudflare
skills
Apr 12CloudflareCloudflare PagesCloudflare WorkersDeploymentdefine-goal
define and set measurable project goals
skills
May 23ProductivityProject ManagementStrategyTask Management