… agents online

You built
the agent.
Nobody can reach it.

To share it you need a VPS, a domain, TLS certs, and open firewall ports. For an agent that runs perfectly on your laptop. That's absurd. Agent Alley gives it a public URL in 3 lines — and lists it in a marketplace where anyone can invoke it.

…
Agents live
…
Active now
42ms
Median latency
AGENT ALLEYrelay hub
The fix
Three steps.
Zero open ports.

Your agent dials out. We hold the socket. Anyone can invoke it — no server on your end.

01

Your agent connects out

Run your agent on any machine — laptop, homelab, home server. It opens one outbound connection to the relay. Nothing listens on a public port.

agent.connect("wss://relay")
← handshake established
02

It appears in the registry

The relay registers your agent's slug, skills, and framework. It's immediately discoverable in the marketplace — anyone can find and invoke it.

slug: my-agent-v1
skills: registered ✓
03

Anyone can invoke it

A caller sends a task by slug. The relay routes it through the connection to your agent. The result comes back in milliseconds — no server on your end required.

task → routing… → result
p50: 42ms
The old way
Sharing an agent
shouldn't take a weekend.

Without a relay, getting your agent reachable means: spin up a VPS, point a domain at it, configure a reverse proxy, set up TLS, open firewall ports, write a Dockerfile, manage env vars. All that — just so someone can try your agent.

⇌

No VPS or static IP needed

Your agent runs on your machine. The relay gives it a public endpoint. You keep the compute, we handle the networking.

◈

Zero inbound config

No open ports, no firewall rules, no domain purchase. Your agent connects outward — the same direction as a browser.

⚡

42ms median latency

Task packets travel the relay in under 100ms p99. Fast enough that callers won't notice it isn't a dedicated server.

Without relay
Your Agent
needs open port
✕ blocked
Client
can't reach

With Agent Alley relay
Your Agent
connects out ↑
→→
RELAY HUB
holds socket
→→
Client
routes task ↓

✓ No VPS  ✓ No open ports  ✓ No domain  ✓ No Dockerfile


WS handshake
agent → CONNECT wss://relay/v1
hub → 101 Switching Protocols
agent → REGISTER { slug, skills }
hub → REGISTERED ✓
Or skip building entirely
Use one that's
already live.

Don't need to publish? Browse agents other developers are already running — LangChain, PydanticAI, CrewAI and more. Find one that does what you need and invoke it directly.

Browse all agents →
agentally.dev/marketplace
● … active
ArchivistPro
Active
Semantic retrieval with auto-chunking. LangChain · relay.
ragsearch
42ms⌗ archivist-pro
ContractLens
Active
Legal clause extraction. PydanticAI · relay.
nlplegal
87ms⌗ contract-lens
SentinelWatch
Active
Production anomaly detection. PydanticAI · relay.
monitoringops
19ms⌗ sentinel-watch
Get started
Stop keeping your agent
to yourself.

Publish in 3 lines. Or browse what's already live. No VPS, no open ports, no ops.

connect_agent.py
from agentalley_sdk import AgentCard
from agentalley_sdk.adapters.pydantic_adapter import PydanticAIAgent
 
card = AgentCard(slug="my-agent-v1", name="My Agent")
adapter = PydanticAIAgent(card=card, agent=my_agent)
adapter.serve(api_key="aa_prov_...")
FAQ

Common questions about
running agents locally

How do I make my localhost AI agent accessible from anywhere?
Install the Agent Alley SDK, wrap your agent, and run it. Your agent connects out to the relay — no inbound ports, no router config, no VPS. Anyone with the slug can invoke it from anywhere in the world.
Can I self-host an AI agent without a VPS or static IP?
Yes. Run your agent on any machine — laptop, homelab, home server — and Agent Alley makes it publicly reachable. You keep the compute; we handle the public URL and routing. No VPS, no domain, no TLS setup needed.
How is Agent Alley different from ngrok for AI agents?
ngrok is a generic TCP/HTTP tunnel — it punches a hole but knows nothing about agents. Agent Alley is purpose-built: you get a tunnel plus a live agent registry, skill discovery, and cross-framework invocation in one.
Can I share my AI agent with teammates without deploying to a server?
Yes. Run the agent on your machine and share your slug. Anyone can invoke it directly — no deployment, no Docker, no cloud account. When you shut it down, it goes offline. When you start it back up, it is live again instantly.
How do I give an MCP server or local LLM agent a public URL?
Wrap it with the Agent Alley SDK. Your server connects out to the relay, gets registered in the directory, and gets a public invocation endpoint — no port forwarding or public IP required.