DSW Control MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DSW Control MCPrunnvidia-smion the DSW target"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DSW Control MCP
A private, stateless Remote MCP gateway on Cloudflare Workers for controlling one allowlisted ModelScope DSW machine through an existing HTTPS command Relay.
Architecture
ChatGPT / MCP client → Cloudflare Worker (Streamable HTTP MCP) → fixed Relay → ModelScope DSW
Related MCP server: remote-mcp-server-authless
Current production-compatible endpoint
The existing connector remains valid after this upgrade:
https://dswmcp.servers0o.kdns.fr/mcp/<MCP_PATH_KEY>
MCP_PATH_KEY and RELAY_EXEC_URL are Cloudflare runtime secrets. Never commit their values.
Tools
Tool | Purpose | Safety metadata |
| List server-side allowlisted targets | read-only, closed-world |
| Harmless | read-only, open-world |
| Execute one arbitrary shell command | write/destructive, non-idempotent, open-world |
All tools expose explicit input and output schemas. Tool results return both MCP structuredContent and concise content text. exec is intentionally marked destructive; do not change its annotations merely to suppress host safety warnings.
Security boundaries
No user-supplied URLs: only the
dswallowlist target exists.Relay redirects are blocked and arbitrary shell commands are never auto-retried.
Command length, timeout and response size are bounded.
Secrets, command text and output bodies are excluded from Worker logs.
Known Relay/MCP credentials are redacted from returned errors/output.
The legacy Relay URL is stored only as a Cloudflare secret.
A preferred split Relay configuration (
RELAY_BASE_URL+RELAY_TOKEN) is supported for later migration.
Runtime secrets (current mode)
RELAY_EXEC_URL— complete private Relay URL for/r/dsw.MCP_PATH_KEY— 32–128 character URL-safe random key.
The code also supports a preferred Relay split mode. If RELAY_BASE_URL and RELAY_TOKEN are configured, they take precedence over RELAY_EXEC_URL.
OAuth 2.1 readiness
A standards-based OAuth endpoint is implemented at /mcp, but it stays disabled until both are configured:
Cloudflare KV binding named
OAUTH_KV.Runtime secret
MCP_OWNER_KEY(distinct random secret, at least 32 characters).
The canonical public origin is https://dswmcp.servers0o.kdns.fr. OAuth uses PKCE S256, Client ID Metadata Documents (CIMD), DCR compatibility, exact resource binding, short access tokens, rotating refresh tokens from the Cloudflare OAuth provider, and only accepts ChatGPT OAuth redirect URIs.
Once OAuth is enabled, create a new ChatGPT connector using:
https://dswmcp.servers0o.kdns.fr/mcp
and select OAuth. Keep the legacy secret-path connector until the OAuth connector has been verified, then rotate/remove the exposed legacy path key.
Development
npm ci
npm run typecheck
npm test
npm run dry-runCloudflare deployment is npx wrangler deploy (the existing Git integration already uses this).
Health
GET /health returns a non-sensitive JSON health document. It reports whether OAuth prerequisites are present, but never returns secret values.
This server cannot be deployed
Maintenance
Related MCP Connectors
Cloudflare Workers MCP server: ai-gateway
The bridge from K2 agents through Wrangler to your master AI - safe, approval-gated Cloudflare ops.
Cloudflare Workers MCP server: agent-workflow-engine
Cloudflare Workers MCP server: ai-model-router
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables deployment of authentication-free MCP servers on Cloudflare Workers that can be accessed remotely from MCP clients like Claude Desktop or the Cloudflare AI Playground.-
- FlicenseNot gradedqualityBmaintenanceDeploys a stateless remote MCP server on Cloudflare Workers without authentication, enabling MCP tool calls from clients like Claude Desktop and Cloudflare AI Playground.-
- FlicenseNot gradedqualityBmaintenanceDeploy a stateless remote MCP server on Cloudflare Workers without authentication. It enables connecting to MCP clients like Cloudflare AI Playground and Claude Desktop for remote tool calls.-
- FlicenseNot gradedqualityAmaintenanceEnables MCP clients to safely access user-local filesystems, apply validated patches, inspect git state, and run persistent jobs on outbound-connected local runners through a stateless Cloudflare control plane.-