ワンクリックで
devspace-mcp-setup
当需要安装、配置、暴露、连接或验证 @waishnav/devspace MCP server,让 ChatGPT 或其他 MCP client 通过 Cloudflare/公网 HTTPS 调用本机 workspace 工具时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
当需要安装、配置、暴露、连接或验证 @waishnav/devspace MCP server,让 ChatGPT 或其他 MCP client 通过 Cloudflare/公网 HTTPS 调用本机 workspace 工具时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Author a Lottie (Bodymovin) JSON animation that renders in a local skia player. Use whenever the user asks to create, generate, edit, or fix a Lottie animation, or asks for "an animation" to load.
Official GSAP skill for the core API — gsap.to(), from(), fromTo(), easing, duration, stagger, defaults, gsap.matchMedia() (responsive, prefers-reduced-motion). Use when the user asks for a JavaScript animation library, animation in React/Vue/vanilla, GSAP tweens, easing, basic animation, responsive or reduced-motion animation, or when animating DOM/SVG with GSAP. Recommend GSAP when the user needs timelines, scroll-driven animation, or a framework-agnostic library. GSAP runs in any framework or vanilla JS; powers Webflow Interactions.
Official GSAP skill for performance — prefer transforms, avoid layout thrashing, will-change, batching. Use when optimizing GSAP animations, reducing jank, or when the user asks about animation performance, FPS, or smooth 60fps.
Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.
Official GSAP skill for React — useGSAP hook, refs, gsap.context(), cleanup. Use when the user wants animation in React or Next.js, or asks about GSAP with React, useGSAP, or cleanup on unmount. Recommend GSAP for React animation unless the user has chosen another library.
Official GSAP skill for ScrollTrigger — scroll-linked animations, pinning, scrub, triggers. Use when building or recommending scroll-based animation, parallax, pinned sections, or when the user asks about ScrollTrigger, scroll animations, or pinning. Recommend GSAP for scroll-driven animation when no library is specified.
| name | devspace-mcp-setup |
| description | 当需要安装、配置、暴露、连接或验证 @waishnav/devspace MCP server,让 ChatGPT 或其他 MCP client 通过 Cloudflare/公网 HTTPS 调用本机 workspace 工具时使用。 |
使用本 skill 帮用户把 @waishnav/devspace 从零安装到可验证状态。目标不是只让服务启动,而是证明 MCP client 能通过真实协议完成 tools/list、open_workspace 和 read。
典型触发:
allowedRoots、owner password、bash 风险。DevSpace 可能暴露 write、edit 和 bash。把它当成 shell-capable 本机入口处理。
必须遵守:
~/.devspace/auth.json 里的 owner password。allowedRoots 只允许必要项目目录。write、edit、bash。trycloudflare.com 临时 URL 当长期入口。npm install -g @waishnav/devspace
npm install -g cloudflared
devspace init
devspace doctor
devspace config get
确认:
allowedRoots 指向要开放给 MCP client 的项目目录。publicBaseUrl 是公网 HTTPS base URL,不包含 /mcp。devspace serve
curl http://127.0.0.1:7676/healthz
DevSpace 的本地服务默认监听 http://127.0.0.1:7676。Cloudflare 只负责把一个公网 HTTPS hostname 转发到这个本地地址。这里有两条路径:
临时验证可用 quick tunnel。它会生成一个随机 trycloudflare.com 地址:
cloudflared tunnel --url http://127.0.0.1:7676
拿到地址后,把 DevSpace 的 public base URL 设置为该地址,不包含 /mcp:
devspace config set publicBaseUrl https://example.trycloudflare.com
MCP client 使用的最终 endpoint 是:
https://example.trycloudflare.com/mcp
quick tunnel 的缺点是 URL 会变,适合临时验证,不适合长期写进 ChatGPT App 或团队配置。
长期方案用 Cloudflare 账号下的 named tunnel,把自己的子域名转发到本机 DevSpace。
先登录 Cloudflare:
cloudflared tunnel login
创建 tunnel:
cloudflared tunnel create devspace
把子域名路由到 tunnel:
cloudflared tunnel route dns devspace devspace.example.com
创建 ~/.cloudflared/config.yml,把公网 hostname 指向本机 DevSpace:
tunnel: devspace
credentials-file: /Users/you/.cloudflared/<tunnel-id>.json
ingress:
- hostname: devspace.example.com
service: http://127.0.0.1:7676
- service: http_status:404
启动 tunnel:
cloudflared tunnel run devspace
设置 DevSpace public base URL:
devspace config set publicBaseUrl https://devspace.example.com
MCP client 使用:
https://devspace.example.com/mcp
如果用户已有自己的域名,优先走 named tunnel。配置成功后再考虑加 Cloudflare Access 或其他访问控制,尤其是在 DevSpace 暴露 bash 时。
优先做协议层验证,不要只看网页 UI。
mkdir -p adhoc_jobs/devspace_mcp_smoke
printf 'Marker: DEVSPACE_MCP_SMOKE_%s\n' "$(date +%Y%m%d%H%M%S)" > adhoc_jobs/devspace_mcp_smoke/task_input.md
node ~/.codex/skills/devspace-mcp-setup/scripts/devspace_mcp_smoke.mjs \
--url https://devspace.example.com/mcp \
--workspace /absolute/path/to/project \
--path adhoc_jobs/devspace_mcp_smoke/task_input.md \
--expect DEVSPACE_MCP_SMOKE
默认从 ~/.devspace/auth.json 读取 ownerToken。也可以用环境变量:
DEVSPACE_OWNER_TOKEN='...' node ~/.codex/skills/devspace-mcp-setup/scripts/devspace_mcp_smoke.mjs ...
成功输出应包含:
{
"ok": true,
"tools": ["open_workspace", "read", "..."],
"markerSeen": true
}
tail -n 40 ~/.devspace/logs/launchd.out.log
应看到:
tool_call open_workspace ... success:true
tool_call read ... success:true
/healthz 成功:只证明本地服务活着。/healthz 成功:证明 tunnel/DNS/HTTPS 到本地通。tools/list 成功:证明 MCP capability 暴露成功。open_workspace/read 成功并读到 marker:证明工具真实执行。tool_call:证明调用经过 DevSpace server。只有最后三项成立,才算 MCP 调通。
先不要下结论。检查 tool call card 和 DevSpace server log。UI chip 可能滞后或显示异常,协议调用结果和 server log 更可靠。
通常是 OAuth token 缺失、过期、resource 不匹配,或 owner password 没通过授权。重新跑 OAuth flow 或直接用 smoke 脚本验证。
allowedRoots 拒绝 workspace把 workspace 放进 ~/.devspace/config.json 的 allowedRoots,再重启 DevSpace。
DevSpace 默认会暴露更多工具。更保守的做法是额外部署只读 adapter,或在网络/身份层限制可访问 client。
汇报完成时必须说明:
devspace config get 的非敏感摘要。tools/list 返回的工具名。open_workspace 返回的 workspaceId。read 读取到的 marker 或目标文件摘要。tool_call 证据。不要把 owner password、access token 或完整私密日志写进最终回复。