This page covers ngrok’s own MCP server.
To put your own MCP server online with ngrok, see the guide on using ngrok as an MCP gateway.
/mcp path is part of the OAuth resource, so the bare origin https://mcp.ngrok.com doesn’t work.
Quickstart
Most clients sign in with OAuth. You add the server, then sign in to ngrok in your browser and approve the consent screen. You never paste a token into your AI agent.- Claude Code
- Codex
- Cursor
- Gemini CLI
- Amp
- Cline
- Pi
- VS Code
Run:Don’t pass
--client-id or --callback-port.
Claude Code finds its client through server discovery.Other clients
If your client supports OAuth client ID metadata documents, addhttps://mcp.ngrok.com/mcp as a remote HTTP server.
Zed, Goose, and OpenCode work this way.
In Claude on the web, Claude Desktop, and Cowork, go to Customize > Connectors and add a custom connector with https://mcp.ngrok.com/mcp.
Then connect it to sign in.
On Team and Enterprise plans, an owner adds the connector in Organization settings > Connectors.
ChatGPT can’t connect yet.
Clients without OAuth
If your client can’t sign in with OAuth, use a personal access token (PAT) instead:1
Create a personal access token
In the dashboard, go to Access Tokens and create a token.
Choose the scopes for what you want your AI agent to do, and set an expiration.
Read scopes, such as
endpoints:read, let the AI agent look things up.
Write scopes, such as endpoints:write and ip-policies:write, let it make changes.
Copy the token right away.
It starts with ngrok_pat_ and the dashboard shows it only once.2
Send the token as a bearer header
Configure your client to send this header with every request to For example, with Claude Code:Most clients that take a JSON configuration accept a
https://mcp.ngrok.com/mcp:headers object next to url.Check that it works
After you sign in, confirm that your client sees the ngrok tools:- Claude Code: run
/mcpand selectngrok. - Codex: run
codex mcp list. - Pi: run
pi mcp list. - Any client: ask your AI agent “What ngrok tools do you have?”
- Endpoints, ngrok agents, and Traffic Inspector traffic.
- Gateway resources, such as domains, TCP addresses, IP policies, certificates, vaults, and event destinations.
- Your account, team, credentials, usage, and limits.
- The ngrok documentation.
- Cloud Endpoints, including their URL, bindings, pooling, and Traffic Policy.
- Reserved domains and TCP addresses.
- IP policies and their allow and deny rules.
- Vaults and secrets.
- Credentials: it can revoke authtokens, API keys, and SSH keys.
- Traffic Policy: it can write a policy and validate it before applying it.
What you can ask
These examples show what a conversation with the ngrok MCP server looks like. Your AI agent picks the tools, so the exact steps can differ. For more prompts you can copy, grouped by job, see Example prompts.Show me the 500s on my endpoints by hour for the last day
Show me the 500s on my endpoints by hour for the last day
The AI agent queries Traffic Inspector for status 500 over the last 24 hours, counted per hour in your time zone.
You get an hourly breakdown, plus the paths and client IPs behind the spikes.
Follow up with “Show me one of those requests” to see its headers, timing, and error detail.
I got an ngrok error page with request ID req_0a1b2c3d. What happened?
I got an ngrok error page with request ID req_0a1b2c3d. What happened?
The AI agent looks up that request and reads the docs for the error.
You get what failed, where it failed (ngrok, your ngrok agent, or your upstream), and how to fix it.
The request details include the
ERR_NGROK code only when full capture is turned on.
Without full capture, paste the error code from the error page too, so the AI agent doesn’t blame your app for an ngrok error.Rate limit /api on my Cloud Endpoint to 100 requests per minute per IP
Rate limit /api on my Cloud Endpoint to 100 requests per minute per IP
The AI agent reads the
rate-limit action docs, writes the policy, and validates it.
If validation fails, it fixes the errors and validates again.
Then it asks to update your Cloud Endpoint’s Traffic Policy.Who on my team has API keys? Revoke the ones that belong to people who left
Who on my team has API keys? Revoke the ones that belong to people who left
The AI agent joins your team with your API keys.
You get each key’s owner, description, and status.
For keys whose owner is no longer on the team, it asks to revoke each one.
Tools never return the key, token, or secret values themselves.
Traffic questions use Traffic Inspector data, so the window your AI agent can see depends on your plan’s retention.
Request headers and bodies are available only when full capture is turned on.
Make changes safely
The MCP server marks each tool as read-only or as one that makes changes, and marks deletes as destructive. Most clients use these markers to ask you before the AI agent runs a tool that changes your account. Keep those prompts on, and read what the AI agent is about to do before you approve it. To keep an AI agent read-only, connect with a personal access token that has only read scopes. See Clients without OAuth.Troubleshooting
- “Got new credentials, but ngrok rejected them”: Your account doesn’t have access to the MCP server. Contact ngrok support.
- Sign-in fails or the server isn’t found: Check that the URL ends in
/mcp. - Pi fails with “Authorization server does not support dynamic client registration”: Set
oauth.clientRegistrationtocimdfor the server in~/.pi/agent/mcp.json, then runpi mcp login ngrokagain. - Claude Code uses an old callback port: Run
claude mcp remove ngrok --scope user, then add the server again. - A PAT is rejected: The token is invalid, expired, or revoked.
Create a new one and update the
Authorizationheader.
Related resources
- Traffic Inspector: The traffic data behind most questions.
- Traffic Policy: The rules your AI agent can write and validate.
- IP policies: How deny and allow rules apply to endpoints.
- Role-based access control: What your role allows the AI agent to do.
- Use ngrok as an MCP gateway: Put your own MCP server online with ngrok.