---
title: "portal-deploy"
description: "Safely expose, verify, and reach apps published through Portal tunnels."
canonical: https://agentpluginsdirectory.com/plugins/portal-deploy
last-updated: 2026-09-25
---

# portal-deploy
Safely expose, verify, and reach apps published through Portal tunnels.
- Slug: portal-deploy
- Publisher: gosuda
- Repository: https://github.com/gosuda/portal-tunnel
- Manifest: plugins/portal-deploy/plugin.json
- Version: 0.1.0
- License: MIT
- Category (editorial): other
- Skills: 3 (portal-connect, portal-expose, portal-relay)
- MCP servers: 0
- Stars: 270
- Repository created: 2025-10-20
- Repository last pushed: 2026-09-23
- Publisher type: Organization
- Listing: https://agentpluginsdirectory.com/plugins/portal-deploy
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What portal-deploy does, in the publisher's words

portal-deploy is a portable, skills-only Agent Plugin for exposing and verifying local apps through Portal, and for reaching services that others published through it. Portal keeps the service on the local machine; this plugin does not turn Portal into a cloud build or hosting platform.

The root plugin.json is the single portable identity and metadata contract. Every host discovers the same skills/ directory.

Cursor consumes the portable root manifest directly. Claude Code discovers skills/ from the plugin root, so neither host needs a second per-plugin manifest.

- agents/plugins/marketplace.json for Codex
- claude-plugin/marketplace.json for Claude Code
- cursor-plugin/marketplace.json for Cursor
- Deploy the app in this repository with Portal and verify the public URL.
- Expose this app with Portal, protect GET /paid with x402, and verify the payment challenge.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/gosuda/portal-tunnel/HEAD/plugins/portal-deploy/README.md

## Skills

- portal-connect: Reach, inspect, or consume a service that someone published through a Portal relay. Turns a Portal hostname, a service name plus relay, or a bare service name into the right public URL (name.relay-host over HTTPS) or raw host:port, lists what is live on a public or self-hosted relay through GET /ap…
- portal-expose: Expose, preview, protect with x402 payments, or keep a local web app, static site, HTTP route set, or explicitly requested TCP/UDP service reachable through Portal, then verify the public endpoint and report its lifecycle. This is the app side of Portal, the same flow as the quick-start form on a r…
- portal-relay: Set up and run a public Portal relay on any Linux host with a public IP, Docker Compose deployment, embedded authoritative DNS with one-time NS delegation, optional TCP/UDP lease ports for game hosting, and registration in the public relay pool. Use when the user asks to run their own relay, contri…

Descriptions come from the frontmatter of each SKILL.md, punctuation lightly normalized.
