You connect your tailnet from the Tailscale plugin in the Grok Bot desktop app.
All Grok Bot questions: https://www.soundminds.ai/faq.
Last updated Nov 10, 2026
Part of our Grok Bot Hot Topics series
You can let Grok Bot reach a private MCP server on your Tailscale network, called a tailnet, without putting that server on the public internet, and you can use your tailnet policy to keep it away from everything else. I checked Tailscale's Nov 9, 2026 blog post, "Grok Bot has a Tailscale integration—and now you can, too," and it says, "You might want Grok Bot to access an internal MCP server, but not everything else your laptop can reach. With Tailscale’s device posture checks, you can do exactly that."
You connect your tailnet from the Tailscale plugin in the Grok Bot desktop app. Grok Bot then joins your tailnet as a device associated with your user identity, and like any other device on your tailnet, it follows your tailnet policy controls. On Tailscale's Premium and Enterprise plans, Grok Bot's device gets a custom posture attribute that you can use in your policy to control which resources it can access, separately from your other devices. On other Tailscale plans, you can get similar control by assigning a tag to Grok Bot's device after authentication and using tag-based access rules.
I haven't tried this myself yet. Everything on this page comes from Tailscale's post and SpaceXSI's Grok Bot changelog and docs, linked under Sources.
Custom posture attributes are available on Tailscale Premium and Enterprise plans. When you add Grok Bot to a tailnet on one of those plans, its device has a custom posture attribute that your policy can check. In Tailscale's example below, the policy checks it as custom:grokbot.
Here is Tailscale's own example, copied exactly from its post. It lets members of an engineering team reach production databases from their regular devices, while the Grok Bots associated with those engineers' identities can reach only designated MCP servers:
{
"postures": {
"posture:grokbot": ["custom:grokbot == true"],
"posture:human": ["custom:grokbot NOT SET"]
},
// All access rules require posture:human unless otherwise specified
"defaultSrcPosture": ["posture:human"],
"grants": [
{
// Engineers can access production databases. The defaultSrcPosture applies here.
"src": ["group:engineering"],
"dst": ["tag:production-db"],
"ip": ["tcp:5432"]
},
{
// Grok Bots owned by engineers can access MCP servers.
"src": ["group:engineering"],
"srcPosture": ["posture:grokbot"],
"dst": ["tag:mcp-servers"],
"ip": ["tcp:443"]
}
]
}The "defaultSrcPosture" line keeps your existing access rules from applying to Grok Bot devices. The "srcPosture" line on the second grant makes the exception, so Grok Bot can reach your MCP servers without inheriting your broader network access. The group and tag names, such as "group:engineering" and "tag:mcp-servers", are Tailscale's example names, so use the names from your own tailnet.
On other Tailscale plans, you can get similar control by assigning a tag to Grok Bot's device after authentication and using tag-based access rules, instead of combining user identity with device posture. Tailscale's post doesn't include a policy example for the tag approach, so I'm not going to make one up here.
The Tailscale plugin may not be available on your account. SpaceXSI's Oct 27, 2026 release notes have this line: "The Tailscale plugin shows Not available yet on accounts that can't use it, instead of installing a plugin that can't connect." I didn't find a list of which accounts can use it. If you see "Not available yet," your account can't use the plugin right now.
I haven't tested any of these steps, so I can't tell you yet how the screens look or how long it takes for a policy change to apply to Grok Bot's device.
You can point your Bot at this page to adopt this practice.
Connecting your tailnet and changing your Tailscale policy are your steps, not your Bot's. What a Bot can do is check before it uses a server on your tailnet, ask before it adds one, and draft a policy change for you to review. Paste the block below into a chat with your Grok Bot.
When I ask you to use an MCP server on my Tailscale tailnet, do this:
1. Before you add or call the server, confirm that my tailnet is connected from the Tailscale plugin. If the plugin shows Not available yet, tell me my account can't use it right now and stop.
2. Tell me the server's name and address before you add it, and wait for my approval. Adding a server on a private network asks for my approval anyway, so explain what the server is for when you ask.
3. If adding the server says to connect my tailnet from the Tailscale plugin, tell me that and wait. Do not suggest putting the server on the public internet instead.
4. Never ask me to paste a Tailscale key or secret into this chat.
5. If I ask you to limit what you can reach on my tailnet, draft the policy change for me to review, using the grokbot posture example from Tailscale's Nov 9, 2026 post if my plan has custom posture attributes, or a tag-based rule if it doesn't. Do not change my tailnet policy yourself. I will review the draft and apply it in Tailscale.
6. If you can't reach a server on my tailnet, tell me the server name and address you tried, so I can check my tailnet policy.Grok Bot has a Tailscale integration—and now you can, too: https://tailscale.com/blog/oauth-apps-ga, Tailscale blog, by Sam Linville, Nov 9, 2026. Retrieved Nov 10, 2026.
Grok Bot changelog: https://x.ai/changelog/bot, SpaceXSI. The Nov 3, 2026 entry (v0.78.4) and the Oct 27, 2026 entry (v0.78.1). Retrieved Nov 10, 2026.
Use the computer and apps: https://docs.x.ai/grok-bot/computer-and-apps, SpaceXSI's Grok Bot docs. Last updated Nov 9, 2026. Retrieved Nov 10, 2026.
See how I set up Grok Bot: https://www.soundminds.ai/setup.