{"id":53027,"recorded_at":"2026-10-26T14:37:02.036401Z","observed_at":"2026-10-26T14:37:02.036355Z","subject_kind":"source_record","subject":"mcp_registry:io.github.tailscale-mcp/tailscale-mcp","kind":"listing","method":"baseline/1","body":{"endpoints":[["web","https://github.com/tailscale-mcp/tailscale-mcp"]],"name":"Tailscale","owner_address":null,"raw":{"_meta":{"io.modelcontextprotocol.registry/official":{"isLatest":true,"publishedAt":"2026-10-26T09:15:56.405652Z","status":"active","statusChangedAt":"2026-10-26T09:15:56.405652Z","updatedAt":"2026-10-26T09:15:56.405652Z"}},"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","description":"Drive a Tailscale node and its tailnet through the CLI and the control-plane API","name":"io.github.tailscale-mcp/tailscale-mcp","packages":[{"environmentVariables":[{"description":"A control-plane API access token. One of this, the OAuth client pair, or the OAuth JWT file is needed for the tailnet tools; without any of them only the local tools are offered.","isSecret":true,"name":"TAILSCALE_API_KEY"},{"description":"An OAuth client id, used with TAILSCALE_OAUTH_CLIENT_SECRET when there is no API access token.","name":"TAILSCALE_OAUTH_CLIENT_ID"},{"description":"The OAuth client secret that goes with TAILSCALE_OAUTH_CLIENT_ID.","isSecret":true,"name":"TAILSCALE_OAUTH_CLIENT_SECRET"},{"description":"The tailnet the control-plane tools act on. Without it they act on the one the credential belongs to.","name":"TAILSCALE_TAILNET"},{"choices":["minimal","core","full"],"default":"core","description":"Which tools are offered: minimal, core or full.","name":"TAILSCALE_MCP_PRESET"},{"choices":["true","false"],"default":"false","description":"Offer the tools that change something. Read-only without it.","name":"TAILSCALE_MCP_ALLOW_WRITE"},{"choices":["true","false"],"default":"false","description":"Offer the tools that remove or sever something. Implies the write tier.","name":"TAILSCALE_MCP_ALLOW_DESTRUCTIVE"}],"identifier":"@tailscale-mcp/tailscale-mcp","registryType":"npm","transport":{"type":"stdio"},"version":"2.0.5"},{"environmentVariables":[{"description":"A control-plane API access token. One of this, the OAuth client pair, or the OAuth JWT file is needed for the tailnet tools; without any of them only the local tools are offered.","isSecret":true,"name":"TAILSCALE_API_KEY"},{"description":"An OAuth client id, used with TAILSCALE_OAUTH_CLIENT_SECRET when there is no API access token.","name":"TAILSCALE_OAUTH_CLIENT_ID"},{"description":"The OAuth client secret that goes with TAILSCALE_OAUTH_CLIENT_ID.","isSecret":true,"name":"TAILSCALE_OAUTH_CLIENT_SECRET"},{"description":"The tailnet the control-plane tools act on. Without it they act on the one the credential belongs to.","name":"TAILSCALE_TAILNET"},{"choices":["minimal","core","full"],"default":"core","description":"Which tools are offered: minimal, core or full.","name":"TAILSCALE_MCP_PRESET"},{"choices":["true","false"],"default":"false","description":"Offer the tools that change something. Read-only without it.","name":"TAILSCALE_MCP_ALLOW_WRITE"},{"choices":["true","false"],"default":"false","description":"Offer the tools that remove or sever something. Implies the write tier.","name":"TAILSCALE_MCP_ALLOW_DESTRUCTIVE"}],"identifier":"ghcr.io/tailscale-mcp/tailscale-mcp:2.0.5","registryType":"oci","transport":{"type":"stdio"}}],"repository":{"source":"github","url":"https://github.com/tailscale-mcp/tailscale-mcp"},"title":"Tailscale","version":"2.0.5","websiteUrl":"https://github.com/tailscale-mcp/tailscale-mcp"}},"source":"mcp_registry","summary":"Drive a Tailscale node and its tailnet through the CLI and the control-plane API"},"body_sha256":"c62929db70f1739522f6d2232f302a249df541e0e9122713126b108551f00f93","prev_id":null,"leaf":"0x32a8cdd9dc06d8bf91a97cbd6409d9b925123efce5753918119b26c90e3b5816","leaf_text":"{\"body\":\"c62929db70f1739522f6d2232f302a249df541e0e9122713126b108551f00f93\",\"id\":53027,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025422036355,\"prev\":null,\"subject\":\"mcp_registry:io.github.tailscale-mcp/tailscale-mcp\",\"subject_kind\":\"source_record\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x32a93aeadd6b07433ffff379c9b3db08d17c22a249f4444c76327b300eb1f0d3","0x167cdf8c30a533ddacd596737e416788bd81845d32fffa53a5c6721e752aaeee","0x723ae1da8ef983ce5626fa5e827c2a3e235f81c0b52aa7d93d72a24ed757d67b","0xe88516526066aacf2d5692653c09e4cfd8c1a3b8e6ca22451b09eda45ef00cb6","0x65fd58b132ce6db88f1d9c0bcf6e543e47b17ccd38012d9c5f6a84a8a56378de","0x1661004fae6df761458cc037cdbebeff1c50ccc144eae2a20e3d2c17a718661c","0xc433e82379d339ad4172ca1fcb66d1479d2239785e80c55e7fa6d80992746131","0x705a0353aa1c202ca092d0c69a1b98aac1e72ed092c7163fcdce9560cd8af9a9","0x0fb78d244a20004e04fbe01ec70f9831d44d86237b0382453ead0323c4df9ae8","0xa0ebaa287767d7a753bad9278ae53729c65e45e91f8c870e598e2a5eef743e57","0xc99ea26556ddad6b2fde7887de8c0190d3a7c645402227c5a281ba47e02a67e5","0x2f4617d7a962f32849050ad5649d9dc4f962fd8618073cfa8519e6f862dfcef8","0x08de74b7fb265ddb83e4c673da8a94e5f71829b2e6e7464c71c5138e450f2217","0x4338355a835617a26aa0bfcc971e84eb030d84e2aa840e3c8af958921dd080c7","0x610738e0c43687aded83c613c73de8b5226c73c375858a167436461c522ea213","0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca","0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13","0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}