hit counter
USE CASE · AI AGENTS + API

Operate your networks
conversationally.

Public OpenAPI spec. Model Context Protocol server. Long-lived access tokens with proper auth boundaries. Point your coding agent at wg0 and let it work.

AGENT CLIENT claude · cursor · continue MCP · 42 tools stdio Claude Desktop / Claude Code / Cursor any MCP stdio client PERSONAL ACCESS TOKEN wg0_pat_7k3q… ACTIVE wg0-agent ~ zsh $ claude --mcp wg0 > List my networks, flag anything offline. • calling list_networks ✓ • calling list_nodes ✓ • calling list_nodes ✓ AGENT RESPONSE Found 4 networks · 23 nodes total. ● home-native 8/8 online ● office-hq 9/9 online ● branch-2 4/5 online ⚠ 1 idle ● lab-dev 0/1 online ⚠ silent 2d > wg0 · REST API connect.wg0.io/api/v1 GET list_networks /networks GET list_nodes /networks/{id}/nodes POST provision_device /networks/{id}/devices + 13 more operations /openapi.yaml /llms.txt MCP stdio Natural language in Agent composes tool calls Typed API operations out Bearer wg0_pat_* scoped
Who this is for

Developers, ops teams, and anyone building AI into their infra workflow

wg0 exposes a real API, a real spec, and a real MCP surface — so your coding agent can actually do the work instead of explaining it.

</>

Developers with coding agents

Claude Code, Cursor, Continue — whatever's in your editor. Your agent can inspect and manage your wg0 networks in-session, right alongside your code, without you tabbing into a dashboard.

#

Ops teams automating at scale

Onboarding, audits, and health checks across many networks. Wrap the OpenAPI client in whatever runbook tooling you already use, or let an agent drive it conversationally.

~

MSPs building provisioning pipelines

Customer onboarding that includes a private network as a first-class step. Scripted per-tenant network creation, device enrollment, and health reporting — no clickops required.

*

Teams building internal AI assistants

You're building a Slack bot or an internal copilot that can answer "is production reachable from the bastion?" wg0 drops in as a tool surface with the same token model as the rest of your stack.

What ships today

The primitives an agent needs to actually operate your networks

Production-ready, documented, and stable. The MCP server, REST API, and all 42 tools ship today.

{ }

Public OpenAPI 3.1 spec

Served at /openapi.yaml. Feed it to openapi-generator-cli, any agent tool loader, Postman, or whatever codegen pipeline you already run. Every endpoint, every schema, every error shape.

txt

llms.txt agent index

Served at /llms.txt. A curated entry point for any LLM discovering wg0 — human-readable prose that routes the model to the OpenAPI spec, the use-case pages, and the auth model without it having to crawl the site.

MCP

Model Context Protocol server

A stdio MCP server that wraps wg0 as 42 tools, 3 resources, and 4 pre-baked task prompts — audit_networks, provision_mobile_device, activate_byo_exit, roaming_investigation. Works with Claude Desktop, Claude Code, Cursor, and any MCP stdio client.

PAT

Personal Access Tokens

Long-lived automation credentials with optional expiry and instant revocation. Self-identifying wg0_pat_ prefix so secret scanners can detect leaks in the wild. Mint them in the dashboard; treat them like any other production secret.

!

Strict PAT management boundary

PATs cannot mint or revoke other PATs. That's enforced at the type level, not just documented in prose. A leaked token cannot create successor credentials to outlive its own revocation — the compromise stays bounded.

4xx

Machine-friendly errors

Every 4xx / 5xx response returns structured JSON with a detail field explaining exactly what went wrong. Your agent can read it, act on it, and surface a useful explanation to the user instead of a raw status code.

Things your agent can do

Real prompts, real tool calls

These are the pre-baked task prompts shipped with the MCP server — but any of them work as free-form natural language too.

Audit across networks

List all my wg0 networks, count nodes per network, flag any network with no online nodes or any host offline more than a day.

Agent calls list_networks + list_nodes across each network, cross-references presence and last_activity, and returns a structured health report.

Onboard a new site

Create a new native-LAN network called 'branch-3' with subnet 192.168.3.0/24, generate an enrollment token, and give me the exact command to run on the host.

Agent calls create_network + generate_enrollment_token and composes the one-line install for the host machine.

Provision a mobile device

Provision a new device named 'scott-pixel' in the home-native network. It's an Android phone. Render the wg_config as a QR code I can scan.

Agent calls provision_device with device_kind=android, receives the wg_config, and renders a QR code inline in the chat.

Investigate roaming

The device 'scott-macbook-pro' has been showing weird presence. Tell me what's going on.

Agent reads presence, observed_endpoint, last_endpoint, last_activity, device_kind, and route_all_active, then explains the roaming pattern in plain English.

How to get started

From zero to agent-operated in six steps

If you've used any modern API product, this is going to feel familiar.

  1. Mint a Personal Access Token

    Sign in at login.wg0.io. Click API keys → + New token. Name it something like claude-desktop, set an expiry, click Mint token. Copy the value — it's shown exactly once.

  2. Store it like any production secret

    The token format is wg0_pat_... — self-identifying so GitGuardian, Trufflehog, and other secret scanners can detect it if it leaks. Put it in your secrets manager, your keychain, or your editor's credential store. Never checked into source control.

  3. Verify the token works

    Hit /api/v1/networks with Authorization: Bearer wg0_pat_... on connect.wg0.io. You should get your network list back as JSON. If you don't, the error body will tell you why.

  4. Generate a typed client (optional)

    The OpenAPI spec at /openapi.yaml documents every endpoint. Feed it to openapi-generator-cli, orval, or your preferred codegen and you'll have a typed client in any language in under a minute.

  5. Wire up the MCP server

    For MCP integration, add the remote connector at https://mcp.wg0.io/mcp, or run the bundled stdio server from the public repo. Once connected, 42 tools show up immediately — no per-tool glue code required.

  6. Run your first task prompt

    Start with one of the examples above — "List my networks, flag anything offline" is a good first probe. Watch the tool trace, confirm the auth path is working, then iterate. From there, the constraint on what your agent can do is your imagination, not the API.

What agents cannot do (by design)

wg0's auth boundaries are deliberate. We want agents to be capable operators inside their scope — not able to escalate out of it.

Roadmap

What's coming next

We'd rather tell you what's missing than surprise you when you hit it. This is the short list.

Built for the AI-era operator

We ship the spec, the tokens, and the MCP server with the same care as the dashboard. Bring your agent.

© 2026 wg0 · WireGuard is a registered trademark of Jason A. Donenfeld Built on WireGuard Web Application Services Provided by ABSG.tech