linode-mcp
The Linode MCP Server is a Model Context Protocol server that allows cloud resource management via Linode's API. It integrates with Large Language Models to enable automated instance management through secure and straightforward interfaces.
Linode MCP Server
A Model Context Protocol (MCP) server for interacting with Linode's API to manage cloud resources. This package enables Large Language Models (LLMs) like Claude to manage Linode instances through a standardized interface.
Features
- List Linode regions, instance types, and instances
- Create, view details, delete, and reboot Linode instances
- Secure and easy-to-use interface for LLMs to manage Linode resources
- Fully compatible with MCP-enabled AI assistants like Claude
Installation and Configuration
Set your Linode API key as an environment variable:
export LINODE_API_KEY=your_api_key_here
Or use a .env
file in the project directory:
LINODE_API_KEY=your_api_key_here
You can generate an API key from the Linode Cloud Manager.
From PyPI (Recommended)
pip install linode-mcp
Using uv
uvx pip install linode-mcp
uvx linode-mcp --api-key $LINODE_API_KEY
From Source
# Clone the repository
git clone https://github.com/yourusername/linode-mcp.git
cd linode-mcp
# Install the package in development mode
./scripts/install.sh
Usage
As a Command Line Tool
# Run with default settings
linode-mcp
# Enable debug logging
linode-mcp --debug
# Specify API key on command line
linode-mcp --api-key your_api_key_here
With Claude for Desktop
-
Install the package:
pip install linode-mcp
-
Manually edit your Claude Desktop configuration file:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "linode": { "command": "linode-mcp", "args": ["--api-key", "your_api_key_here"] } } }
- MacOS:
-
Restart Claude for Desktop
-
In a conversation with Claude, you can now ask it to:
- List your Linode instances
- Create a new Linode instance
- Get details about a specific instance
- Reboot or delete instances
Example prompts:
- "Show me all my Linode instances"
- "Create a new 2GB Linode in the Frankfurt region with Debian 11"
- "Reboot my instance with ID 12345"
Available Tools
The package provides these MCP tools:
list_regions
- List all available Linode regions
To be added:
list_instance_types
- List all available Linode instance types and their pricinglist_instances
- List all existing Linode instancescreate_instance
- Create a new Linode instanceget_instance
- Get details about a specific Linode instancedelete_instance
- Delete a Linode instancereboot_instance
- Reboot a Linode instance
Development
Project Structure
linode-mcp/
├── bin/ # Command-line scripts
├── src/ # Source code
│ └── linode_mcp/ # Main package
│ ├── tools/ # MCP tool implementations
│ └── server.py # MCP server implementation
├── setup.py # Package setup file
└── README.md # This file
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the file for details.
Acknowledgments
- Linode API for providing the cloud infrastructure API
- Model Context Protocol for the standard interface specification
- Claude for AI assistant capabilities