@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 +10 -2
- package/dist/index.js +7 -3
- package/package.json +2 -1
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.
|
|
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
|
|
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
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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>",
|