
Linode
STDIO连接AI助手与Linode云的MCP服务器
连接AI助手与Linode云的MCP服务器
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. Now both SSE and StreamableHTTP transport support !
Ask Claude Desktop or VSCode Copilot Agent to help you with tasks like:
This server provides tools for the following Linode service categories:
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
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
To add this MCP server to Claude Desktop:
{ "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" } } } }
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.
For the easiest setup, use Smithery:
npx -y @smithery/cli install @takashito/linode-mcp-server --client claude
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
By default, the server uses stdio transport which is compatible with Claude Desktop. The server now supports multiple transport options:
stdio transport - Default transport compatible with Claude Desktop
# Default stdio transport npx @takashito/linode-mcp-server --token YOUR_TOKEN
SSE transport - Server-Sent Events transport
# Start with SSE transport on port 3000 with /sse npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport sse
StreamableHTTP transport - StreamableHTTP transport for web clients
# Start with HTTP streaming transport on port 8080 with /mcp npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport http
You can customize port and endpoint for both SSE and HTTP streaming transport:
--port
: HTTP/SSE server port (default: 8080 for HTTP, 3000 for SSE)--endpoint
: HTTP/SSE server endpoint path (default: /mcp for HTTP, /sse for SSE)--host
: HTTP/SSE server host (default: 127.0.0.1, SSE only)This MCP server provides the following tools for interacting with Linode API services:
Manage Linode compute instances, including creation, deletion, and power 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 instancelist_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 instancelist_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 profilelist_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 passwordlist_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 instanceget_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 addresslist_linode_firewalls
- List firewalls for a Linode instanceapply_linode_firewalls
- Apply firewalls to a Linode instanceget_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 instancelist_instance_nodebalancers
- List NodeBalancers attached to a Linode instancelist_instance_volumes
- List volumes attached to a Linode instancelist_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 typeManage 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 volumeManage IP addresses, firewalls, and network infrastructure.
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 Linodesget_ipv6_ranges
- Get all IPv6 rangesget_ipv6_range
- Get a specific IPv6 rangeget_ipv6_pools
- Get all IPv6 poolsget_firewalls
- Get all firewallsget_firewall
- Get details for a specific firewallcreate_firewall
- Create a new firewallupdate_firewall
- Update a firewalldelete_firewall
- Delete a firewallget_firewall_rules
- Get all rules for a specific firewallupdate_firewall_rules
- Update rules for a specific firewallget_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 firewallget_vlans
- Get all VLANsget_vlan
- Get a specific VLANManage 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 domainget_zone_file
- Get DNS zone file for a domainManage Linode Managed Database services for MySQL and PostgreSQL.
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)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 instancelist_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 instanceManage 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 configManage 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 bucketupload_object
- Upload a new object to a bucket from various sources (string, file, or URL)download_object
- Download an object from a bucket to your local file systemdelete_object
- Delete an object from a bucketupdate_object_acl
- Update access control level (ACL) for an object in a bucketgenerate_object_url
- Generate a pre-signed URL for an object in a 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 configurationget_object_storage_transfer
- Get Object Storage transfer statisticslist_object_storage_types
- Get a list of all available Object Storage types with pricingcancel_object_storage
- Cancel Object Storage serviceManage 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 VPCManage 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 groupRetrieve information about Linode's global data center locations.
list_regions
- Get a list of all available regionsget_region
- Get details for a specific regionManage Linode Kubernetes Engine clusters and node pools.
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 typeslist_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 pooldelete_kubernetes_node
- Delete a node from a Kubernetes clusterrecycle_kubernetes_node
- Recycle a node in a Kubernetes clusterManage 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 regionsManage 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 StackScriptManage 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 TagManage support tickets and requests with Linode's support team.
list_tickets
- List support tickets for your accountget_ticket
- Get details of a specific support ticketcreate_ticket
- Open a new support ticketclose_ticket
- Close a support ticketlist_replies
- List replies to a support ticketcreate_reply
- Reply to a support ticketupload_attachment
- Upload an attachment to a support ticketManage Longview monitoring clients for collecting system metrics.
list_longview_clients
- Get a list of all Longview clientsget_longview_client
- Get details for a specific Longview clientcreate_longview_client
- Create a new Longview clientupdate_longview_client
- Update a Longview clientdelete_longview_client
- Delete a Longview clientlist_longview_subscriptions
- Get a list of all Longview subscription plansget_longview_subscription
- Get details for a specific Longview subscription planget_longview_data
- Get monitoring data from a Longview clientManage user profile information, SSH keys, API tokens, and security settings.
get_profile
- Get your user profile informationupdate_profile
- Update your user profile informationlist_ssh_keys
- List SSH keys associated with your profileget_ssh_key
- Get details for a specific SSH keycreate_ssh_key
- Add a new SSH key to your profileupdate_ssh_key
- Update an existing SSH keydelete_ssh_key
- Delete an SSH key from your profilelist_api_tokens
- List API tokens associated with your profileget_api_token
- Get details for a specific API tokencreate_personal_access_token
- Create a new personal access tokenupdate_api_token
- Update an existing API tokendelete_api_token
- Delete an API tokenlist_api_scopes
- List available API scopes for tokens and OAuth clientsget_two_factor_secret
- Get a two-factor authentication secret and QR codeenable_two_factor
- Enable two-factor authentication for your accountdisable_two_factor
- Disable two-factor authentication for your accountlist_authorized_apps
- List OAuth apps authorized to access your accountget_authorized_app
- Get details about a specific authorized OAuth apprevoke_authorized_app
- Revoke access for an authorized OAuth applist_trusted_devices
- List devices trusted for two-factor authenticationget_trusted_device
- Get details about a specific trusted devicerevoke_trusted_device
- Revoke trusted status for a devicelist_grants
- List grants for a restricted userlist_logins
- List login history for your accountget_login
- Get details about a specific login eventdelete_phone_number
- Delete the phone number associated with your accountsend_phone_verification
- Send a verification code to a phone numberverify_phone_number
- Verify a phone number with a received codeget_user_preferences
- Get user interface preferencesupdate_user_preferences
- Update user interface preferencesget_security_questions
- Get available security questionsanswer_security_questions
- Answer security questions for account recoveryManage Linode account information, users, billing, and settings.
get_account
- Get your account informationupdate_account
- Update your account informationlist_agreements
- List legal agreementsacknowledge_agreements
- Acknowledge legal agreementslist_available_services
- List available services by regionget_region_service_availability
- Get service availability for a specific regioncancel_account
- Cancel your accountlist_child_accounts
- List child accountsget_child_account
- Get a child accountcreate_proxy_token
- Create a proxy user token for a child accountlist_events
- List account eventsget_event
- Get a specific eventmark_event_as_read
- Mark an event as readmark_event_as_seen
- Mark an event as seenlist_invoices
- List invoicesget_invoice
- Get a specific invoicelist_invoice_items
- List items for a specific invoiceget_account_network_transfer
- Get network transfer information for the entire accountlist_account_logins
- List account loginsget_account_login
- Get a specific account loginlist_maintenances
- List maintenance eventslist_notifications
- List notificationslist_oauth_clients
- List OAuth clientscreate_oauth_client
- Create an OAuth clientget_oauth_client
- Get an OAuth clientupdate_oauth_client
- Update an OAuth clientdelete_oauth_client
- Delete an OAuth clientreset_oauth_client_secret
- Reset an OAuth client secretget_account_settings
- Get account settingsupdate_account_settings
- Update account settingsenable_managed_service
- Enable Linode Managed servicelist_users
- List userscreate_user
- Create a userget_user
- Get a userupdate_user
- Update a userdelete_user
- Delete a userget_user_grants
- Get a user's grantsupdate_user_grants
- Update a user's grantsMIT