[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6AC7P062VBA2RR8JSTND5DV":3,"skill-same:01M6AC7P062VBA2RR8JSTND5DV":93},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":55,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6AC7P062VBA2RR8JSTND5DV","tunnel-mcp",null,"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.","openai\u002Ftunnel-client","openai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F14957082?v=4","01M6AC29YGCR4S2NTJFV0G8B81","OpenAI","01M6AC7M5NYHK930X03VPWJTBD",629,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"tunnel mcp","tunnel","MCP","local","when","inspect","with","runtimes","native","processes","client","runtime","manage","use","list","create","connect","plugin","secure","codex","2026-11-10 10:12:30",false,"---\nname: tunnel-mcp\ndescription: 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.\n---\n\n# Tunnel MCP\n\nUse `scripts\u002Ftunnel_mcp` from this plugin when a user asks Codex to manage MCP\ntunnels through `tunnel-client`. The plugin entrypoint is a thin router onto\nthe public native `tunnel-client runtimes ...` and\n`tunnel-client admin-profiles ...` command trees.\n\nWhen the `tunnel-mcp` MCP app tools are available, use them first instead of\nmanual shell routing:\n\n- `install_or_select_tunnel_client`\n- `create_tunnel_runtime`\n- `connect_stdio_mcp`\n- `list_runtime_aliases`\n- `runtime_status`\n- `stop_runtime`\n\nThe app tools are an operator surface over native `tunnel-client`; they\norchestrate `tunnel-client runtimes ...`, normalize structured output, and keep\ntunnel protocol\u002Fruntime behavior in the Go binary.\n\nBefore acting, consult only the smallest relevant reference under `references\u002F`:\n\n- `references\u002Fbinary.md`: how to find or obtain a public-safe `tunnel-client` binary\n- `references\u002Fsetup-and-install.md`: install, export, reset, binary-vs-bundle setup\n- `references\u002Fprofiles-state-and-keys.md`: profiles, state dirs, admin\u002Fruntime key split\n- `references\u002Fruntime-flows.md`: create, connect, list, status, stop, rm, attach by tunnel id\n- `references\u002Ftroubleshooting.md`: `\u002Fhealthz`, `\u002Freadyz`, `\u002Fui`, status, logs, stale aliases\n\n## Rules\n\n- Use `tunnel-client admin tunnels` for remote tunnel CRUD. Do not call raw\n  tunnel-service HTTP endpoints from this plugin.\n- Route operational actions through `tunnel-client runtimes ...` and\n  `tunnel-client admin-profiles ...`.\n- Use `scripts\u002Ftunnel_mcp self-check` for plugin\u002Fbinary\u002Frouter compatibility;\n  it must report secret reference presence without printing secret values.\n- Use native `tunnel-client run --profile \u003Cname>` only when the user\n  intentionally wants a foreground daemon attached to the current terminal;\n  do not translate profile files into flags in the plugin layer.\n- For a long-lived local runtime managed by Codex, use\n  `tunnel-client runtimes connect ...`; do not use `nohup` or `disown` as the\n  tunnel-client supervision path.\n- After `runtimes connect`, run `tunnel-client runtimes status \u003Calias>` before\n  reporting success. Only report success when status shows the managed runtime\n  running with health reported; use `--json` when Codex needs explicit\n  `process_running`, `healthy`, and `ready` fields.\n- Do not assume a source checkout, build system, helper, or tmux. The installed\n  plugin must work with the selected `tunnel-client` binary alone.\n- Treat ambient `PATH` binary candidates as diagnostics unless selected through\n  `--tunnel-client-bin`, `TUNNEL_CLIENT_BIN`, or `.tunnel-client-bin`.\n- Tunnel state, admin profiles, generated runtime profiles, stale-alias\n  handling, cleanup classification, and local process management are owned by\n  native `tunnel-client`; consult the relevant reference before explaining those\n  details.\n- Keep admin and runtime credentials split: admin CRUD uses\n  `admin-profiles`; runtime attach\u002Fconnect uses `--runtime-api-key env:NAME` or\n  `file:\u002Fpath`. Do not pass literal keys.\n- Never write literal API keys, bearer tokens, cookies, or inline `sk-` style\n  secret material into plugin state or generated configs.\n- Surface `control_plane_poll_health` separately from `\u002Fhealthz` and `\u002Freadyz`;\n  local readiness can be green while control-plane polling fails through a dead\n  proxy.\n","# Tunnel MCP\n\nUse `scripts\u002Ftunnel_mcp` from this plugin when a user asks Codex to manage MCP\ntunnels through `tunnel-client`. The plugin entrypoint is a thin router onto\nthe public native `tunnel-client runtimes ...` and\n`tunnel-client admin-profiles ...` command trees.\n\nWhen the `tunnel-mcp` MCP app tools are available, use them first instead of\nmanual shell routing:\n\n- `install_or_select_tunnel_client`\n- `create_tunnel_runtime`\n- `connect_stdio_mcp`\n- `list_runtime_aliases`\n- `runtime_status`\n- `stop_runtime`\n\nThe app tools are an operator surface over native `tunnel-client`; they\norchestrate `tunnel-client runtimes ...`, normalize structured output, and keep\ntunnel protocol\u002Fruntime behavior in the Go binary.\n\nBefore acting, consult only the smallest relevant reference under `references\u002F`:\n\n- `references\u002Fbinary.md`: how to find or obtain a public-safe `tunnel-client` binary\n- `references\u002Fsetup-and-install.md`: install, export, reset, binary-vs-bundle setup\n- `references\u002Fprofiles-state-and-keys.md`: profiles, state dirs, admin\u002Fruntime key split\n- `references\u002Fruntime-flows.md`: create, connect, list, status, stop, rm, attach by tunnel id\n- `references\u002Ftroubleshooting.md`: `\u002Fhealthz`, `\u002Freadyz`, `\u002Fui`, status, logs, stale aliases\n\n## Rules\n\n- Use `tunnel-client admin tunnels` for remote tunnel CRUD. Do not call raw\n  tunnel-service HTTP endpoints from this plugin.\n- Route operational actions through `tunnel-client runtimes ...` and\n  `tunnel-client admin-profiles ...`.\n- Use `scripts\u002Ftunnel_mcp self-check` for plugin\u002Fbinary\u002Frouter compatibility;\n  it must report secret reference presence without printing secret values.\n- Use native `tunnel-client run --profile \u003Cname>` only when the user\n  intentionally wants a foreground daemon attached to the current terminal;\n  do not translate profile files into flags in the plugin layer.\n- For a long-lived local runtime managed by Codex, use\n  `tunnel-client runtimes connect ...`; do not use `nohup` or `disown` as the\n  tunnel-client supervision path.\n- After `runtimes connect`, run `tunnel-client runtimes status \u003Calias>` before\n  reporting success. Only report success when status shows the managed runtime\n  running with health reported; use `--json` when Codex needs explicit\n  `process_running`, `healthy`, and `ready` fields.\n- Do not assume a source checkout, build system, helper, or tmux. The installed\n  plugin must work with the selected `tunnel-client` binary alone.\n- Treat ambient `PATH` binary candidates as diagnostics unless selected through\n  `--tunnel-client-bin`, `TUNNEL_CLIENT_BIN`, or `.tunnel-client-bin`.\n- Tunnel state, admin profiles, generated runtime profiles, stale-alias\n  handling, cleanup classification, and local process management are owned by\n  native `tunnel-client`; consult the relevant reference before explaining those\n  details.\n- Keep admin and runtime credentials split: admin CRUD uses\n  `admin-profiles`; runtime attach\u002Fconnect uses `--runtime-api-key env:NAME` or\n  `file:\u002Fpath`. Do not pass literal keys.\n- Never write literal API keys, bearer tokens, cookies, or inline `sk-` style\n  secret material into plugin state or generated configs.\n- Surface `control_plane_poll_health` separately from `\u002Fhealthz` and `\u002Freadyz`;\n  local readiness can be green while control-plane polling fails through a dead\n  proxy.\n",{"name":5,"description":7},"master","f745672195e788073ab0b104644138cdd2e4fd61","plugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp",142,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client","https:\u002F\u002Fgithub.com\u002Fopenai","https:\u002F\u002Fopenai.com\u002F","2026-11-11 18:10:14",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add openai\u002Ftunnel-client --skill tunnel-mcp",{"tool":63,"command":64},"bunx","bunx skills add openai\u002Ftunnel-client --skill tunnel-mcp",{"tool":66,"command":67},"pnpm","pnpm dlx skills add openai\u002Ftunnel-client --skill tunnel-mcp","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002FSKILL.md",true,[71,77,81,85,89],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fbinary.md","REFERENCE","参考文档",1897,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002Freferences\u002Fbinary.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fprofiles-state-and-keys.md",1198,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002Freferences\u002Fprofiles-state-and-keys.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fruntime-flows.md",2752,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002Freferences\u002Fruntime-flows.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fsetup-and-install.md",2677,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002Freferences\u002Fsetup-and-install.md",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Ftroubleshooting.md",3324,"https:\u002F\u002Fgithub.com\u002Fopenai\u002Ftunnel-client\u002Fblob\u002Fmaster\u002Fplugins\u002Ftunnel-mcp\u002Fskills\u002Ftunnel-mcp\u002Freferences\u002Ftroubleshooting.md",[]]