ChatGPT Desktop Commander MCP
Click on "Install 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., "@ChatGPT Desktop Commander MCPlist files on my desktop"
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.
🖥️ ChatGPT Desktop Commander MCP
A Python MCP (Model Context Protocol) server that lets ChatGPT run commands on your local PC through a secure HTTPS tunnel.
🏗️ Architecture
ChatGPT ──► Cloudflare Tunnel (HTTPS) ──► Your PC (server.py) ──► Windows CMDRelated MCP server: WordPress MCP Server
⚡ Quick Start
1. Clone & Install
git clone https://github.com/kathirm1323-ai/MCP.git
cd Chatgpt_Desktop_Commander_MCP
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt2. Download Cloudflare Tunnel
curl.exe -sL "https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exe" -o cloudflared.exe3. Update Path in start_mcp.bat
Open start_mcp.bat and change the path on line 9 to your project folder:
set "MCP_DIR=C:\path\to\your\project"4. Run
Double-click start_mcp.bat — it starts both the server and tunnel.
5. Connect to ChatGPT
Copy the
https://...trycloudflare.comURL from the tunnel outputGo to ChatGPT → Settings → Apps → Create New Connector
Paste the URL directly (no
/mcpneeded)Authentication: No Auth
Click Create
📁 Project Structure
File | Description |
| MCP server with |
| One-click launcher (server + tunnel) |
| Python dependencies |
| Detailed architecture & workflow docs |
| Test script for the server |
🔧 How It Works
server.pyruns a FastMCP server with Streamable HTTP transport on port 8000cloudflared.execreates a secure HTTPS tunnel to your local serverChatGPT connects via the tunnel URL and calls the
run_commandtoolCommands execute on your PC and results are sent back to ChatGPT
🛠️ Adding More Tools
Open server.py and add new functions with @mcp.tool():
@mcp.tool()
def read_file(file_path: str) -> str:
"""Read the contents of a file."""
with open(file_path, 'r') as f:
return f.read()
@mcp.tool()
def list_directory(path: str) -> str:
"""List all files and folders in a directory."""
import os
return "\n".join(os.listdir(path))⚠️ Important Notes
The Cloudflare tunnel URL changes every restart (free tier). Update it in ChatGPT after each restart.
For a permanent URL, sign up for ngrok (free static domain) or use a Cloudflare named tunnel.
Commands run with a 30-second timeout for safety.
🔐 Security
This server runs commands on your PC — only connect it to ChatGPT accounts you control. The server is NOT authenticated by default.
📝 Errors We Solved
Error | Cause | Fix |
| ChatGPT needs HTTPS | Used Cloudflare Tunnel |
| FastMCP blocks non-localhost hosts | Disabled DNS rebinding protection |
| SSE connections die through tunnel | Switched to Streamable HTTP |
| ChatGPT hits root | Changed endpoint to root path |
📄 License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kathirm1323-ai/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server