databasescloud-infrastructure

Linode

by takashito

Manage compute, volumes, networking & more with Li Node's robust cloud API. Easily control instances, domains, databases

Integrates with Linode's cloud infrastructure API to manage compute instances, volumes, networking, domains, databases, Kubernetes clusters, and support operations across 19 tool categories with over 100 individual operations.

github stars

15

Works directly with Claude DesktopRequires Linode API key

best for

  • / DevOps engineers managing Linode infrastructure
  • / Developers deploying applications to Linode
  • / System administrators automating server management
  • / Teams wanting conversational cloud resource control

capabilities

  • / List Linode regions and instance types
  • / Create new Linode instances
  • / View instance details and status
  • / Reboot existing instances
  • / Delete cloud instances
  • / Query available cloud resources

what it does

Connects AI assistants like Claude to Linode's cloud infrastructure API for managing virtual machines and cloud resources through natural language conversations.

about

Linode is a community-built MCP server published by takashito that provides AI assistants with tools and capabilities via the Model Context Protocol. Manage compute, volumes, networking & more with Li Node's robust cloud API. Easily control instances, domains, databases It is categorized under databases, cloud infrastructure.

how to install

You can install Linode in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

Linode is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Linode MCP Server

main version npm version npm downloads smithery badge

An MCP (Model Context Protocol) server that connects your AI Assistant or Agent to your Linode cloud infrastructure allowing you to manage your cloud resources through natural conversation. Built with FastMCP framework and supports stdio, SSE, and HTTP streaming transports!

What Can You Do With This?

Ask Claude Desktop or VSCode Copilot Agent to help you with tasks like:

  • "Show me all my instances in the Frankfurt region"
  • "Create a new instance in Osaka"
  • "Create a load balancer for my web servers"
  • "Set up a managed MySQL database" etc

This server provides tools for the following Linode service categories:

  • 🖥️ instances - Linode compute instances
  • 💾 volumes - Block storage volumes
  • 🌐 networking - IP addresses, firewalls, VLANs
  • ⚖️ nodebalancers - Load balancers for distributing traffic
  • 🌎 regions - Data center locations
  • 📊 placement - Instance placement policies
  • 🔒 vpcs - Virtual Private Cloud networks
  • 📦 objectStorage - S3-compatible object storage
  • 🔤 domains - DNS management
  • 🗄️ databases - Managed MySQL/PostgreSQL databases
  • ☸️ kubernetes - Kubernetes container orchestration (LKE)
  • 💿 images - Custom disk images for instances
  • 📜 stackScripts - Deployment automation scripts
  • 🏷️ tags - Resource organization labels
  • 🎫 support - Support tickets and requests
  • 📊 longview - System metrics and monitoring
  • 👤 profile - User profile and security settings
  • 🏢 account - Account management, users, and billing

Getting Started

Quick Start with npx

You'll need a Linode API token to use this server. Create one in your Linode Cloud Manager profile settings.

# Start the server with your API token
npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN

Setting Your API Token

You can provide your token in several ways:

  1. Command line option:

    npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN
    
  2. Environment variable:

    export LINODE_API_TOKEN=your_token_here
    npx @takashito/linode-mcp-server
    
  3. Environment file: Create a .env file in your project directory with:

    LINODE_API_TOKEN=your_token_here
    

    Then run:

    npx @takashito/linode-mcp-server
    

Connecting to AI Clients

Claude Desktop

Open Claude settings > Developer > Edit Config:

{
  "mcpServers": {
    "linode": {
      "command": "npx",
      "args": ["-y", "@takashito/linode-mcp-server", "--token", "YOUR_LINODE_API_TOKEN"]
    }
  }
}

VSCode/Cursor/Windsurf

Add to your settings.json:

{
  "mcpServers": {
    "linode": {
      "command": "npx",
      "args": ["-y", "@takashito/linode-mcp-server", "--token", "YOUR_LINODE_API_TOKEN", "--categories", "instances,volumes,regions"]
    }
  }
}

⚠️ Note: For GPT-4o based clients, use --categories to limit tools and avoid context window errors.

Automatic Installation via Smithery to Claude Desktop

For the easiest setup, use Smithery:

npx -y @smithery/cli install @takashito/linode-mcp-server --client claude

Tools Category Selection

You can selectively enabled tools with --categories parameter:

# Enable only instances and volumes tools
npx @takashito/linode-mcp-server --token YOUR_TOKEN --categories instances,volumes

Or in Claude Desktop config:

{
  "mcpServers": {
    "linode": {
      "command": "npx",
      "args": [
        "-y",
        "@takashito/linode-mcp-server",
        "--token", 
        "YOUR_LINODE_API_TOKEN",
        "--categories",
        "instances,volumes,regions"
      ]
    }
  }
}

Available categories: instances, volumes, networking, nodebalancers, regions, placement, vpcs, objectStorage, domains, databases, kubernetes, images, stackScripts, tags, support, longview, profile, account

To see all available categories:

npx @takashito/linode-mcp-server --list-categories

Transport Options

  1. stdio transport - Default transport compatible with Claude Desktop

    # Default stdio transport
    npx @takashito/linode-mcp-server --token YOUR_TOKEN
    
  2. SSE transport - Server-Sent Events transport for web clients

    # Start with SSE transport on port 3000 /sse
    npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport sse --port 3000 --endpoint /sse
    
  3. httpStream transport - HTTP streaming transport for web clients

    # Start with HTTP streaming transport on port 8080 /mcp
    npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport http --port 8080 --endpoint /mcp
    

You can customize port and host for both SSE and HTTP streaming transport:

  • --port : Server port (default: http: 8080, sse: 3000)
  • --endpoint : Server Path (default: http: /mcp, sse: /sse)
  • --host : Server host (default: 127.0.0.1)

Pass Linode API Key via Authorization Header

For http / sse transport, you can run mcp server without --token parameter.

# Start with HTTP streaming transport on port 8080 /mcp at localhost
npx @takashito/linode-mcp-server --transport http

Configure your mcp client to add Authorization Header. linode-mcp-server forward this API token to access Linode API at backend.

{
  "mcpServers": {
    "linode-remote-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp",
        "--header",
        "Authorization: Bearer ${LINODE_API_TOKEN}"
      ],
      "env": {
        "LINODE_API_TOKEN": "..."
      }
    },
  }
}

Available Tools

This MCP server provides the following tools for interacting with Linode API services:

🖥️ Instances

Manage Linode compute instances, including creation, deletion, and power operations.

Instance Operations

  • list_instances - Get a list of all Linode instances
  • get_instance - Get details for a specific Linode instance
  • create_instance - Create a new Linode instance
  • update_instance - Update a Linode instance
  • delete_instance - Delete a Linode instance
  • reboot_instance - Reboot a Linode instance
  • boot_instance - Power on a Linode instance
  • shutdown_instance - Power off a Linode instance
  • resize_instance - Resize a Linode instance
  • clone_instance - Clone a Linode instance to a new Linode
  • rebuild_instance - Rebuild a Linode instance with a new image
  • rescue_instance - Boot a Linode instance into rescue mode
  • reset_root_password - Reset the root password for a Linode instance
  • initiate_migration - Initiate a DC migration for a Linode instance
  • upgrade_linode - Upgrade a Linode instance

Instance Configuration

  • list_instance_configs - Get all configuration profiles for a Linode instance
  • get_instance_config - Get a specific configuration profile for a Linode instance
  • create_instance_config - Create a new configuration profile for a Linode instance
  • update_instance_config - Update a configuration profile for a Linode instance
  • delete_instance_config - Delete a configuration profile for a Linode instance

Configuration Profile Interfaces

  • list_config_interfaces - List all interfaces for a configuration profile
  • get_config_interface - Get details for a specific configuration profile interface
  • create_config_interface - Create a new interface for a configuration profile
  • update_config_interface - Update an interface for a configuration profile
  • delete_config_interface - Delete an interface from a configuration profile
  • reorder_config_interfaces - Reorder interfaces for a configuration profile

Instance Disks

  • list_instance_disks - Get all disks for a Linode instance
  • get_instance_disk - Get a specific disk for a Linode instance
  • create_instance_disk - Create a new disk for a Linode instance
  • update_instance_disk - Update a disk for a Linode instance
  • delete_instance_disk - Delete a disk for a Linode instance
  • resize_instance_disk - Resize a disk for a Linode instance
  • clone_disk - Clone a disk to a new disk
  • reset_disk_root_password - Reset a disk root password

Instance Backups

  • list_backups - Get a list of all backups for a Linode instance
  • get_backup - Get details for a specific backup
  • create_snapshot - Create a snapshot for a Linode instance
  • cancel_backups - Cancel backups for a Linode instance
  • enable_backups - Enable backups for a Linode instance
  • restore_backup - Restore a backup to a Linode instance

IP Management

  • get_networking_information - Get networking information for a Linode instance
  • allocate_ipv4_address - Allocate an IPv4 address for a Linode instance
  • get_ip_address - Get details for a specific IP address
  • update_ip_address_rdns - Update reverse DNS for an IP address
  • delete_ipv4_address - Delete an IPv4 address

Firewall Management

  • list_linode_firewalls - List firewalls for a Linode instance
  • apply_linode_firewalls - Apply firewalls to a Linode instance

Instance Stats and Transfer

  • get_instance_stats - Get current statistics for a Linode instance
  • get_instance_stats_by_date - Get statistics for a Linode instance for a specific month
  • get_network_transfer - Get network transfer