ChatGPT Workspace Exposure MCP
ChatGPT Workspace Exposure MCP is a VS Code extension that automatically starts a bundled, repo-aware MCP server for the current workspace, finds the first free port in a configured range, and optionally exposes that server through a Cloudflare quick tunnel.
What it does
- Starts a Python MCP server automatically when VS Code opens a workspace.
- Uses all open workspace folders as allowed roots for repo access.
- Checks whether the preferred port is already in use and increments until it finds a free port.
- Starts a Cloudflare quick tunnel and writes the public URL to the
ChatGPT Workspace Exposure MCPoutput channel. - Generates a ChatGPT/OpenAI remote MCP configuration snippet from the active Cloudflare URL and writes it into the workspace.
- Provides commands to start, stop, restart, inspect status, and copy the Cloudflare URL.
Requirements
uvmust be available on your PATH, or you must pointchatgptWorkspaceExposureMcp.uvCommandat the correct executable.cloudflaredmust be available on your PATH ifchatgptWorkspaceExposureMcp.enableCloudflareis enabled.- A workspace folder must be open. Without one, the extension will not start the repo server.
Commands
ChatGPT Workspace Exposure MCP: Start ServerChatGPT Workspace Exposure MCP: Stop ServerChatGPT Workspace Exposure MCP: Restart ServerChatGPT Workspace Exposure MCP: Show StatusChatGPT Workspace Exposure MCP: Copy Cloudflare URLChatGPT Workspace Exposure MCP: Generate ChatGPT MCP ConfigChatGPT Workspace Exposure MCP: Open Cloudflare URL
Settings
chatgptWorkspaceExposureMcp.autoStart: start automatically after VS Code startup.chatgptWorkspaceExposureMcp.enableCloudflare: create a Cloudflare quick tunnel.chatgptWorkspaceExposureMcp.host: local bind host for the MCP server.chatgptWorkspaceExposureMcp.startingPort: first port to try.chatgptWorkspaceExposureMcp.maxPort: last port to try before failing.chatgptWorkspaceExposureMcp.mountPath: HTTP path for the MCP endpoint.chatgptWorkspaceExposureMcp.uvCommand: command used to launch the bundled Python server.chatgptWorkspaceExposureMcp.cloudflaredCommand: command used to create the quick tunnel.chatgptWorkspaceExposureMcp.startTimeoutSeconds: startup wait timeout for the local server.chatgptWorkspaceExposureMcp.serverLabel:server_labelused in the generated remote MCP config snippet.chatgptWorkspaceExposureMcp.serverDescription:server_descriptionused in the generated remote MCP config snippet.chatgptWorkspaceExposureMcp.requireApproval: approval mode in the generated remote MCP config snippet.chatgptWorkspaceExposureMcp.generatedConfigPath: workspace-relative path where the generated helper JSON file is written.
Output
The extension writes lifecycle logs, the selected local port, and the Cloudflare URL to the ChatGPT Workspace Exposure MCP output channel. When a tunnel is created successfully, the URL is also copied to the clipboard. The generated ChatGPT/OpenAI helper JSON includes a responses_api_tool object with type, server_label, server_description, server_url, and require_approval, plus basic ChatGPT connection steps.











