qiao
Click on "Deploy 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., "@qiaohow do I deploy qiao with a reverse proxy?"
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.
English · 简体中文
qiao
A single-user, self-hosted bridge that exposes a local stdio MCP server to ChatGPT and Claude (web + mobile) over HTTPS with OAuth.
MCP servers that speak stdio can only be used locally. To use one from ChatGPT's
or Claude's web/mobile connectors, it must be a public HTTPS endpoint with the
full OAuth dance those connectors expect. qiao is that layer — and nothing
more: it is a 100% passthrough transport + auth front door.
Single user, multiple clients. One owner; connect as many of your own devices/clients as you like. They share one backend process by default;
per_client_processgives each its own.100% passthrough. Whatever tools your backend exposes,
qiaoforwards verbatim. It does not parse, filter, or rewrite payloads.Built on FastMCP. It doesn't reinvent the OAuth or transport machinery.
You own what you expose.
qiaoguarantees only you can reach your backend; it does not sandbox or vet the backend's tools. SeeSECURITY.md.
qiao runs its own OAuth authorization server rather than delegating to an
upstream identity provider — see SECURITY.md for what that buys and what it
costs.
Only ever using ChatGPT? OpenAI's own Secure MCP Tunnel reaches a local stdio server without any public endpoint of your own, and is simpler — follow their docs.
qiaois for the case it cannot serve: one backend, every client.
Try it
qiao init # write qiao.toml
qiao hash-password # paste the result into [auth].password_hash
qiao check # validate before starting
qiao run # serve; put a TLS-terminating proxy in front
qiao backup out.db # copy the OAuth database; safe while runningUse qiao backup rather than copying the database file — the copy comes back
empty, without an error.
base_url in the config must be the public URL clients reach — it is what
the OAuth discovery documents advertise.
The full recipe — reverse proxy, tunnel, systemd, and the one invariant that
produces unexplainable 502s when you get it backwards — is in
docs/deploying.md.
Related MCP server: ChatGPT Codex Bridge
Adding it to a connector
Both providers hide custom connectors behind something, and neither says so clearly. Verified 2026-08-10:
ChatGPT — enable developer mode in settings first; there is no way to add a custom connector without it.
Claude — add and remove connectors on the web. The mobile app can use a connector and complete a login, but offers no way to add or delete one.
Either — a connector is account-level. Add it once on the web and it appears on your phone; you do not set it up twice.
ChatGPT on mobile — after connecting you may have to attach the connector to the conversation by hand. Until you do, the model can list the tools and will not call them, which looks exactly like a broken server.
If these documents are hard going
That is not you. Deploying this touches DNS, certificates, systemd, a reverse proxy and a tunnel, and explaining all of that from the ground up would take a book — one the author is not able to write. What is here assumes background you may not have, and that is a limitation of the writing, not of the reader.
So bring an assistant. Paste a section of docs/deploying.md into Claude, GPT,
GLM, Kimi — even Gemini — and ask what the step is doing, or have it adapt a
command to your own machine. They are good at exactly this, and it will save you
some of the copying and pasting besides.
This server cannot be deployed
Maintenance
Related MCP Connectors
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceThe self-hosted MCP bridge between Claude Chat and Claude Code.46AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceSelf-hosted MCP server that lets ChatGPT work with your local codebase through explicit tools.MIT
- FlicenseBqualityAmaintenanceChatGPT-compatible MCP server and Electron launcher for controlled local project-file access, providing read-only and approval-gated write tools over STDIO or HTTP with optional OAuth and HTTPS tunneling.19-
- AlicenseNot gradedqualityBmaintenanceAn OAuth-protected MCP server exposing a coding-tool harness over Streamable HTTP, enabling remote MCP clients like ChatGPT to securely access a local development environment.19MIT