Our take
Activeregular commits and releases- Activity
- 80
- Community
- 32
- Issues
- 74
- Pull requests
- no data
+50 stars in the last 15 days
- Fewer contributors than 86% of the projects we track
This is an actively maintained, feature-rich Go client for OpenAI Secure MCP Tunnel, but its small, contributor-concentrated team is a factor for organizations relying on it operationally.
Good fit if
- You need ChatGPT, Codex, the Responses API, or AgentKit to reach a private or localhost MCP server without making that server public.
- You want a Go CLI or SDK with runtime health and readiness visibility.
- Your team can follow the documented tunnel setup and operate a long-running client alongside the MCP server.
Look elsewhere if
- You need a standalone tunnel that does not depend on OpenAI Secure MCP Tunnel.
- You cannot keep a customer-run client available while connectors discover and call the MCP server.
- You need a mature project maintained by a broad contributor base; current activity is strong, but most contributions come from one of its two contributors.
All health signals
| Last commit | 2026-10-20 (today) |
|---|---|
| Commits, last 90 days | 100+ |
| Releases, last 12 months | 19 (latest v0.0.16, 2026-10-06) |
| Contributors | 2 (top contributor: 67% of commits) |
| Issues closed, last 90 days | 37 (typically closed in 3 days) |
| Project age | 11 months |
Checked on 2026-10-21 with the GitHub API.
Overview
tunnel-client is the customer-run Go client for OpenAI Secure MCP Tunnel. It runs beside a private or localhost Model Context Protocol (MCP) server, polls an OpenAI-hosted tunnel endpoint, and relays requests so ChatGPT, Codex, the Responses API, and AgentKit can reach the server without a public endpoint or inbound firewall rule.
It is aimed at operators who want to expose MCP capabilities through an OpenAI-hosted connection while keeping the server inside a laptop, VM, Kubernetes cluster, or private network. The repository provides a CLI, a Go SDK for embedding the client in another Go process, and operational endpoints and a UI for checking runtime health.
Key Features
- Long-polls the OpenAI control plane over HTTPS and forwards JSON-RPC requests to an MCP server.
- Supports MCP connections over Streamable HTTP, stdio, and in-memory Go transports.
- Includes
/healthz,/readyz,/metrics, and/uifor operational visibility. - Provides
initanddoctorcommands, sample profiles, and task-oriented quickstart help. - Offers a Go SDK for running the tunnel client in the same process as an MCP server.
- Includes an embedded MCP demo for testing without a separate server.
- Provides optional managed
cloudflaredsupport and runtime-only client builds. - Includes an embedded Harpoon MCP server for configured, allowlisted outbound HTTP targets.
Use Cases
- A security-conscious team can connect a private-network MCP server to ChatGPT without opening an inbound firewall port or publishing the server.
- A developer can expose a localhost MCP server to Codex or ChatGPT while keeping the tunnel client running on the same machine.
- A Go application can run an MCP server and the tunnel client together using the SDK's in-memory transport.
- An operator can deploy the runtime beside an MCP service on a VM or Kubernetes cluster and monitor its health before relying on connector calls.
What you need
Detected in the repository
- Node.js 22.23.3 or newer (from package.json)
- Go 1.27.0 or newer (from go.mod)
- A Dockerfile, so it can run in a container
- A test suite and automated checks on GitHub Actions
License in plain words
Apache-2.0permissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the license, the NOTICE file and a note of your changes
- Share your changes: no
- Includes an explicit patent grant from the contributors:
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
On macOS, install the supported Homebrew package and open the guided setup:
brew install openai/tools/tunnel-client
tunnel-client help quickstart
See the README and onboarding guide for configuration, permissions, and deployment details.
Considerations
- The client is an interface to OpenAI Secure MCP Tunnel, not a self-contained replacement for the hosted tunnel service. Adoption depends on having a tunnel ID and suitable runtime credentials and permissions.
- The runtime must remain available for connector discovery and MCP calls. For stdio deployments, the README documents that multiple active instances sharing one tunnel ID are unsupported.
- The project is young and has only two measured contributors, with contributions concentrated on one person. Recent commits and releases and prompt issue closure indicate active maintenance, but the small team may affect continuity.
- The project is licensed under Apache-2.0. Teams distributing modified versions should review the license's notice and attribution requirements.
Found this useful?
Share it with someone who would like tunnel-client.