Linode MCP Server

MIT License
  • Apple

Integrations

  • Supports configuration via .env files for storing Linode API keys securely.

  • Supports creating Linode instances with Debian 11 as the operating system.

  • Provides specific configuration paths for Claude Desktop integration on macOS systems.

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.

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

  1. Install the package:
    pip install linode-mcp
  2. 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"] } } }
  3. Restart Claude for Desktop
  4. 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 pricing
  • list_instances - List all existing Linode instances
  • create_instance - Create a new Linode instance
  • get_instance - Get details about a specific Linode instance
  • delete_instance - Delete a Linode instance
  • reboot_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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

-
security - not tested
A
license - permissive license
-
quality - not tested

A Model Context Protocol server that enables Large Language Models like Claude to manage Linode cloud resources, including listing regions, creating, viewing, deleting, and rebooting Linode instances.

  1. Features
    1. Installation and Configuration
      1. From PyPI (Recommended)
      2. Using uv
      3. From Source
    2. Usage
      1. As a Command Line Tool
      2. With Claude for Desktop
    3. Available Tools
      1. Development
        1. Project Structure
      2. Contributing
        1. License
          1. Acknowledgments
            ID: f2adkuppb3