Tailscale — MCP-сервер для Claude Code: что делает и как установить
Управляет локальным узлом Tailscale через CLI и всей сетью tailnet через REST API. Позволяет ИИ-агенту читать топологию и менять сетевые настройки.
claude mcp add --env TAILSCALE_API_KEY=<TAILSCALE_API_KEY> --env TAILSCALE_OAUTH_CLIENT_ID=<TAILSCALE_OAUTH_CLIENT_ID> --env TAILSCALE_OAUTH_CLIENT_SECRET=<TAILSCALE_OAUTH_CLIENT_SECRET> --env TAILSCALE_TAILNET=<TAILSCALE_TAILNET> --env TAILSCALE_MCP_PRESET=<TAILSCALE_MCP_PRESET> --transport stdio tailscale -- npx -y @tailscale-mcp/tailscale-mcpЧто делает Tailscale
Сервер связывает ИИ-ассистента с сетевыми ресурсами Tailscale. Локальные операции выполняются вызовом бинарника tailscale, а общесетевые задачи идут через REST API контроллера. Если передать только утилиту без API-ключа или параметров OAuth, сервер отключит инструменты уровня сети и оставит лишь локальные команды.
Набор функций делится на пресеты: minimal, core и full. Дополнительно уровень безопасности регулируется флагами разрешений: режим чтения активен всегда, а запись и деструктивные действия требуют явного включения через переменные окружения. Для опасных операций сервер запрашивает подтверждение параметром confirm: true.
На macOS сервер требует именно шим в /usr/local/bin. Попытка указать исполняемый файл напрямую из бандла приложения запустит графический интерфейс и сломает работу всех локальных вызовов.
Какие задачи решает
- проверить статус и топологию локального узла Tailscale
- настроить маршрутизацию и параметры устройств через API контроллера
- ограничить доступ агента безопасными операциями без права изменения конфигурации
- диагностировать доступность локального бинарника и сетевых ключей командой
tailscale-mcp diagnose
Примеры запросов агенту
- Покажи список всех активных устройств в моем tailnet
- Проверь статус подключения локального узла Tailscale
- Выполни диагностику доступных инструментов через
tailscale-mcp diagnose
Как установить Tailscale
Командой платформы
claude mcp add --env TAILSCALE_API_KEY=<TAILSCALE_API_KEY> --env TAILSCALE_OAUTH_CLIENT_ID=<TAILSCALE_OAUTH_CLIENT_ID> --env TAILSCALE_OAUTH_CLIENT_SECRET=<TAILSCALE_OAUTH_CLIENT_SECRET> --env TAILSCALE_TAILNET=<TAILSCALE_TAILNET> --env TAILSCALE_MCP_PRESET=<TAILSCALE_MCP_PRESET> --transport stdio tailscale -- npx -y @tailscale-mcp/tailscale-mcpВместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера
Командой платформы
codex mcp add tailscale --env TAILSCALE_API_KEY=<TAILSCALE_API_KEY> --env TAILSCALE_OAUTH_CLIENT_ID=<TAILSCALE_OAUTH_CLIENT_ID> --env TAILSCALE_OAUTH_CLIENT_SECRET=<TAILSCALE_OAUTH_CLIENT_SECRET> --env TAILSCALE_TAILNET=<TAILSCALE_TAILNET> --env TAILSCALE_MCP_PRESET=<TAILSCALE_MCP_PRESET> -- npx -y @tailscale-mcp/tailscale-mcpВместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера
Файл настроек
{
"mcpServers": {
"tailscale": {
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<TAILSCALE_MCP_PRESET>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера
Файл настроек
{
"servers": {
"tailscale": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tailscale-mcp/tailscale-mcp"
],
"env": {
"TAILSCALE_API_KEY": "<TAILSCALE_API_KEY>",
"TAILSCALE_OAUTH_CLIENT_ID": "<TAILSCALE_OAUTH_CLIENT_ID>",
"TAILSCALE_OAUTH_CLIENT_SECRET": "<TAILSCALE_OAUTH_CLIENT_SECRET>",
"TAILSCALE_TAILNET": "<TAILSCALE_TAILNET>",
"TAILSCALE_MCP_PRESET": "<TAILSCALE_MCP_PRESET>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера
Командой платформы
gemini mcp add -e TAILSCALE_API_KEY=<TAILSCALE_API_KEY> -e TAILSCALE_OAUTH_CLIENT_ID=<TAILSCALE_OAUTH_CLIENT_ID> -e TAILSCALE_OAUTH_CLIENT_SECRET=<TAILSCALE_OAUTH_CLIENT_SECRET> -e TAILSCALE_TAILNET=<TAILSCALE_TAILNET> -e TAILSCALE_MCP_PRESET=<TAILSCALE_MCP_PRESET> tailscale npx -y @tailscale-mcp/tailscale-mcpВместо <…> подставьте свои значения. Ещё 2 переменные окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Tailscale
Как установить Tailscale в Claude Code?
Выполните команду `claude mcp add --env TAILSCALE_API_KEY=<TAILSCALE_API_KEY> --env TAILSCALE_OAUTH_CLIENT_ID=<TAILSCALE_OAUTH_CLIENT_ID> --env TAILSCALE_OAUTH_CLIENT_SECRET=<TAILSCALE_OAUTH_CLIENT_SECRET> --env TAILSCALE_TAILNET=<TAILSCALE_TAILNET> --env TAILSCALE_MCP_PRESET=<TAILSCALE_MCP_PRESET> --transport stdio tailscale -- npx -y @tailscale-mcp/tailscale-mcp`.
Что делает MCP-сервер Tailscale?
Он предоставляет модели до 186 инструментов для чтения конфигурации и управления узлами или сетью Tailscale через CLI и REST API.
Почему для постоянной работы рекомендуется OAuth, а не API-ключ?
Токен OAuth привязан к сети, выдаёт короткоживущие ключи на один час и позволяет точно ограничить права сервера без риска скомпрометировать весь персональный аккаунт.