Built on Node.js runtime (requires v18+) with ES module support for executing Tailscale CLI commands and interacting with the Tailscale REST API.
Provides tools for managing Tailscale networks, including device management (listing, authorizing/deauthorizing devices), subnet route control, network connectivity operations (connect/disconnect), and peer monitoring via ping functionality.
Leverages TypeScript for type safety throughout the implementation, with Zod validation for schema validation and type checking of inputs and outputs.
Uses Zod for runtime validation of data schemas, ensuring type safety and providing descriptive error messages for invalid parameters.
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.
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
Quick Start
Installation
Development Setup
Configuration
Claude Desktop
Add to your Claude Desktop configuration (~/.claude/claude_desktop_config.json
):
Environment Variables
Available Tools
Device Management
list_devices
- List all devices in the Tailscale networkdevice_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 CLIconnect_network
- Connect to the Tailscale networkdisconnect_network
- Disconnect from the Tailscale networkping_peer
- Ping a peer device
System Information
get_version
- Get Tailscale version informationget_tailnet_info
- Get detailed network information
Development
Project Structure
Adding New Tools
- Create a new tool module in
src/tools/
:
- Register the module in
src/server.ts
:
Testing
Building
API Reference
Environment Variables
Variable | Description | Required | Default |
---|---|---|---|
TAILSCALE_API_KEY | Tailscale API key | Yes* | - |
TAILSCALE_TAILNET | Tailscale tailnet name | Yes* | - |
TAILSCALE_API_BASE_URL | API base URL | No | https://api.tailscale.com |
*Required for API-based operations. CLI operations work without API credentials.
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
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Add tests for new functionality
- Ensure all tests pass:
npm test
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
Development Guidelines
- Use TypeScript for all new code
- Add Zod schemas for input validation
- Include tests for new tools
- Follow the existing modular architecture
- Update documentation for new features
License
MIT License - see LICENSE file for details.
Support
- Issues - Bug reports and feature requests
- Discussions - Questions and community support
- MCP Documentation - Learn more about MCP
Changelog
See CHANGELOG.md for version history and updates.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Provides seamless integration with Tailscale's CLI commands and REST API, enabling automated network management and monitoring through a standardized Model Context Protocol interface.
Related MCP Servers
- AsecurityFlicenseAqualityEnables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.Last updated -7831JavaScript
- -securityAlicense-qualityA Model Context Protocol server implementation that allows AI models to interact with and manage Spinnaker deployments, pipelines, and applications through a standardized interface.Last updated -14TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Sentry for error tracking and monitoring, allowing retrieval and analysis of error data, project management, and performance monitoring through the Sentry API.Last updated -103TypeScript
- -securityFlicense-qualityA Model Context Protocol server that integrates with AWS CodePipeline, allowing users to manage pipelines through Windsurf and Cascade using natural language commands.Last updated -4TypeScript