Skip to content

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 14 May 00:34

What's new

Opt-in local tailscale CLI integration. Four new read-only diagnostic tools that shell out to the local tailscale binary, gated behind TAILSCALE_LOCAL_CLI=1:

  • tailscale_local_status -- this machine's view of the tailnet (own connection state, peers, DERP region). Distinct from tailscale_status, which is tailnet-wide via the admin API.
  • tailscale_ping -- latency probe to another tailnet node, with target validation that rejects shell metacharacters.
  • tailscale_netcheck -- NAT type, DERP latency map, IPv4/IPv6 support.
  • tailscale_local_version -- which tailscale binary version is actually running.

Default surface is unchanged at 89 tools (pure REST, no CLI binary required). Containers and CI runners that don't have tailscale installed keep working as before. With the opt-in set, the group composes normally with TAILSCALE_PROFILE / TAILSCALE_TOOLS / TAILSCALE_READONLY filters, and the startup banner reports local-cli=on.

Scope is deliberately narrow: only read-only diagnostics. tailscale up/down/set/lock are not exposed -- they require elevation the MCP process won't have and add prompt-injection surface on argument construction.

See Local CLI integration (opt-in) in the README for details.

Reliability

  • release.yml smoke test retries the actual npx -y install up to 30 * 10s. The previous 10 * 5s budget false-failed on v0.10.8 and v0.10.9 because CDN propagation routinely takes >1 min on a fresh publish.
  • api.test.ts OAuth-under-cap test synchronizes on a mock-fetch signal instead of a fixed 25ms gap, so it can't false-pass on a slow CI scheduler.

Install

npx -y @yawlabs/tailscale-mcp@0.11.0

Enable the local CLI tools (requires tailscale in PATH or TAILSCALE_BINARY set):

{
  "mcpServers": {
    "tailscale": {
      "command": "npx",
      "args": ["-y", "@yawlabs/tailscale-mcp"],
      "env": {
        "TAILSCALE_API_KEY": "tskey-api-...",
        "TAILSCALE_LOCAL_CLI": "1"
      }
    }
  }
}

917 unit tests pass; lint clean.