# TunnelHQ documentation

TunnelHQ is uptime monitoring for VPN servers. Instead of pinging a port, it completes a real tunnel handshake across 11 protocols and tells you whether users can connect, from one location or many.

An open port doesn't mean the tunnel works. Certificates expire, authentication breaks, an upstream route goes dark, or a region gets blocked, and a plain TCP check still reports "up". TunnelHQ connects the way a real client does, so a passing check means people are getting through.

## What you can do

Most of this also works from the REST API and the MCP server. The CLI tests configs and manages API keys.

<CardGrid>
  <LinkCard title="Quick start" href="/docs/quickstart/" description="Add your first monitor and run a live test in about five minutes." />
  <LinkCard title="Working with monitors" href="/docs/concepts/monitors/" description="Add a monitor, then tune its locations, interval, retries, and alerts." />
  <LinkCard title="VPN protocols" href="/docs/protocols/" description="The 11 supported protocols and the fields each check needs." />
  <LinkCard title="Import monitors" href="/docs/import/" description="Add many servers at once with AI-assisted paste or config file upload." />
  <LinkCard title="Locations and status" href="/docs/concepts/regions/" description="Test from several locations and see how aggregate status is calculated." />
  <LinkCard title="REST API" href="/docs/api/" description="Manage monitors, tests, and incidents over HTTP." />
  <LinkCard title="CLI" href="/docs/cli/" description="Test VPN configs and manage API keys from your terminal with thq." />
  <LinkCard title="MCP server" href="/docs/mcp/" description="Let Claude, Cursor, or Windsurf run tests and work on incidents." />
  <LinkCard title="Webhooks" href="/docs/webhooks/" description="Receive monitor.down and monitor.up events when status changes." />
  <UptimeCard />
</CardGrid>

:::note[New to TunnelHQ?]
Start with the [Quick start](/docs/quickstart/). It walks you through adding one monitor and reading its first check.
:::
