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.
- 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
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.
pip install linode-mcp
uvx pip install linode-mcp
uvx linode-mcp --api-key $LINODE_API_KEY
# Clone the repository
git clone https://github.com/yourusername/linode-mcp.git
cd linode-mcp
# Install the package in development mode
./scripts/install.sh
# 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
-
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"
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
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
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
This project is licensed under the MIT License - see the LICENSE file for details.
- Linode API for providing the cloud infrastructure API
- Model Context Protocol for the standard interface specification
- Claude for AI assistant capabilities