Gate is a local MCP reverse proxy that exposes your computer, MCP servers and Agent Skills through a single OAuth-protected endpoint. It lets ChatGPT reach tools running on your own machine from the web app and iOS apps, without moving the underlying services into the cloud.
Use Gate to connect local commands, files, browser automation, custom MCP servers and a trusted Skills catalogue back to your regular ChatGPT conversations.
Install Gate on macOS, Linux or WSL:
curl -fsSL https://spel.cc/gate.sh | bashThen:
Run Gate:
gate
On first setup, choose how Gate is exposed publicly: ngrok, Tailscale Funnel, or Cloudflare Tunnel. Gate prints the public MCP URL when it starts.
Open ChatGPT settings and enable Developer mode under Apps → Advanced settings. Then create a custom MCP app directly in ChatGPT using the
/mcpURL printed by Gate. See the detailed setup guide if needed. As long as Gate is running, ChatGPT can call it from chats where the app is enabled.
Public endpoints:
<public-url>/mcp— MCP connector<public-url>/oauth— OAuth discovery and authorization<public-url>/rt— authenticated real-time calls interface
See the installation and usage guide, if you want to do it the hard way.
Gate starts in discover mode. Only eight tools are exposed by default:
| Tool | Description |
|---|---|
run_command | Execute a local shell command |
skills_search | Search the local Agent Skills catalogue |
skills_read | Read a selected Agent Skill |
skills_create | Create a validated local Agent Skill package |
mcp_servers_list | List downstream MCP servers, or refresh their registry |
mcp_tools_search | Search tools across downstream MCP servers |
mcp_tool_read | Load the schema for one discovered MCP tool |
mcp_tool_call | Invoke one discovered MCP tool |
Additional first-party tools and runtime-specific helpers may be available outside this default surface. See the installation and usage guide for exposure modes and configuration.
Gate uses discovery mode by default so large downstream MCP catalogues do not flood ChatGPT's initial tool context.
Downstream tools from config/mcp.json remain connected and searchable. Use mcp_tools_search to find one, including by its former prefix_tool public name, mcp_tool_read to load its schema, then mcp_tool_call to invoke it. Detailed exposure-mode and queue behavior lives in the installation guide.
See more about the MCP implementation and subserver configuration.
Gate can expose a trusted local catalogue of Agent Skills through skills_search, skills_read, and skills_create. Skills remain stored on your machine and can be discovered from ChatGPT without being bundled into the gateway or automatically injected into every conversation.
See how to configure the Skills catalogue.
run_commandcan execute local shell commands, so Gate applies a built-in destructive-command safeguard before process creation- OAuth tokens are signed with a local RSA key (generated in
data/oauth_private_key.pem) - Files shared via
public_file_shareare accessible without authentication - Command logs contain all input/output — do not expose logs
- The authenticated
/rtinspector captures redacted tool details by default. SetGATE_REALTIME_CAPTURE_RAW_DATA=falsefor metadata-only monitoring when calls may contain secrets Gate cannot identify automatically
Gate blocks common destructive filesystem, Git, Docker, database, Kubernetes, Terraform, disk, PowerShell, cmd and WSL operations by default.
For broader protection, choose 2. Destructive Command Guard (dcg) during Gate setup. This is a one-click install: Gate downloads the pinned Destructive Command Guard release, verifies its SHA256 checksum and version, and falls back safely to the built-in guard if installation fails.
Read the command safeguard documentation.
This project is licensed under the MIT License.
