这是一个 MCP(模型上下文协议)服务器,它连接你的 AI 助手或代理到你的 Linode 云基础设施,允许你通过自然对话管理你的云资源。该服务器基于 FastMCP 框架构建,并支持 stdio、SSE 和 HTTP 流传输!
请求 Claude Desktop 或 VSCode Copilot 代理帮助你完成以下任务:
此服务器提供了以下 Linode 服务类别的工具:
你需要一个 Linode API 令牌来使用这个服务器。在你的 Linode 云管理器个人资料设置 中创建一个。
# 使用你的 API 令牌启动服务器
npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN
你可以通过多种方式提供你的令牌:
命令行选项:
npx @takashito/linode-mcp-server --token YOUR_LINODE_API_TOKEN
环境变量:
export LINODE_API_TOKEN=your_token_here
npx @takashito/linode-mcp-server
环境文件:
在你的项目目录中创建一个 .env 文件,内容如下:
LINODE_API_TOKEN=your_token_here
然后运行:
npx @takashito/linode-mcp-server
打开 Claude 设置 > 开发者 > 编辑配置:
{
"mcpServers": {
"linode": {
"command": "npx",
"args": ["-y", "@takashito/linode-mcp-server", "--token", "YOUR_LINODE_API_TOKEN"]
}
}
}
添加到你的 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:
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
stdio 传输 - 默认传输,兼容 Claude Desktop
# 默认 stdio 传输
npx @takashito/linode-mcp-server --token YOUR_TOKEN
SSE 传输 - 用于 Web 客户端的 Server-Sent Events 传输
# 在端口 3000 上启动 SSE 传输
npx @takashito/linode-mcp-server --token YOUR_TOKEN --transport sse --port 3000 --endpoint /sse
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)对于 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 实例复制到新的 Linoderebuild_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 实例get_networking_information - 获取 Linode 实例的网络信息allocate_ipv4_address - 分配 Linode 实例的 IPv4 地址get_ip_address - 获取特定 IP 地址的详细信息update_ip_address_rdns - 更新 IP 地址的反向 DNSdelete_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 实例的 NodeBalancerslist_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 地址、防火墙和网络基础设施。
get_ip_addresses - 获取所有 IP 地址get_ip_address - 获取特定 IP 地址的详细信息update_ip_address - 更新 IP 地址的反向 DNSallocate_ip - 分配新的 IP 地址share_ips - 在 Linodes 之间共享 IP 地址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 - 从特定防火墙删除设备get_vlans - 获取所有 VLANget_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)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 数据库实例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 数据