I stopped opening the dashboard for most things. Not because the dashboard is bad — but because I already spend my day in Claude, and the moment I need a public URL or an edge rule, leaving that window to click around a browser and come back is friction. So I connected Claude to the Ngris MCP server, and now I run the edge by asking for it. This is what that actually looks like, honestly — the good parts and the boundaries.
Connecting Claude took about 30 seconds
The Ngris Model Context Protocol (MCP) server is hosted at mcp.ngris.com. I added it to Claude Code over Streamable HTTP and authenticated in the browser:
# Add the Ngris MCP server (Streamable HTTP)
claude mcp add --transport http ngris https://mcp.ngris.com/mcp
# A browser tab opens — click Authenticate, approve, done.
Auth is OAuth 2.1: a tab opens, I approve, and Claude holds the token — nothing to copy or paste. (For scripts or CI you can pass an Ngris API key as a bearer credential instead.) Claude Desktop and Cursor connect the same way — any MCP-capable client points at the same URL. Once it's connected, Claude discovers roughly 150 tools, and I never call them by name — I just describe what I want.
The prompts I actually use
These are real things I ask, and what happens when I do.
"Give me a public URL for the app on port 5173." Claude creates an endpoint and hands back the HTTPS URL. It's the same as running the CLI, except I never left the chat where I was already working on the app.
"Deploy this repo and show me the build log." It ships a static build or a managed backend, tails the build log, and reports the live URL. I can follow up with "roll that back" or "set the previous deploy as the live one" and it flips the pointer.
"Rate-limit the login route to 10 requests a minute per IP, and block anything that looks like SQL injection." Claude drafts a rate-limit rule and a waf rule on the endpoint. Before anything is saved, the mutating policy tools can preview a rule's blast radius and test a CEL expression, so I get to see the impact first — the same "show me before you change it" posture Iris uses inside the dashboard.
"Find the 5xx responses on my API endpoint, explain the worst one, and replay it against my fix." This is the one that changed how I debug. Claude pulls recent traffic, searches it in plain language, explains a specific request, and replays the exact failing request — all in the same conversation where I just wrote the patch. No copying request bodies between tabs.
"Add api.example.com as a custom domain and check the CNAME." Domains, DNS records, and TLS — check availability, add a domain, verify the record, reissue a certificate — are all tools too.
"What's my usage this month, and how close am I to my plan limit?" It reads billing and usage. It can start a checkout or open the billing portal, but it never touches card data — checkout returns a Stripe client secret for a client-side confirm, and the portal returns a Stripe-hosted URL.
What it can't do (on purpose)
This is the part I'd want to know before wiring an AI into my infrastructure, so here it is plainly. The MCP server is a thin client over the public Ngris API. It has no database and no service-level token of its own — every tool forwards my credential to the API, which stays the single authority on what I'm allowed to do. The practical consequence: Claude can never do more through the server than I could do myself in the dashboard.
- User-facing scope only. No admin routes are reachable through the server. It's my account, not the platform's.
- Reads are free, writes are visible. Read-only tools are marked as such; write tools declare whether they're destructive, and the policy tools carry the dry-run/preview affordances so a change is shown before it's applied.
- Secrets stay one-way. Setting an environment variable is write-only; creating an API key returns it once. The server can't hand my secrets back out.
An account API key is scoped to a single account; the few multi-account tools require an OAuth or session credential and say so in their descriptions. None of this is a limitation I fight — it's the reason I was comfortable connecting it at all.
Why this beats a dashboard for me
The dashboard is still there and still good. But most of my edge work is small and contextual — expose this, deploy that, tighten a rule, look at why a request failed — and all of it now happens in the window where I'm already writing the code. Ngris was built as two doors onto one policy edge (expose a local or Kubernetes service, or deploy a site or app), both behind the same WAF, auth, and rate limits. The MCP server puts that whole edge behind a conversation. As far as I can tell, no other tunnel of this kind ships one — ngrok, Cloudflare Tunnel, and Tailscale Funnel don't — which is exactly why it's worth trying.
Frequently asked questions
Which AI clients work with the Ngris MCP server?
Any MCP-capable client. Claude Code, Claude Desktop, and Cursor connect over Streamable HTTP at https://mcp.ngris.com/mcp; clients that support OAuth 2.1 trigger a browser login automatically, and clients that take a static credential can send an Ngris API key as a bearer token. You can also run the server locally over stdio with an API key.
What can I actually do through it?
About 150 user-facing tools, covering the same surfaces as the dashboard: expose a local port, deploy a static site or managed backend, configure routing rules, rate limits, firewall rules, mTLS, per-endpoint auth and RBAC, health checks, and alerts, manage domains/DNS/TLS, inspect and replay live traffic, and check usage and billing — plus support tickets and the kanban board.
Is it safe to give an AI assistant access to my edge?
The server is a thin client over the public API with no service token of its own — every tool forwards your own credential, so it can never exceed what you could do in the dashboard. It's user-facing scope only (no admin routes), read tools are marked read-only, write tools declare when they're destructive, and the policy tools can preview a change before it's applied. Secrets are one-way: setting an env var is write-only, and an API key is shown once.
Does it apply changes automatically?
Your assistant decides which tools to call, but the mutating policy tools pair with dry-run affordances — you can test a CEL expression and preview a rule's blast radius — so a change can be shown before it's saved, mirroring how Iris gates writes behind a confirmation card in the dashboard. Read-only tools are safe to run freely; write tools are labelled.
What does it cost to use?
The MCP server itself is included with your account. Ngris is a hosted SaaS with self-serve pricing: $0 to start with no credit card, $10/mo for Team (custom domains, the WAF, edge auth), and $25/mo for Enterprise (dedicated ports/IPs, SSO). The same account backs your tunnels, deploys, and the MCP tools.
Run your edge from your AI assistant
Connect Claude and expose a service, deploy a site, or replay a failing request — by asking.
See the Ngris MCP server →