Linode MCP Server
by takashito
The Linode MCP Server connects your AI Assistant or Agent to your Linode cloud infrastructure, allowing you to manage your cloud resources through natural conversation. It provides tools for various Linode service categories, such as instances, volumes, networking, and databases.
Last updated: N/A
Linode MCP Server
main version npm version npm downloads smithery badge
An MCP (Model Context Protocol) server that connect your AI Assistant or Agent to your Linode cloud infrastructure allowing you to manage your cloud resources through natural conversation.
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
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:
-
Command line option:
npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN
-
Environment variable:
export LINODE_API_TOKEN=your_token_here npx @takashito/linode-mcp-server
-
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 Claude Desktop
To add this MCP server to Claude Desktop:
- Open Claude settings > Developer > Edit Config
- Add following lines to configure the MCP server:
{
"mcpServers": {
"linode": {
"command": "npx",
"args": [
"-y",
"@takashito/linode-mcp-server",
"--token",
"YOUR_LINODE_API_TOKEN"
]
}
}
}
Or with environment variables:
{
"mcpServers": {
"linode": {
"command": "npx",
"args": [
"-y",
"@takashito/linode-mcp-server"
],
"env": {
"LINODE_API_TOKEN": "YOUR_LINODE_API_TOKEN"
}
}
}
}
Connecting to VSCode Copilot Agent
Add this MCP server to VSCode Copilot Agent in your VSCode settings (setting.json):
{
"mcpServers": {
"linode": {
"command": "npx",
"args": [
"-y",
"@takashito/linode-mcp-server",
"--token",
"YOUR_LINODE_API_TOKEN",
"--categories",
"instances,volumes,regions"
]
}
}
}
β οΈ Important for GPT-4o users: When using this server with GPT-4o, use the --categories
parameter to limit the number of tools. Otherwise, you might get a 400 error in your chat responses.

chat error
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
To see all available categories:
npx @takashito/linode-mcp-server --list-categories
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 instancesget_instance
- Get details for a specific Linode instancecreate_instance
- Create a new Linode instanceupdate_instance
- Update a Linode instancedelete_instance
- Delete a Linode instancereboot_instance
- Reboot a Linode instanceboot_instance
- Power on a Linode instanceshutdown_instance
- Power off a Linode instanceresize_instance
- Resize a Linode instanceclone_instance
- Clone a Linode instance to a new Linoderebuild_instance
- Rebuild a Linode instance with a new imagerescue_instance
- Boot a Linode instance into rescue modereset_root_password
- Reset the root password for a Linode instanceinitiate_migration
- Initiate a DC migration for a Linode instanceupgrade_linode
- Upgrade a Linode instance
Instance Configuration
list_instance_configs
- Get all configuration profiles for a Linode instanceget_instance_config
- Get a specific configuration profile for a Linode instancecreate_instance_config
- Create a new configuration profile for a Linode instanceupdate_instance_config
- Update a configuration profile for a Linode instancedelete_instance_config
- Delete a configuration profile for a Linode instance
Configuration Profile Interfaces
list_config_interfaces
- List all interfaces for a configuration profileget_config_interface
- Get details for a specific configuration profile interfacecreate_config_interface
- Create a new interface for a configuration profileupdate_config_interface
- Update an interface for a configuration profiledelete_config_interface
- Delete an interface from a configuration profilereorder_config_interfaces
- Reorder interfaces for a configuration profile
Instance Disks
list_instance_disks
- Get all disks for a Linode instanceget_instance_disk
- Get a specific disk for a Linode instancecreate_instance_disk
- Create a new disk for a Linode instanceupdate_instance_disk
- Update a disk for a Linode instancedelete_instance_disk
- Delete a disk for a Linode instanceresize_instance_disk
- Resize a disk for a Linode instanceclone_disk
- Clone a disk to a new diskreset_disk_root_password
- Reset a disk root password
Instance Backups
list_backups
- Get a list of all backups for a Linode instanceget_backup
- Get details for a specific backupcreate_snapshot
- Create a snapshot for a Linode instancecancel_backups
- Cancel backups for a Linode instanceenable_backups
- Enable backups for a Linode instancerestore_backup
- Restore a backup to a Linode instance
IP Management
get_networking_information
- Get networking information for a Linode instanceallocate_ipv4_address
- Allocate an IPv4 address for a Linode instanceget_ip_address
- Get details for a specific IP addressupdate_ip_address_rdns
- Update reverse DNS for an IP addressdelete_ipv4_address
- Delete an IPv4 address
Firewall Management
list_linode_firewalls
- List firewalls for a Linode instanceapply_linode_firewalls
- Apply firewalls to a Linode instance
Instance Stats and Transfer
get_instance_stats
- Get current statistics for a Linode instanceget_instance_stats_by_date
- Get statistics for a Linode instance for a specific monthget_network_transfer
- Get network transfer information for a Linode instanceget_monthly_network_transfer
- Get monthly network transfer stats for a Linode instance
Kernels and Instance Types
list_kernels
- Get a list of all available kernelsget_kernel
- Get details for a specific kernellist_instance_types
- Get a list of all available Linode typesget_instance_type
- Get details for a specific Linode type
πΎ Volumes
Manage block storage volumes that can be attached to Linode instances.
list_volumes
- Get a list of all volumesget_volume
- Get details for a specific volumecreate_volume
- Create a new volumedelete_volume
- Delete a volumeattach_volume
- Attach a volume to a Linode instancedetach_volume
- Detach a volume from a Linode instanceresize_volume
- Resize a volume
π Networking
Manage IP addresses, firewalls, and network infrastructure.
IP Address Management
get_ip_addresses
- Get all IP addressesget_ip_address
- Get details for a specific IP addressupdate_ip_address
- Update reverse DNS for an IP addressallocate_ip
- Allocate a new IP addressshare_ips
- Share IP addresses between Linodes
IPv6 Management
get_ipv6_ranges
- Get all IPv6 rangesget_ipv6_range
- Get a specific IPv6 rangeget_ipv6_pools
- Get all IPv6 pools
Firewall Management
get_firewalls
- Get all firewallsget_firewall
- Get details for a specific firewallcreate_firewall
- Create a new firewallupdate_firewall
- Update a firewalldelete_firewall
- Delete a firewall
Firewall Rules
get_firewall_rules
- Get all rules for a specific firewallupdate_firewall_rules
- Update rules for a specific firewall
Firewall Devices
get_firewall_devices
- Get all devices for a specific firewallcreate_firewall_device
- Create a new device for a specific firewalldelete_firewall_device
- Delete a device from a specific firewall
VLAN Management
get_vlans
- Get all VLANsget_vlan
- Get a specific VLAN
π€ Domains
Manage DNS domains and records hosted by Linode's DNS services.
list_domains
- Get a list of all domainsget_domain
- Get details for a specific domaincreate_domain
- Create a new domainupdate_domain
- Update an existing domaindelete_domain
- Delete a domainlist_domain_records
- Get a list of all domain records for a domainget_domain_record
- Get details for a specific domain recordcreate_domain_record
- Create a new domain recordupdate_domain_record
- Update a domain recorddelete_domain_record
- Delete a domain recordimport_domain_zone
- Import a domain zone from a remote nameserverclone_domain
- Clone an existing domain to a new domain
ποΈ Databases
Manage Linode Managed Database services for MySQL and PostgreSQL.
General Database Operations
list_database_engines
- Get a list of all available database engines (MySQL, PostgreSQL versions)get_database_engine
- Get details for a specific database engine versionlist_database_types
- Get a list of all available database instance types (sizes)get_database_type
- Get details for a specific database instance typelist_database_instances
- Get a list of all database instances (both MySQL and PostgreSQL)
MySQL Database Operations
list_mysql_instances
- Get a list of all MySQL database instancesget_mysql_instance
- Get details for a specific MySQL database instancecreate_mysql_instance
- Create a new MySQL database instanceupdate_mysql_instance
- Update an existing MySQL database instance settingsdelete_mysql_instance
- Delete a MySQL database instanceget_mysql_credentials
- Get admin credentials for a MySQL database instancereset_mysql_credentials
- Reset admin credentials for a MySQL database instanceget_mysql_ssl_certificate
- Get the SSL certificate for a MySQL database instancepatch_mysql_instance
- Apply the latest software updates to a MySQL database instancesuspend_mysql_instance
- Suspend a MySQL database instance (billing continues)resume_mysql_instance
- Resume a suspended MySQL database instance
PostgreSQL Database Operations
list_postgresql_instances
- Get a list of all PostgreSQL database instancesget_postgresql_instance
- Get details for a specific PostgreSQL database instancecreate_postgresql_instance
- Create a new PostgreSQL database instanceupdate_postgresql_instance
- Update an existing PostgreSQL database instance settingsdelete_postgresql_instance
- Delete a PostgreSQL database instanceget_postgresql_credentials
- Get admin credentials for a PostgreSQL database instancereset_postgresql_credentials
- Reset admin credentials for a PostgreSQL database instanceget_postgresql_ssl_certificate
- Get the SSL certificate for a PostgreSQL database instancepatch_postgresql_instance
- Apply the latest software updates to a PostgreSQL database instancesuspend_postgresql_instance
- Suspend a PostgreSQL database instance (billing continues)resume_postgresql_instance
- Resume a suspended PostgreSQL database instance
βοΈ NodeBalancers
Manage Linode's load balancing service to distribute traffic across multiple Linode instances.
list_nodebalancers
- Get a list of all NodeBalancersget_nodebalancer
- Get details for a specific NodeBalancercreate_nodebalancer
- Create a new NodeBalancerdelete_nodebalancer
- Delete a NodeBalancerlist_nodebalancer_configs
- Get a list of config nodes for a NodeBalancercreate_nodebalancer_config
- Create a new config for a NodeBalancerdelete_nodebalancer_config
- Delete a NodeBalancer configlist_nodebalancer_nodes
- Get a list of nodes for a NodeBalancer configcreate_nodebalancer_node
- Create a new node for a NodeBalancer configdelete_nodebalancer_node
- Delete a node from a NodeBalancer config
π¦ Object Storage
Manage S3-compatible object storage for storing and retrieving files.
list_object_storage_clusters
- Get a list of all Object Storage clusterslist_object_storage_buckets
- Get a list of all Object Storage bucketsget_object_storage_bucket
- Get details for a specific Object Storage bucketcreate_object_storage_bucket
- Create a new Object Storage bucketdelete_object_storage_bucket
- Delete an Object Storage bucketget_object_storage_bucket_access
- Get access configuration for an Object Storage bucketupdate_object_storage_bucket_access
- Update access configuration for an Object Storage bucketlist_object_storage_objects
- List objects in an Object Storage bucketget_object_storage_bucket_certificate
- Get SSL/TLS certificate for an Object Storage bucketupload_object_storage_bucket_certificate
- Upload SSL/TLS certificate for an Object Storage bucketdelete_object_storage_bucket_certificate
- Delete SSL/TLS certificate for an Object Storage bucketlist_object_storage_keys
- Get a list of all Object Storage keysget_object_storage_key
- Get details for a specific Object Storage keycreate_object_storage_key
- Create a new Object Storage keyupdate_object_storage_key
- Update an Object Storage keydelete_object_storage_key
- Delete an Object Storage keyget_object_storage_default_bucket_access
- Get default bucket access configurationupdate_object_storage_default_bucket_access
- Update default bucket access configurationcancel_object_storage
- Cancel Object Storage service
π VPCs
Manage Virtual Private Cloud networks to isolate and connect Linode resources.
list_vpcs
- Get a list of all VPCsget_vpc
- Get details for a specific VPCcreate_vpc
- Create a new VPCupdate_vpc
- Update an existing VPCdelete_vpc
- Delete a VPClist_vpc_subnets
- List all subnets in a VPCget_vpc_subnet
- Get details for a specific subnet in a VPCcreate_vpc_subnet
- Create a new subnet in a VPCupdate_vpc_subnet
- Update an existing subnet in a VPCdelete_vpc_subnet
- Delete a subnet in a VPClist_vpc_ips
- List all IP addresses in a VPC
π Placement Groups
Manage instance placement policies to control how instances are distributed across physical hardware.
list_placement_groups
- List all placement groupsget_placement_group
- Get details for a specific placement groupcreate_placement_group
- Create a new placement groupupdate_placement_group
- Update an existing placement groupdelete_placement_group
- Delete a placement groupassign_instances
- Assign Linode instances to a placement groupunassign_instances
- Unassign Linode instances from a placement group
π Regions
Retrieve information about Linode's global data center locations.
list_regions
- Get a list of all available regionsget_region
- Get details for a specific region
βΈοΈ Kubernetes (LKE)
Manage Linode Kubernetes Engine clusters and node pools.
Cluster Operations
list_kubernetes_clusters
- List all Kubernetes clustersget_kubernetes_cluster
- Get details for a specific Kubernetes clustercreate_kubernetes_cluster
- Create a new Kubernetes clusterupdate_kubernetes_cluster
- Update an existing Kubernetes clusterdelete_kubernetes_cluster
- Delete a Kubernetes clusterget_kubernetes_kubeconfig
- Get the kubeconfig for a Kubernetes clusterget_kubernetes_api_endpoints
- Get the API endpoints for a Kubernetes clusterget_kubernetes_dashboard_url
- Get the dashboard URL for a Kubernetes clusterdelete_kubernetes_service_token
- Delete the service token for a Kubernetes clusterrecycle_kubernetes_cluster
- Recycle all nodes in a Kubernetes clusterupgrade_kubernetes_cluster
- Upgrade a Kubernetes cluster to the latest patch versionlist_kubernetes_versions
- List all available Kubernetes versionsget_kubernetes_version
- Get details for a specific Kubernetes versionlist_kubernetes_types
- List all available Kubernetes types
Node Pool Operations
list_kubernetes_node_pools
- List all node pools in a Kubernetes clusterget_kubernetes_node_pool
- Get details for a specific node poolcreate_kubernetes_node_pool
- Create a new node pool for a Kubernetes clusterupdate_kubernetes_node_pool
- Update an existing node pooldelete_kubernetes_node_pool
- Delete a node pool from a Kubernetes clusterrecycle_kubernetes_nodes
- Recycle specific nodes in a Kubernetes node pool
Node Operations
delete_kubernetes_node
- Delete a node from a Kubernetes clusterrecycle_kubernetes_node
- Recycle a node in a Kubernetes cluster
πΏ Images
Manage disk images that can be used to create Linode instances.
list_images
- Get a list of all available imagesget_image
- Get details for a specific imagecreate_image
- Create a new image from an existing diskupload_image
- Initialize an image uploadupdate_image
- Update an existing imagedelete_image
- Delete an imagereplicate_image
- Replicate an image to other regions
π StackScripts
Manage reusable scripts that automate the deployment of custom environments on Linode instances.
list_stackscripts
- Get a list of all StackScriptsget_stackscript
- Get details for a specific StackScriptcreate_stackscript
- Create a new StackScriptupdate_stackscript
- Update an existing StackScriptdelete_stackscript
- Delete a StackScript
π·οΈ Tags
Manage labels that help organize and categorize Linode resources.
list_tags
- Get a list of all Tagsget_tag
- Get details for a specific Tagcreate_tag
- Create a new Tagdelete_tag
- Delete a Tag
License
MIT