@yawlabs/tailscale-mcp 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +3 -17
  2. package/dist/index.js +22922 -120
  3. package/package.json +10 -11
  4. package/dist/api.d.ts +0 -35
  5. package/dist/api.js +0 -134
  6. package/dist/api.js.map +0 -1
  7. package/dist/cli.d.ts +0 -5
  8. package/dist/cli.js +0 -43
  9. package/dist/cli.js.map +0 -1
  10. package/dist/index.d.ts +0 -2
  11. package/dist/index.js.map +0 -1
  12. package/dist/tools/acl.d.ts +0 -86
  13. package/dist/tools/acl.js +0 -105
  14. package/dist/tools/acl.js.map +0 -1
  15. package/dist/tools/audit.d.ts +0 -50
  16. package/dist/tools/audit.js +0 -60
  17. package/dist/tools/audit.js.map +0 -1
  18. package/dist/tools/devices.d.ts +0 -290
  19. package/dist/tools/devices.js +0 -254
  20. package/dist/tools/devices.js.map +0 -1
  21. package/dist/tools/dns.d.ts +0 -130
  22. package/dist/tools/dns.js +0 -139
  23. package/dist/tools/dns.js.map +0 -1
  24. package/dist/tools/invites.d.ts +0 -158
  25. package/dist/tools/invites.js +0 -160
  26. package/dist/tools/invites.js.map +0 -1
  27. package/dist/tools/keys.d.ts +0 -94
  28. package/dist/tools/keys.js +0 -92
  29. package/dist/tools/keys.js.map +0 -1
  30. package/dist/tools/log-streaming.d.ts +0 -90
  31. package/dist/tools/log-streaming.js +0 -89
  32. package/dist/tools/log-streaming.js.map +0 -1
  33. package/dist/tools/network-lock.d.ts +0 -14
  34. package/dist/tools/network-lock.js +0 -20
  35. package/dist/tools/network-lock.js.map +0 -1
  36. package/dist/tools/oauth-clients.d.ts +0 -118
  37. package/dist/tools/oauth-clients.js +0 -102
  38. package/dist/tools/oauth-clients.js.map +0 -1
  39. package/dist/tools/posture.d.ts +0 -126
  40. package/dist/tools/posture.js +0 -103
  41. package/dist/tools/posture.js.map +0 -1
  42. package/dist/tools/services.d.ts +0 -124
  43. package/dist/tools/services.js +0 -106
  44. package/dist/tools/services.js.map +0 -1
  45. package/dist/tools/status.d.ts +0 -26
  46. package/dist/tools/status.js +0 -38
  47. package/dist/tools/status.js.map +0 -1
  48. package/dist/tools/tailnet.d.ts +0 -142
  49. package/dist/tools/tailnet.js +0 -111
  50. package/dist/tools/tailnet.js.map +0 -1
  51. package/dist/tools/users.d.ts +0 -118
  52. package/dist/tools/users.js +0 -108
  53. package/dist/tools/users.js.map +0 -1
  54. package/dist/tools/webhooks.d.ts +0 -126
  55. package/dist/tools/webhooks.js +0 -121
  56. package/dist/tools/webhooks.js.map +0 -1
  57. package/dist/tools/workload-identity.d.ts +0 -118
  58. package/dist/tools/workload-identity.js +0 -105
  59. package/dist/tools/workload-identity.js.map +0 -1
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@yawlabs/tailscale-mcp)](https://www.npmjs.com/package/@yawlabs/tailscale-mcp)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
5
5
  [![GitHub stars](https://img.shields.io/github/stars/YawLabs/tailscale-mcp)](https://github.com/YawLabs/tailscale-mcp/stargazers)
6
- [![CI](https://github.com/YawLabs/tailscale-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/YawLabs/tailscale-mcp/actions/workflows/ci.yml)
6
+ [![CI](https://github.com/YawLabs/tailscale-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/YawLabs/tailscale-mcp/actions/workflows/ci.yml) [![Release](https://github.com/YawLabs/tailscale-mcp/actions/workflows/release.yml/badge.svg)](https://github.com/YawLabs/tailscale-mcp/actions/workflows/release.yml)
7
7
 
8
8
  **Manage your Tailscale tailnet from Claude Code, Cursor, and any MCP client.** 81 tools + 4 resources. One env var. Works on first try.
9
9
 
@@ -17,6 +17,7 @@ Other Tailscale MCP servers were vibe-coded in a weekend and abandoned. This one
17
17
  - **Safe ACL updates** — uses ETags to prevent overwriting concurrent changes. No silent data loss.
18
18
  - **Tool annotations** — every tool declares `readOnlyHint`, `destructiveHint`, and `idempotentHint`, so MCP clients skip confirmation dialogs for safe operations.
19
19
  - **MCP Resources** — exposes tailnet status, device list, ACL policy, and DNS config as browsable resources.
20
+ - **Instant startup** — ships as a single self-contained bundle with zero runtime dependencies. `npx` downloads ~150 KB and starts immediately — no 5-minute `node_modules` installs.
20
21
  - **Zero restarts** — the server always starts, even with missing credentials. Auth errors surface as clear tool-call errors, not silent crashes that force you to restart your AI assistant.
21
22
  - **One env var setup** — no config files, no setup wizards, no multi-step flows.
22
23
  - **Every tool verified** — no placeholder endpoints that 404. If it's in the tool list, it works.
@@ -33,8 +34,6 @@ export TAILSCALE_API_KEY="tskey-api-..."
33
34
 
34
35
  **2. Create `.mcp.json` in your project root**
35
36
 
36
- macOS / Linux / WSL:
37
-
38
37
  ```json
39
38
  {
40
39
  "mcpServers": {
@@ -46,20 +45,7 @@ macOS / Linux / WSL:
46
45
  }
47
46
  ```
48
47
 
49
- Windows:
50
-
51
- ```json
52
- {
53
- "mcpServers": {
54
- "tailscale": {
55
- "command": "cmd",
56
- "args": ["/c", "npx", "-y", "@yawlabs/tailscale-mcp"]
57
- }
58
- }
59
- }
60
- ```
61
-
62
- > **Tip:** This file is safe to commit — it contains no secrets. Teammates who set their own `TAILSCALE_API_KEY` will get the MCP server automatically.
48
+ > **Tip:** This file is safe to commit — it contains no secrets. Teammates who set their own `TAILSCALE_API_KEY` will get the MCP server automatically. Works on macOS, Linux, and Windows — no platform-specific config needed.
63
49
 
64
50
  **3. Restart and approve**
65
51