Skip to main content
Glama

Tailscale MCP Server

Tailscale MCP Server

A modern Model Context Protocol (MCP) server that provides seamless integration with Tailscale's CLI commands and REST API, enabling automated network management and monitoring through a standardized interface.

📦 Available Packages

This project is optimized for Bun for faster installation and execution. NPM is supported as a fallback option.

Quick Setup with Bun

# Install Bun (if not already installed) curl -fsSL https://bun.sh/install | bash # Install dependencies bun install # Build and run bun run build bun start

Fallback with NPM

npm ci npm run build npm start

Features

  • Device Management: List, authorize, deauthorize, and manage Tailscale devices
  • Network Operations: Connect/disconnect, manage routes, and monitor network status
  • Security Controls: Manage ACLs, device tags, and network lock settings
  • Modern Architecture: Modular tool system with TypeScript and Zod validation
  • CLI Integration: Direct integration with Tailscale CLI commands
  • API Integration: REST API support for advanced operations

📚 Documentation

This project includes comprehensive documentation organized by domain:

Quick Start

Run directly without installation:

# Explicit package syntax (most reliable) npx --package=@hexsleeves/tailscale-mcp-server tailscale-mcp-server # Or install globally npm install -g @hexsleeves/tailscale-mcp-server tailscale-mcp-server

Option 2: Docker

# GitHub Container Registry (recommended) docker run -d \ --name tailscale-mcp \ -e TAILSCALE_API_KEY=your_api_key \ -e TAILSCALE_TAILNET=your_tailnet \ ghcr.io/hexsleeves/tailscale-mcp-server:latest # Or use Docker Compose docker-compose up -d

📖 For detailed Docker usage, development workflows, and deployment strategies, see the Docker Guide

Configuration

Claude Desktop

Add to your Claude Desktop configuration (~/.claude/claude_desktop_config.json):

{ "mcpServers": { "tailscale": { "command": "npx", "args": [ "--package=@hexsleeves/tailscale-mcp-server", "tailscale-mcp-server" ], "env": { "TAILSCALE_API_KEY": "your-api-key-here", "TAILSCALE_TAILNET": "your-tailnet-name" } } } }
Using Docker
{ "mcpServers": { "tailscale": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "TAILSCALE_API_KEY=your-api-key", "-e", "TAILSCALE_TAILNET=your-tailnet", "ghcr.io/hexsleeves/tailscale-mcp-server:latest" ] } } }

Environment Variables

VariableDescriptionRequiredDefault
TAILSCALE_API_KEYTailscale API keyYes*-
TAILSCALE_TAILNETTailscale tailnet nameYes*-
TAILSCALE_API_BASE_URLAPI base URLNohttps://api.tailscale.com
LOG_LEVELLogging level (0-3)No1 (INFO)
MCP_SERVER_LOG_FILEServer log file pathNo-

*Required for API-based operations. CLI operations work without API credentials.

Available Tools

Device Management

  • list_devices - List all devices in the Tailscale network
  • device_action - Perform actions on specific devices (authorize, deauthorize, delete, expire-key)
  • manage_routes - Enable or disable routes for devices

Network Operations

  • get_network_status - Get current network status from Tailscale CLI
  • connect_network - Connect to the Tailscale network
  • disconnect_network - Disconnect from the Tailscale network
  • ping_peer - Ping a peer device

System Information

  • get_version - Get Tailscale version information
  • get_tailnet_info - Get detailed network information

Development

Quick Setup

# Clone and setup git clone https://github.com/HexSleeves/tailscale-mcp-server.git cd tailscale-mcp-server # Install Bun (recommended) or use npm curl -fsSL https://bun.sh/install | bash bun install # or: npm install # Setup environment cp .env.example .env # Edit .env with your Tailscale credentials # Build and run bun run build # or: npm run build bun start # or: npm start

Development Commands

# Development workflow (Bun recommended) bun run dev:direct # Fast development with tsx bun run dev:watch # Auto-rebuild on changes bun run build:watch # Build with file watching # Development workflow (NPM fallback) npm run dev:direct npm run dev:watch npm run build:watch # Testing (Bun recommended) bun test # All tests bun run test:unit # Unit tests only bun run test:integration # Integration tests (requires Tailscale CLI) bun run test:watch # Watch mode # Testing (NPM fallback) npm test npm run test:unit npm run test:integration npm run test:watch # Quality assurance (Bun recommended) bun run qa # Quick QA (typecheck + unit tests + lint) bun run qa:full # Full QA (all tests + checks) bun run typecheck # TypeScript validation # Quality assurance (NPM fallback) npm run qa npm run qa:full npm run typecheck # Tools (Bun recommended) bun run inspector # Test with MCP Inspector # Tools (NPM fallback) npm run inspector

Local Claude Desktop Configuration

{ "mcpServers": { "tailscale-dev": { "command": "node", "args": ["/path/to/your/tailscale-mcp-server/dist/index.js"], "env": { "TAILSCALE_API_KEY": "your-api-key-here", "TAILSCALE_TAILNET": "your-tailnet-name", "LOG_LEVEL": "0" } } } }

📖 For comprehensive development guides, testing strategies, and CI/CD information:

Project Structure

src/ ├── server.ts # Main server implementation ├── tools/ # Modular tool definitions ├── tailscale/ # Tailscale integrations ├── types.ts # Type definitions ├── logger.ts # Logging utilities └── index.ts # Entry point

Adding New Tools

Create a tool module in src/tools/ and register it in src/server.ts. See existing tools for examples of the modular architecture using Zod schemas and TypeScript.

Debugging

# Enable debug logging export LOG_LEVEL=0 export MCP_SERVER_LOG_FILE=debug-{timestamp}.log # View logs tail -f logs/debug-*.log

API Reference

Tool Categories

Device Tools
  • Device listing and filtering
  • Device authorization management
  • Route management per device
Network Tools
  • Network status monitoring
  • Connection management
  • Peer connectivity testing
Security Tools
  • ACL management
  • Device tagging
  • Network lock operations

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Run quality checks: bun run qa:full (or npm run qa:full)
  5. Commit your changes: git commit -m 'Add amazing feature'
  6. Push to the branch: git push origin feature/amazing-feature
  7. Open a Pull Request

Development Guidelines

  • Use TypeScript for all new code
  • Add Zod schemas for input validation
  • Include tests for new tools (see Testing Guide)
  • Follow the existing modular architecture
  • Update documentation for new features

Resources for Contributors

License

MIT License - see LICENSE file for details.

Support

Changelog

See CHANGELOG.md for version history and updates.

Related MCP Servers

  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that integrates with AWS CodePipeline, allowing users to manage pipelines through Windsurf and Cascade using natural language commands.
    Last updated -
    12
    4
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.
    Last updated -
    2
    6
    Python
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that provides network packet capture and analysis capabilities through Wireshark/tshark integration, enabling AI assistants to perform network security analysis and troubleshooting.
    Last updated -
    4
    18
    TypeScript
    MIT License
    • Apple
    • Linux
  • -
    security
    A
    license
    -
    quality
    An MCP (Model Context Protocol) server for managing Tailscale resources using the official Tailscale Go client library v2. This server provides complete coverage of the Tailscale API with enhanced, self-descriptive tools powered by OpenAPI documentation.
    Last updated -
    1
    Go
    MIT License
    • Linux
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HexSleeves/tailscale-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server