qiao
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., "@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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
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.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceThe 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
- AlicenseNot gradedqualityBmaintenanceActs as a secure OAuth 2.0/2.1 proxy gateway for MCP servers, enabling integration with Claude and ChatGPT platforms.16MIT
- 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
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/siqiliu-tsinghua/qiao'
If you have feedback or need assistance with the MCP directory API, please join our Discord server