smithery/plurigrid

ngrok-tunnel

Secure tunnel for exposing local MCP servers to Claude, remote agents, and external clients. Supports custom domains, IP whitelisting, and traffic policies.

Installation

$ npx skills add smithery/plurigrid --skill ngrok-tunnel

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/plurigrid · top by installs.

npx skills add smithery/plurigrid

Browse all from smithery/plurigrid

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
Declared agents claude-code cursor windsurf

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,106 B
  • docs SUMMARY.md 176 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

ngrok Tunnel Skill

Trit: +1 (PLUS - enables external connectivity) Foundation: ngrok + WireGuard-style tunneling + Traffic Policies

Core Concept

ngrok creates secure tunnels from localhost to public endpoints:

  • HTTPS with automatic TLS certificates
  • Custom domains (paid plans)
  • IP whitelisting for Claude/Anthropic
  • Traffic policies for access control
  • Real-time request inspection

Quick Start

# Install (macOS)
brew install ngrok

# Authenticate
ngrok config add-authtoken YOUR_TOKEN

# Expose local MCP server
ngrok http 3000

# With custom domain (paid)
ngrok http --url=your-domain.ngrok.io 3000

MCP Server Exposure

# Start your MCP server
bun run mcp-server --port 8080

# Expose via ngrok
ngrok http 8080

# Copy the HTTPS URL (e.g., https://abc123.ngrok.io)
# Register in Claude Settings → Integrations → Add more

Traffic Policy: Claude-Only Access

Create policy.yml:

on_http_request:
  - actions:
      - type: restrict-ips
        config:
          enforce: true
          allow:
            - 160.79.104.0/23  # Anthropic IP range

Apply:

ngrok http 8080 --traffic-policy-file policy.yml

Custom Domain Setup

# Reserve domain in ngrok dashboard first
ngrok http --url=mcp.yourdomain.com 8080

# With traffic policy
ngrok http --url=mcp.yourdomain.com --traffic-policy-file policy.yml 8080

vers-agent Integration

# Expose vers-agent server for remote access
vers-agent --server --port 8765 &
ngrok http 8765

# Remote clients connect via ngrok URL
vers-agent --remote https://abc123.ngrok.io

GF(3) Integration

def trit_from_tunnel(tunnel):
    """Map tunnel status to GF(3) trit."""
    if tunnel.status == "online" and tunnel.has_custom_domain:
        return 1   # PLUS: full connectivity
    elif tunnel.status == "online":
        return 0   # ERGODIC: basic tunnel
    else:
        return -1  # MINUS: offline/error

Canonical Triads

skill-validation-gf3 (-1) ⊗ tailscale-mesh (0) ⊗ ngrok-tunnel (+1) = 0 ✓
bisimulation-game (-1) ⊗ localsend-mcp (0) ⊗ ngrok-tunnel (+1) = 0 ✓

Composio MCP Integration

For AI agent automation, use Composio's ngrok MCP:

ToolHive Integration

# Expose ToolHive-managed MCP servers
thv proxy tunnel --server my-mcp-server

See Also

  • tailscale-mesh - WireGuard mesh VPN
  • tailscale-file-transfer - P2P file transfer
  • localsend-mcp - Local network P2P
  • mcp-builder - MCP server creation guide

References