Skip to main content
Glama
komer3

Linode MCP Server

by komer3

Linode MCP サーバー

PyPIバージョン ライセンス: MIT

Linode APIと連携してクラウドリソースを管理するためのモデルコンテキストプロトコル(MCP)サーバー。このパッケージにより、Claudeなどの大規模言語モデル(LLM)が標準化されたインターフェースを介してLinodeインスタンスを管理できるようになります。

特徴

  • Linode のリージョン、インスタンスタイプ、インスタンスの一覧

  • Linode インスタンスの作成、詳細の表示、削除、再起動

  • LLM が Linode リソースを管理するための安全で使いやすいインターフェース

  • ClaudeのようなMCP対応AIアシスタントと完全に互換性があります

Related MCP server: Hetzner Cloud MCP Server

インストールと設定

Linode API キーを環境変数として設定します。

export LINODE_API_KEY=your_api_key_here

または、プロジェクト ディレクトリ内の.envファイルを使用します。

LINODE_API_KEY=your_api_key_here

Linode Cloud Managerから API キーを生成できます。

PyPIから(推奨)

pip install linode-mcp

UVの使用

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

デスクトップ版Claude

  1. パッケージをインストールします。

    pip install linode-mcp
  2. Claude Desktop 構成ファイルを手動で編集します。

    • 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. デスクトップ版のClaudeを再起動

  4. クロードとの会話で、次のことを尋ねることができるようになりました。

    • Linodeインスタンスを一覧表示する

    • 新しいLinodeインスタンスを作成する

    • 特定のインスタンスの詳細を取得する

    • インスタンスを再起動または削除する

プロンプトの例:

  • 「すべてのLinodeインスタンスを表示」

  • 「Debian 11 でフランクフルト地域に新しい 2GB Linode を作成」

  • 「ID 12345のインスタンスを再起動してください」

利用可能なツール

パッケージには次の MCP ツールが含まれています。

  • list_regions - 利用可能なすべてのLinodeリージョンを一覧表示する

追加予定:

  • list_instance_types - 利用可能なすべてのLinodeインスタンスタイプとその価格を一覧表示します

  • list_instances - 既存のLinodeインスタンスをすべて一覧表示する

  • create_instance - 新しいLinodeインスタンスを作成する

  • get_instance - 特定のLinodeインスタンスの詳細を取得する

  • delete_instance - Linodeインスタンスを削除する

  • reboot_instance - Linodeインスタンスを再起動する

発達

プロジェクト構造

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

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする

  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature

  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )

  4. ブランチにプッシュする ( git push origin feature/amazing-feature )

  5. プルリクエストを開く

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。

謝辞

Available Tools

1 tool
list_regionsA

List all available Linode regions

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read-only operation, but does not explicitly state behavioral traits such as idempotency, caching, or rate limits. With no annotations, this is adequate for a simple list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with five words, perfectly concise and front-loaded. No unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the trivial nature (no parameters, simple list operation, output schema exists), the description provides complete context for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so schema coverage is 100%. The description does not need to add parameter details. Baseline score of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and the resource ('all available Linode regions'), with no ambiguity. There are no sibling tools to distinguish from, so the purpose is precisely conveyed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a full list of regions is needed, but does not explicitly state when to use or not use it, nor provide alternatives. Given no siblings, this is acceptable but not maximally helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • Changedlist_regions1 field changed
      • addedInput schema / title
        Added value: +"list_regionsArguments"
  2. 1 tool update
    • First observedlist_regions

TDQS

B3.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'list_regions' has a clear and distinct purpose that cannot be confused with any other tool in this set.

Naming Consistency5/5

The naming follows a consistent verb_noun pattern ('list_regions'), and with only one tool, there is no inconsistency to evaluate. The pattern is clear and predictable for any potential future tools.

Tool Count2/5

A single tool is too few for a server named 'Linode MCP Server', which implies broader cloud management capabilities. This feels thin and incomplete for managing Linode resources, as it only covers region listing without any operations for instances, volumes, networking, or other core features.

Completeness1/5

The tool surface is severely incomplete for a Linode server. It only lists regions, missing essential CRUD operations for instances, volumes, networking, DNS, and other Linode services. This leaves significant gaps that will cause agent failures in typical cloud management tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers