MCP Gateway quickstart
This guide walks through creating an MCP Gateway project, adding an upstream (Origin) MCP server, exposing a Virtual MCP with a public URL, picking which tools to expose, and connecting Claude Desktop. It takes about ten minutes end to end.
The guide uses the Zuplo Portal. For full code-config control — capability projection, manual OAuth client registration, custom upstream headers, and so on — see How it works and the policy reference pages.
-
Create an MCP Gateway project
Sign in to the Zuplo Portal and open the new project page. Choose the AI or MCP Gateway category, then pick the MCP Gateway tile. Enter a project name and click Create Project.
The new project opens directly on the Catalog tab, which lists every Virtual MCP the project exposes. It's empty for now.
If the MCP Gateway tile isn't visible, the feature isn't enabled on your account yet. Contact support and ask to have MCP Gateway turned on.
-
Add an Origin MCP
An Origin MCP is an upstream MCP server the gateway proxies to. Open the Origin MCP tab and click Add Origin MCP.
Fill in:
- Name — a label for this origin, for example
Linear. - Description — optional human-readable summary.
- URL — the upstream MCP server's URL, for example
https://mcp.linear.app/mcp. Replace this with the URL of the MCP server you want to front. Any Streamable HTTP MCP server works.
Click Create. The origin appears as a card with the number of tools it advertises.
If you don't have an MCP server in mind to test with, most third-party SaaS providers that ship an MCP server document a public URL in their developer docs. Search the official MCP server list for ideas.
- Name — a label for this origin, for example
-
Create a Virtual MCP
A Virtual MCP is the endpoint AI clients connect to. Each Virtual MCP points at exactly one Origin MCP and exposes a curated subset of that Origin's tools. To expose two upstreams, publish two Virtual MCPs.
Open the Virtual MCP tab and click Add Virtual MCP. Fill in:
- Name — a label, for example
Linear (prod). - Description — optional.
- Slug — auto-populated from the name. The slug becomes part of the
public URL:
https://<your-gateway>/v1/mcp/<slug>. It must use lowercase letters and hyphens only.
Click Save. The card shows the public URL and a Select tools action.
- Name — a label, for example
-
Pick tools
Click Select tools on the Virtual MCP card. The dialog opens with two panels:
- Origin MCPs on the left lists every tool advertised by your origins. Use the per-origin Enable all button to flip them on in bulk, or toggle individual tools.
- Virtual MCP on the right shows the tools currently exposed through this Virtual MCP. Click Remove on a tool to take it out.
When the right panel reflects the tool set you want, click Save.
Tools you exclude here are filtered out of the Virtual MCP's
tools/listresponse and direct calls to them return a JSON-RPCMethodNotFounderror. The upstream server never sees those requests. -
Connect Claude Desktop
Open the Catalog tab. Each card represents one Virtual MCP. Click Configuring the MCP on the card you just created.
The dialog has tabs for Claude, ChatGPT, Cursor, and VS Code. Choose Claude. Follow the numbered steps in the dialog — they walk through opening
~/Library/Application Support/Claude/claude_desktop_config.json(or the Windows equivalent) and pasting the snippet shown in the embedded editor, which already contains your Virtual MCP's URL.Restart Claude Desktop. Open the Search and tools panel inside any chat. The new MCP server appears in the list.
The first time Claude Desktop calls a tool through the gateway, it triggers an OAuth flow. A browser tab opens to your identity provider's login page; once authenticated, the gateway lists every upstream you need to connect to and walks you through each provider's OAuth one time. Subsequent calls reuse the stored credentials.
-
Test it
In Claude Desktop, prompt the model with something that requires the upstream's tools — for the Linear example, "list my open issues" is a good test. Claude asks for permission to call the tool, then returns results from the upstream MCP server.
Open the project's Analytics tab and switch to the MCP tab to see the call appear in the events timeline, the success rate, the top capabilities table, and the user breakdown.
Next steps
- Connect more clients — Claude Code, Cursor, VS Code, ChatGPT, and any other MCP client.
- How it works — the request lifecycle and the OAuth surfaces.
- Capability filtering — fine-grained tool curation, including renaming descriptions and overriding annotations.
- Teams and access control — restrict each Virtual MCP to specific teams.