Skip to main content
The MCP Inspector can be run directly from the command line using npx, making it easy to quickly inspect and debug MCP servers without installing anything globally.

Quick Start

Run the inspector with a single command:
npx @mcp-use/inspector
This will:
  • Start the inspector server on an available port (default: 8080)
  • Automatically open your browser to the inspector interface
  • Display the URL in the terminal

Command Options

--url <url>

Auto-connect to an MCP server when the inspector starts.
npx @mcp-use/inspector --url http://localhost:3000/mcp
Example URLs:
  • Local server: http://localhost:3000/mcp
  • Remote server: https://mcp.linear.app/mcp
  • WebSocket: ws://localhost:8080/mcp
The URL must start with http://, https://, ws://, or wss://. The inspector will validate the URL format before starting.

--port <port>

Specify the starting port number. The inspector will find the next available port if the specified port is already in use.
npx @mcp-use/inspector --port 9000
Default: 8080 Port Range: Must be between 1 and 65535

--help, -h

Display help information and available options.
npx @mcp-use/inspector --help

Environment Variables

MCP_INSPECTOR_FRAME_ANCESTORS

Configure which origins can embed the inspector widget in iframes. This is useful when embedding the inspector into your own application or when testing widgets from different domains. Default behavior:
  • Development mode: * (allows all origins for easier development)
  • Production mode: 'self' (same-origin only for security)
Format: Space-separated list of origins or * for all origins Examples:
# Allow embedding from specific domains
MCP_INSPECTOR_FRAME_ANCESTORS="https://app.example.com https://dev.example.com" npx @mcp-use/inspector

# Allow embedding from any domain (useful for development)
MCP_INSPECTOR_FRAME_ANCESTORS="*" npx @mcp-use/inspector

# Multiple origins with wildcards
MCP_INSPECTOR_FRAME_ANCESTORS="https://*.example.com http://localhost:*" npx @mcp-use/inspector
In production deployments, it’s recommended to explicitly list allowed origins rather than using * to prevent unauthorized embedding.
When running in development mode (npm run dev), the inspector automatically allows all origins by default, so you don’t need to set this variable unless you want to test production CSP policies.

MCP_URL

Set the external base URL for your MCP server. This is useful when running behind a reverse proxy (ngrok, E2B sandboxes, Cloudflare tunnels) where the public URL differs from localhost. When set, the CLI will use this URL for widget asset URLs and Vite HMR WebSocket connections, ensuring everything works correctly through the proxy. Default behavior:
  • If not set, the CLI generates a localhost URL automatically
  • If set, the CLI preserves your value and does not overwrite it
Examples:
# ngrok tunnel
MCP_URL=https://abc123.ngrok.io npx @mcp-use/cli dev

# E2B sandbox
MCP_URL=https://3000-abc123.e2b.app npx @mcp-use/cli dev

# Cloudflare tunnel
MCP_URL=https://my-tunnel.trycloudflare.com npx @mcp-use/cli dev
When using a reverse proxy, set MCP_URL to the public-facing URL. This ensures widget hot-reload (HMR) and asset loading work correctly through the proxy.

Automatic Port Selection

If the specified port (or default 8080) is already in use, the inspector will automatically try the next available port. The terminal output will show the actual port being used:
🚀 MCP Inspector running on http://localhost:8081
📡 Auto-connecting to: http://localhost:3000/mcp
🌐 Browser opened

Troubleshooting

Port Already in Use

If you see an error about the port being in use:
# Try a different port
npx @mcp-use/inspector --port 9000

# Or stop the process using the port
lsof -ti:8080 | xargs kill

Invalid URL Format

Ensure your URL starts with a valid protocol:
# ✅ Valid
npx @mcp-use/inspector --url http://localhost:3000/mcp
npx @mcp-use/inspector --url https://mcp.example.com/mcp

# ❌ Invalid
npx @mcp-use/inspector --url localhost:3000/mcp

Browser Doesn’t Open

If the browser doesn’t open automatically, check the terminal output for the inspector URL and open it manually.