Generate SSH config
generate_ssh_configGenerate SSH config Host blocks for tailnet nodes, preferring MagicDNS names with IP fallback. Preview output by default, then optionally write to a dedicated file or managed config section.
Instructions
Generate ssh-config Host blocks for tailnet nodes (MagicDNS name preferred, Tailscale IP fallback). Dry-run by default: returns the generated config text only and writes nothing. With write=true it writes a dedicated file (~/.ssh/tailscale_dev_config) and returns instructions for adding an Include line to ~/.ssh/config (never applied automatically). Direct editing of ~/.ssh/config itself additionally requires target="user_ssh_config" and is idempotent between managed markers, never touching content outside them.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "generate_ssh_config"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | Remote user to set on every Host block | |
| write | No | Actually write the config (default: false = dry-run, text only) | |
| target | No | Write target: "dedicated_file" (default, ~/.ssh/tailscale_dev_config) or "user_ssh_config" (edit ~/.ssh/config between managed markers) | |
| onlineOnly | No | Only include peers that are currently online (default: false) | |
| includeShared | No | Include nodes of users this node is shared with (default: false). Mullvad exit nodes are always skipped. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| wrote | No | File written; null when nothing changed | |
| backup | No | ||
| dryRun | Yes | ||
| renamed | No | ||
| skipped | No | ||
| hostCount | Yes | ||
| configText | No | Generated config (dry run) | |
| instructions | No |