Content
# Tool List
**English** | [English](README_en.md)




> ### 🌐 Use local MCP with ChatGPT Web Browser
> MCP is commonly associated with desktop clients like Claude Desktop, but
> **MCP World** exposes a local MCP server to a public URL via **SSH reverse tunneling**
> and connects it directly to the **ChatGPT Developer Mode Connector**.
> This allows for controlling Blender, CAD, Photoshop, HWP, and Office naturally
> through the ChatGPT web interface without requiring a separate desktop app.

A GUI for toggling local MCP servers and tunnels connected to the ChatGPT web interface.
> ⚠️ **Windows 11 only**. Not compatible with macOS or Linux.
> This is due to the dependency on **Windows COM automation** for controlled apps
> (HWP, MS Office, Photoshop, CAD) and hardcoded execution paths in `config.json`.
## Initial Setup (One-time)
1. Copy `config.example.json` to `config.json`.
2. Fill in values according to your environment:
- `vps_ssh` — VPS SSH target (e.g., `root@YOUR_VPS_IP`)
- `public_base` — Public domain (e.g., `https://YOUR_DOMAIN`)
- `cwd`, `server`, and `install` paths for each MCP
3. `config.json` is included in `.gitignore` to protect personal settings.
> Refer to the template under **"Add a new MCP to VPS"** for VPS nginx routing.
> ℹ️ All 5 MCPs are automatically installed from **public repositories**
> (github.com/JS190-prog/*) or PyPI (`uvx`). `config.example.json` links to actual
> repositories, so **fill in VPS and domain values** and they will be cloned and
> installed automatically at startup. To customize, fork each repository and
> change the `install` URL.
## Configuration
- `mcpworld.pyw` — GUI main body (tkinter + pystray tray)
- `config.json` — MCP definitions (ports, paths, execution commands, environment variables)
- `.venv\` — Dedicated virtual environment (pystray, pillow)
- `logs\` — Server and tunnel logs for each MCP (`<id>-server.log`, `<id>-tunnel.log`)
## Managed MCPs
| MCP | Local Port | VPS Port | Public URL |
|---|---|---|---|
| Blender | 18000 | 8010 | https://YOUR_DOMAIN/bmcp/mcp |
| CAD | 18001 | 8011 | https://YOUR_DOMAIN/cmcp/mcp |
| Photoshop | 8002 | 8012 | https://YOUR_DOMAIN/pmcp/mcp |
| HWP 2024 | 18004 | 8014 | https://YOUR_DOMAIN/hmcp/mcp |
| Office | 18005 | 8015 | https://YOUR_DOMAIN/omcp/mcp |
Each row: **Server** (local port) + **Tunnel** (SSH reverse tunnel) status indicators →
both green indicates readiness for ChatGPT usage.
## Execution
- Double-click the **`MCP World`** shortcut on the desktop, or
- `\.venv\Scripts\pythonw.exe mcpworld.pyw`
## Usage
1. **▶ Start All** — Start all servers → wait for ports → establish reverse tunnels
2. When all MCP status indicators (server and tunnel) are green, it's ready
3. Run target apps (Blender / ZWCAD / Photoshop / HWP / Office) and open working documents
- HWP and Office can be auto-launched via `env` settings in `config.json`
4. Add the public URL to the ChatGPT Developer Mode Connector (no authentication)
5. When finished, **■ Stop All**
> **⚙ Settings** button allows editing of all MCP ports, paths, environment variables,
> and server commands in the GUI (changes applied after restart).
---
## CAD File Upload Notes
Files uploaded to the ChatGPT web interface have a `/mnt/data/...` path,
which is an internal path in the OpenAI sandbox. Local Windows PC CAD MCP servers
cannot directly access this path.
Therefore, the following method is not considered automatic processing:
```json
{ "file_path": "/mnt/data/plan.dwg" }
```
Previously, the file name was used to find and open a matching file in
`C:\cad-mcp\workspace`, `C:\cad-mcp\inbox`, or `Downloads`, but this approach
was removed due to potential issues with incorrect file opening.
Safe paths allowed by CAD MCP:
- Users directly open the original drawing in CAD and use current document tools
like `get_active_document_info`, `list_text_entities`, `update_entity`, `save_as_generated`.
- File bytes transmitted via `upload_and_open_drawing(file_base64=...)` or `upload_drawing_chunk`
are treated as uploaded files.
- Only files in explicit local Windows paths or `C:\cad-mcp\inbox` are opened.
`file_id` also cannot be automatically retrieved by the local server.
It is rejected unless a separate bridge sends the actual file bytes.
---
## Adding a New MCP to VPS (How-To)
To use a new tool (MCP) with ChatGPT, follow these 3 steps:
**① Local registration → ② VPS exposure (nginx) → ③ ChatGPT connection**.
**Connection flow**
```
ChatGPT ──HTTPS──▶ https://YOUR_DOMAIN/<path>/mcp
│ (VPS nginx reverse proxy)
▼
VPS 127.0.0.1:<vps_port>
│ (SSH reverse tunnel — auto-generated by GUI)
▼
Local PC 127.0.0.1:<local_port>
│ (local MCP server)
▼
Target App (Blender / HWP / Office ...)
```
### Step 1 — Local Registration (`config.json`)
Add a new item to the `mcps` array in `config.json` or use the GUI's **⚙ Settings** button:
```json
{
"id": "myapp",
"name": "My App",
"local_port": 18006,
"vps_port": 8016,
"path": "/amcp/",
"cwd": "C:/path/to/server",
"server": ["C:/path/to/python.exe", "server.py", "--port", "18006"],
"env": { "MY_FLAG": "1" }
}
```
| Field | Meaning |
|---|---|
| `id` | Unique identifier (used in log file names) |
| `local_port` | Available local port |
| `vps_port` | Available VPS port (avoid conflicts in the 8010~ range) |
| `path` | Public path (e.g., `/amcp/`) → URL is `.../amcp/mcp` |
| `cwd` / `server` | Server execution folder / execution command (array) |
| `env` | (Optional) Environment variables to pass to the server (e.g., auto-launch HWP) |
> **stdio-based MCPs** are wrapped with `mcp-proxy` for HTTP exposure (used by CAD, HWP, Office).
> Example:
> ```
> "server": ["C:/cad-mcp/.proxy-venv/Scripts/mcp-proxy.exe",
> "--host", "127.0.0.1", "--port", "18006",
> "--transport", "streamablehttp", "--pass-environment", "--",
> "C:/path/python.exe", "server.py"]
> ```
Restart the GUI → start the new row → if the server status indicators are green,
local registration is complete.
### Step 2 — VPS Exposure (nginx Routing)
Connect to VPS via SSH and add a `location` block to the nginx configuration file.
```bash
ssh root@YOUR_VPS_IP
nano /etc/nginx/sites-available/automaton-dashboard-http.conf
```
Add the following block — replace **`/amcp/` (path) and `8016` (vps_port)** with your values:
```nginx
# === amcp (ChatGPT connector) BEGIN ===
location ^~ /amcp/ {
rewrite ^/amcp/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:8016; # ← vps_port
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Connection "";
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 24h;
proxy_send_timeout 24h;
client_max_body_size 150M;
}
# === amcp END ===
```
Save and **verify before applying** (syntax errors can halt other services):
```bash
nginx -t && systemctl reload nginx
```
> **Revert:** Remove the added `# === amcp BEGIN/END ===` block and
> `nginx -t && systemctl reload nginx`. Existing blocks are marked with
> `# === <name> BEGIN/END ===` comments for easy identification.
### Step 3 — ChatGPT Connection
Add the public URL to the ChatGPT Developer Mode Connector (no authentication):
```
https://YOUR_DOMAIN/amcp/mcp
```
- The URL can be copied using the **📋 URL** button in the GUI.
- **Tool changes** require deleting and re-adding the connector for the new tool list to appear.
---
## Notes
- **Local PC must be on** and server + tunnel must be alive for ChatGPT to work.
- Clicking the window X button → minimizes to tray (continues running).
Tray icon → exit.
- "Exit (server maintained)" closes the GUI but keeps servers and tunnels running
in the background → completely shut down requires **Stop All**.
- Recommended to enable only when in use due to unauthenticated public exposure.
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
Python tool for converting files and office documents to Markdown.
awesome-claude-skills
A curated list of awesome Claude Skills, resources, and tools for...
antigravity-awesome-skills
The Ultimate Collection of 130+ Agentic Skills for Claude...
context-mode
MCP is the protocol for tool access. We're the virtualization layer for context.
claude-context-mode
claude-context-mode plugin reduces MCP context bloat, saving up to 99% of tokens.