Zero-config VPN built on WireGuard.
## Tailscale MCP Server: Zero-Config Secure Networking The **Tailscale MCP Server** integrates WireGuard-based mesh networking into Google Antigravity, enabling secure device connectivity, access control, and network management across distributed infrastructure. ### Why Tailscale MCP? - **Mesh networking** - Connect devices securely without port forwarding - **Zero-config VPN** - Simple setup with WireGuard encryption - **Access control** - Define who can access what with ACLs - **Exit nodes** - Route traffic through specific machines - **SSH integration** - Manage SSH access through Tailscale ### Key Features #### 1. Device Management ```python # List connected devices devices = await mcp.call("tailscale", "list_devices", { "include_offline": False }) for device in devices: print(f"{device[\"name\"]}: {device[\"addresses\"][0]}") print(f" OS: {device[\"os\"]}") print(f" Last Seen: {device[\"lastSeen\"]}") print(f" Tags: {device[\"tags\"]}") ``` #### 2. Access Control Lists ```python # Update ACL policy await mcp.call("tailscale", "update_acl", { "acl": { "groups": { "group:engineering": ["user1@example.com", "user2@example.com"] }, "acls": [ {"action": "accept", "src": ["group:engineering"], "dst": ["tag:servers:*"]}, {"action": "accept", "src": ["autogroup:admin"], "dst": ["*:*"]} ], "tagOwners": { "tag:servers": ["group:engineering"] } } }) ``` #### 3. SSH Access Management ```python # Configure SSH access await mcp.call("tailscale", "configure_ssh", { "rules": [ { "action": "check", "src": ["autogroup:members"], "dst": ["tag:production"], "users": ["autogroup:nonroot"] }, { "action": "accept", "src": ["group:admins"], "dst": ["tag:production"], "users": ["root", "autogroup:nonroot"] } ] }) # Get SSH sessions sessions = await mcp.call("tailscale", "list_ssh_sessions", { "active_only": True }) ``` #### 4. Exit Node Configuration ```python # Configure exit node await mcp.call("tailscale", "set_exit_node", { "device_id": "device_xxx", "advertise_exit_node": True }) # Route traffic through exit node await mcp.call("tailscale", "use_exit_node", { "exit_node": "exit-server.tail123.ts.net", "allow_lan_access": True }) ``` ### Configuration ```json { "mcpServers": { "tailscale": { "command": "npx", "args": ["-y", "@anthropic/mcp-tailscale"], "env": { "TAILSCALE_API_KEY": "tskey-api-xxx", "TAILSCALE_TAILNET": "your-tailnet.ts.net" } } } } ``` ### Use Cases **Remote Access**: Securely access servers without exposing ports publicly. **Team Networking**: Connect distributed teams to shared resources. **Development Environments**: Access development databases and services securely. **Site-to-Site**: Connect office networks and cloud VPCs seamlessly. The Tailscale MCP Server enables secure networking without complexity.
{
"mcpServers": {
"tailscale": {}
}
}