返回市场
林节点-MCP服务器

林节点-MCP服务器

作者:takashito13 星标更新:2025-10-16

项目介绍

Linode MCP 服务器

主版本 npm 版本 npm 下载量 smithery 徽章

这是一个 MCP(模型上下文协议)服务器,它连接你的 AI 助手或代理到你的 Linode 云基础设施,允许你通过自然对话管理你的云资源。该服务器基于 FastMCP 框架构建,并支持 stdio、SSE 和 HTTP 流传输!

你可以用它做什么?

请求 Claude Desktop 或 VSCode Copilot 代理帮助你完成以下任务:

  • "显示我在法兰克福区域的所有实例"
  • "在大阪创建一个新的实例"
  • "为我的 Web 服务器创建一个负载均衡器"
  • "设置一个托管的 MySQL 数据库" 等等

此服务器提供了以下 Linode 服务类别的工具:

  • 🖥️ 实例 - Linode 计算实例
  • 💾 - 块存储卷
  • 🌐 网络 - IP 地址、防火墙、VLAN
  • ⚖️ 节点平衡器 - 负载均衡器以分配流量
  • 🌎 区域 - 数据中心位置
  • 📊 放置 - 实例放置策略
  • 🔒 虚拟私有云 - 虚拟私有云网络
  • 📦 对象存储 - 兼容 S3 的对象存储
  • 🔤 域名 - DNS 管理
  • 🗄️ 数据库 - 托管的 MySQL/PostgreSQL 数据库
  • ☸️ Kubernetes - Kubernetes 容器编排(LKE)
  • 💿 镜像 - 实例的自定义磁盘镜像
  • 📜 堆栈脚本 - 部署自动化脚本
  • 🏷️ 标签 - 资源组织标签
  • 🎫 支持 - 支持工单和请求
  • 📊 长视图 - 系统指标和监控
  • 👤 个人资料 - 用户个人资料和安全设置
  • 🏢 账户 - 账户管理、用户和账单

快速开始

使用 npx 快速启动

你需要一个 Linode API 令牌来使用这个服务器。在你的 Linode 云管理器个人资料设置 中创建一个。

# 使用你的 API 令牌启动服务器
npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN

设置你的 API 令牌

你可以通过多种方式提供你的令牌:

  1. 命令行选项:

    npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN
    
  2. 环境变量:

    export LINODE_API_TOKEN=your_token_here
    npx @takashito/linode-mcp-server
    
  3. 环境文件: 在你的项目目录中创建一个 .env 文件,内容如下:

    LINODE_API_TOKEN=your_token_here
    

    然后运行:

    npx @takashito/linode-mcp-server
    

连接到 AI 客户端

Claude Desktop

打开 Claude 设置 > 开发者 > 编辑配置:

{
  "mcpServers": {
    "linode": {
      "command": "npx",
      "args": ["-y", "@takashito/linode-mcp-server", "--token", "YOUR_LINODE_API_TOKEN"]
    }
  }
}

VSCode/Cursor/Windsurf

添加到你的 settings.json

{
  "mcpServers": {
    "linode": {
      "command": "npx",
      "args": ["-y", "@takashito/linode-mcp-server", "--token", "YOUR_LINODE_API_TOKEN", "--categories", "instances,volumes,regions"]
    }
  }
}

⚠️ 注意:对于基于 GPT-4o 的客户端,使用 --categories 来限制工具并避免上下文窗口错误。

通过 Smithery 自动安装到 Claude Desktop

为了最简单的设置,请使用 Smithery

npx -y @smithery/cli install @takashito/linode-mcp-server --client claude

工具类别选择

你可以使用 --categories 参数选择性地启用工具:

# 仅启用实例和卷工具
npx @takashito/linode-mcp-server --token YOUR_TOKEN --categories instances,volumes

或者在 Claude Desktop 配置中:

{
  "mcpServers": {
    "linode": {
      "command": "npx",
      "args": [
        "-y",
        "@takashito/linode-mcp-server",
        "--token", 
        "YOUR_LINODE_API_TOKEN",
        "--categories",
        "instances,volumes,regions"
      ]
    }
  }
}

可用类别:instances, volumes, networking, nodebalancers, regions, placement, vpcs, objectStorage, domains, databases, kubernetes, images, stackScripts, tags, support, longview, profile, account

要查看所有可用类别:

npx @takashito/linode-mcp-server --list-categories

传输选项

  1. stdio 传输 - 默认传输,兼容 Claude Desktop

    # 默认 stdio 传输
    npx @takashito/linode-mcp-server --token YOUR_TOKEN
    
  2. SSE 传输 - 用于 Web 客户端的 Server-Sent Events 传输

    # 在端口 3000 上启动 SSE 传输
    npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport sse --port 3000 --endpoint /sse
    
  3. httpStream 传输 - 用于 Web 客户端的 HTTP 流传输

    # 在端口  8080 上启动 HTTP 流传输
    npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport http --port 8080 --endpoint /mcp
    

你可以自定义 SSE 和 HTTP 流传输的端口和主机:

  • --port : 服务器端口(默认:http: 8080, sse: 3000)
  • --endpoint : 服务器路径(默认:http: /mcp, sse: /sse)
  • --host : 服务器主机(默认:127.0.0.1)

通过授权头传递 Linode API 密钥

对于 http / sse 传输,你可以不使用 --token 参数运行 mcp 服务器。

# 在本地主机 8080 端口上启动 HTTP 流传输
npx @takashito/linode-mcp-server --transport http

配置你的 mcp 客户端以添加授权头。linode-mcp-server 将此 API 令牌转发到后端访问 Linode API。

{
  "mcpServers": {
    "linode-remote-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp",
        "--header",
        "Authorization: Bearer ${LINODE_API_TOKEN}"
      ],
      "env": {
        "LINODE_API_TOKEN": "..."
      }
    },
  }
}

可用工具

此 MCP 服务器提供了以下工具,用于与 Linode API 服务进行交互:

🖥️ 实例

管理 Linode 计算实例,包括创建、删除和电源操作。

实例操作

  • list_instances - 获取所有 Linode 实例的列表
  • get_instance - 获取特定 Linode 实例的详细信息
  • create_instance - 创建新的 Linode 实例
  • update_instance - 更新 Linode 实例
  • delete_instance - 删除 Linode 实例
  • reboot_instance - 重启 Linode 实例
  • boot_instance - 启动 Linode 实例
  • shutdown_instance - 关闭 Linode 实例
  • resize_instance - 调整 Linode 实例大小
  • clone_instance - 将 Linode 实例复制到新的 Linode
  • rebuild_instance - 使用新镜像重建 Linode 实例
  • rescue_instance - 将 Linode 实例引导到救援模式
  • reset_root_password - 重置 Linode 实例的根密码
  • initiate_migration - 启动 Linode 实例的数据中心迁移
  • upgrade_linode - 升级 Linode 实例

实例配置

  • list_instance_configs - 获取 Linode 实例的所有配置文件
  • get_instance_config - 获取 Linode 实例的特定配置文件
  • create_instance_config - 为 Linode 实例创建新的配置文件
  • update_instance_config - 更新 Linode 实例的配置文件
  • delete_instance_config - 删除 Linode 实例的配置文件

配置文件接口

  • list_config_interfaces - 列出配置文件的所有接口
  • get_config_interface - 获取特定配置文件接口的详细信息
  • create_config_interface - 为配置文件创建新的接口
  • update_config_interface - 更新配置文件的接口
  • delete_config_interface - 从配置文件中删除接口
  • reorder_config_interfaces - 重新排序配置文件的接口

实例磁盘

  • list_instance_disks - 获取 Linode 实例的所有磁盘
  • get_instance_disk - 获取 Linode 实例的特定磁盘
  • create_instance_disk - 为 Linode 实例创建新的磁盘
  • update_instance_disk - 更新 Linode 实例的磁盘
  • delete_instance_disk - 删除 Linode 实例的磁盘
  • resize_instance_disk - 调整 Linode 实例磁盘的大小
  • clone_disk - 将磁盘复制到新的磁盘
  • reset_disk_root_password - 重置磁盘的根密码

实例备份

  • list_backups - 获取 Linode 实例的所有备份列表
  • get_backup - 获取特定备份的详细信息
  • create_snapshot - 为 Linode 实例创建快照
  • cancel_backups - 取消 Linode 实例的备份
  • enable_backups - 启用 Linode 实例的备份
  • restore_backup - 将备份恢复到 Linode 实例

IP 管理

  • get_networking_information - 获取 Linode 实例的网络信息
  • allocate_ipv4_address - 分配 Linode 实例的 IPv4 地址
  • get_ip_address - 获取特定 IP 地址的详细信息
  • update_ip_address_rdns - 更新 IP 地址的反向 DNS
  • delete_ipv4_address - 删除 IPv4 地址

防火墙管理

  • list_linode_firewalls - 列出 Linode 实例的防火墙
  • apply_linode_firewalls - 将防火墙应用到 Linode 实例

实例统计和传输

  • get_instance_stats - 获取 Linode 实例的当前统计数据
  • get_instance_stats_by_date - 获取 Linode 实例特定月份的统计数据
  • get_network_transfer - 获取 Linode 实例的网络传输信息
  • get_monthly_network_transfer - 获取 Linode 实例的月度网络传输统计

相关资源

  • list_instance_nodebalancers - 列出附加到 Linode 实例的 NodeBalancers
  • list_instance_volumes - 列出附加到 Linode 实例的卷

内核和实例类型

  • list_kernels - 获取所有可用内核的列表
  • get_kernel - 获取特定内核的详细信息
  • list_instance_types - 获取所有可用 Linode 类型的列表
  • get_instance_type - 获取特定 Linode 类型的详细信息

💾 卷

管理可以附加到 Linode 实例的块存储卷。

  • list_volumes - 获取所有卷的列表
  • get_volume - 获取特定卷的详细信息
  • create_volume - 创建新的卷
  • delete_volume - 删除卷
  • attach_volume - 将卷附加到 Linode 实例
  • detach_volume - 从 Linode 实例分离卷
  • resize_volume - 调整卷的大小

🌐 网络

管理 IP 地址、防火墙和网络基础设施。

IP 地址管理

  • get_ip_addresses - 获取所有 IP 地址
  • get_ip_address - 获取特定 IP 地址的详细信息
  • update_ip_address - 更新 IP 地址的反向 DNS
  • allocate_ip - 分配新的 IP 地址
  • share_ips - 在 Linodes 之间共享 IP 地址

IPv6 管理

  • get_ipv6_ranges - 获取所有 IPv6 范围
  • get_ipv6_range - 获取特定 IPv6 范围
  • get_ipv6_pools - 获取所有 IPv6 池

防火墙管理

  • get_firewalls - 获取所有防火墙
  • get_firewall - 获取特定防火墙的详细信息
  • create_firewall - 创建新的防火墙
  • update_firewall - 更新防火墙
  • delete_firewall - 删除防火墙

防火墙规则

  • get_firewall_rules - 获取特定防火墙的所有规则
  • update_firewall_rules - 更新特定防火墙的规则

防火墙设备

  • get_firewall_devices - 获取特定防火墙的所有设备
  • create_firewall_device - 为特定防火墙创建新的设备
  • delete_firewall_device - 从特定防火墙删除设备

VLAN 管理

  • get_vlans - 获取所有 VLAN
  • get_vlan - 获取特定 VLAN

🔤 域名

管理由 Linode 的 DNS 服务托管的 DNS 域名和记录。

  • list_domains - 获取所有域名的列表
  • get_domain - 获取特定域名的详细信息
  • create_domain - 创建新的域名
  • update_domain - 更新现有域名
  • delete_domain - 删除域名
  • list_domain_records - 获取特定域名的所有域名记录列表
  • get_domain_record - 获取特定域名记录的详细信息
  • create_domain_record - 创建新的域名记录
  • update_domain_record - 更新域名记录
  • delete_domain_record - 删除域名记录
  • import_domain_zone - 从远程名称服务器导入域名区域
  • clone_domain - 将现有域名复制到新的域名
  • get_zone_file - 获取域名的 DNS 区域文件

🗄️ 数据库

管理 Linode 托管的 MySQL 和 PostgreSQL 数据库服务。

通用数据库操作

  • list_database_engines - 获取所有可用数据库引擎的列表(MySQL、PostgreSQL 版本)
  • get_database_engine - 获取特定数据库引擎版本的详细信息
  • list_database_types - 获取所有可用数据库实例类型的列表(大小)
  • get_database_type - 获取特定数据库实例类型的详细信息
  • list_database_instances - 获取所有数据库实例的列表(包括 MySQL 和 PostgreSQL)

MySQL 数据库操作

  • list_mysql_instances - 获取所有 MySQL 数据库实例的列表
  • get_mysql_instance - 获取特定 MySQL 数据库实例的详细信息
  • create_mysql_instance - 创建新的 MySQL 数据库实例
  • update_mysql_instance - 更新现有的 MySQL 数据库实例设置
  • delete_mysql_instance - 删除 MySQL 数据库实例
  • get_mysql_credentials - 获取 MySQL 数据库实例的管理员凭据
  • reset_mysql_credentials - 重置 MySQL 数据库实例的管理员凭据
  • get_mysql_ssl_certificate - 获取 MySQL 数据库实例的 SSL 证书
  • patch_mysql_instance - 应用最新的软件更新到 MySQL 数据库实例
  • suspend_mysql_instance - 暂停 MySQL 数据库实例(继续计费)
  • resume_mysql_instance - 恢复暂停的 MySQL 数据库实例

PostgreSQL 数据库操作

  • list_postgresql_instances - 获取所有 PostgreSQL 数据库实例的列表
  • get_postgresql_instance - 获取特定 PostgreSQL 数据库实例的详细信息
  • create_postgresql_instance - 创建新的 PostgreSQL 数据库实例
  • update_postgresql_instance - 更新现有的 PostgreSQL 数据库实例设置
  • delete_postgresql_instance - 删除 PostgreSQL 数据库实例
  • get_postgresql_credentials - 获取 PostgreSQL 数据库实例的管理员凭据
  • reset_postgresql_credentials - 重置 PostgreSQL 数据库实例的管理员凭据
  • get_postgresql_ssl_certificate - 获取 PostgreSQL 数据库实例的 SSL 证书
  • patch_postgresql_instance - 应用最新的软件更新到 PostgreSQL 数据库实例
  • suspend_postgresql_instance - 暂停 PostgreSQL 数据