@yawlabs/tailscale-mcp 0.12.0 → 0.12.2

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.
package/README.md CHANGED
@@ -158,9 +158,17 @@ Set to `1` or `true` to drop every tool without `readOnlyHint: true`. Stacks wit
158
158
  The server logs the active filter to stderr on startup:
159
159
 
160
160
  ```
161
- @yawlabs/tailscale-mcp v0.9.1 ready (20 tools, profile=minimal, readonly)
161
+ @yawlabs/tailscale-mcp v0.12.0 ready (20 tools, profile=minimal, readonly)
162
162
  ```
163
163
 
164
+ When both `TAILSCALE_PROFILE` and `TAILSCALE_TOOLS` are set, `TAILSCALE_TOOLS` wins. The banner marks the profile as overridden so the precedence is obvious at a glance — no need to guess which filter actually applied:
165
+
166
+ ```
167
+ @yawlabs/tailscale-mcp v0.12.0 ready (21 tools, profile=core (overridden by TAILSCALE_TOOLS), groups=devices,acl)
168
+ ```
169
+
170
+ The "(overridden)" marker only fires for substantive profiles (`minimal` / `core`); `profile=full` is a no-op preset, so it's shown without the marker when `TAILSCALE_TOOLS` is also set.
171
+
164
172
  If you don't set any filter, startup prints a tip pointing you at the profiles.
165
173
 
166
174
  ## Using with mcp.hosting / mcph
@@ -462,7 +470,7 @@ This shows a read-only banner in the Tailscale Admin Console pointing to your re
462
470
 
463
471
  ## Requirements
464
472
 
465
- - Node.js 18+
473
+ - Node.js 20+
466
474
  - A Tailscale API key or OAuth client credentials
467
475
 
468
476
  ## Contributing
package/dist/index.js CHANGED
@@ -31165,7 +31165,8 @@ async function apiRequest(method, path, body, options) {
31165
31165
  headers["Content-Type"] = "application/json";
31166
31166
  fetchBody = JSON.stringify(body);
31167
31167
  }
31168
- const url2 = path.startsWith("http") ? path : `${BASE_URL}${path}`;
31168
+ const isAbsolute = path.startsWith("http://") || path.startsWith("https://");
31169
+ const url2 = isAbsolute ? path : `${BASE_URL}${path}`;
31169
31170
  const startedAt = Date.now();
31170
31171
  debugLog(`${method} ${url2}`);
31171
31172
  const isRetryable = RETRYABLE_METHODS.has(method.toUpperCase());
@@ -33679,7 +33680,7 @@ var webhookTools = [
33679
33680
  ];
33680
33681
 
33681
33682
  // src/index.ts
33682
- var version2 = true ? "0.12.0" : (await null).createRequire(import.meta.url)("../package.json").version;
33683
+ var version2 = true ? "0.12.2" : (await null).createRequire(import.meta.url)("../package.json").version;
33683
33684
  var subcommand = process.argv[2];
33684
33685
  if (subcommand === "deploy-acl") {
33685
33686
  const filePath = process.argv[3];
@@ -33787,8 +33788,11 @@ console.error(
33787
33788
  );
33788
33789
  var hasCreds = !!process.env.TAILSCALE_API_KEY || !!process.env.TAILSCALE_OAUTH_CLIENT_ID && !!process.env.TAILSCALE_OAUTH_CLIENT_SECRET;
33789
33790
  if (!filterSuffix && hasCreds) {
33791
+ const profileCount = (groups) => groups.reduce((n, g) => n + (toolGroups[g]?.length ?? 0), 0);
33792
+ const coreCount = profileCount(PROFILES.core);
33793
+ const minimalCount = profileCount(PROFILES.minimal);
33790
33794
  console.error(
33791
- "@yawlabs/tailscale-mcp: tip \u2014 set TAILSCALE_PROFILE=core (47 tools) or =minimal (20) to load a smaller tool surface. See README."
33795
+ `@yawlabs/tailscale-mcp: tip \u2014 set TAILSCALE_PROFILE=core (${coreCount} tools) or =minimal (${minimalCount}) to load a smaller tool surface. See README.`
33792
33796
  );
33793
33797
  }
33794
33798
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@yawlabs/tailscale-mcp",
3
- "version": "0.12.0",
3
+ "version": "0.12.2",
4
+ "mcpName": "io.github.YawLabs/tailscale-mcp",
4
5
  "description": "Tailscale MCP server for managing your tailnet from AI assistants",
5
6
  "license": "MIT",
6
7
  "author": "YawLabs <contact@yaw.sh>",