Skip to main content

Model Context Protocol server for Linode API

Project description

Linode MCP Server

PyPI version License: MIT

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 --from linode-mcp 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linode_mcp-0.0.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

linode_mcp-0.0.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file linode_mcp-0.0.1.tar.gz.

File metadata

  • Download URL: linode_mcp-0.0.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for linode_mcp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 86af9604d9fcdaf439a14b76a7c092125c4ab13c16ab16d76c14dcadaa590ac1
MD5 6b97393a8f7e5ea8779e9d588ebb7a79
BLAKE2b-256 f621ac9f87f5cc5664cf98ad30aafb0b6c3d1ae21945110b7b6a4a24a13fa967

See more details on using hashes here.

File details

Details for the file linode_mcp-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: linode_mcp-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for linode_mcp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3ffc6049d78f803f746650c9c59ebc36d38b60592a282b89f103a3dd223a69ee
MD5 025453c2488a9385431da864f85cf9be
BLAKE2b-256 6cfde6a0794eb47eadca09206e4deff45dd65b799a58a99d4819e4acf874350a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page