Liara MCP服务器
备注:这是一个 非官方的 Liara云平台的MCP服务器。它与Liara没有关联,也没有得到Liara的认可。
Liara云平台的模型上下文协议(MCP)服务器。该服务器使AI助手能够通过自然语言在Liara上部署和管理应用程序、数据库和基础设施。
特性
当前能力
- 应用程序管理:在14多个平台上创建、部署、启动、停止、重新启动和删除应用程序
- 环境变量:设置和更新应用程序的环境变量
- 部署:部署版本、上传源、回滚到以前的版本
- 数据库管理:创建、管理和备份数据库(MySQL、PostgreSQL、MongoDB、Redis等)
- 对象存储:管理与S3兼容的存储桶和对象
- DNS管理:完成DNS区域和记录管理
- 域管理:添加、删除和验证应用程序的域
- 磁盘管理:创建和管理具有FTP访问权限的磁盘
- 邮件服务器:创建和管理邮件服务器,发送电子邮件
- 虚拟机(IaaS):使用快照进行完整的VM生命周期管理
- 网络管理:为虚拟机创建和管理网络
- 可观测性:检索应用程序指标和日志
- 计划:列出并查看可用的资源计划
支持平台
Node.js、Next.js、Laravel、PHP、Django、Flask等。NET、静态站点、React、Angular、Vue、Docker、Python、Go
支持的数据库
MariaDB、MySQL、PostgreSQL、MSSQL、MongoDB、Redis、ElasticSearch、RabbitMQ
安装
npm install -g liara-mcp或者直接与npx一起使用(无需安装)。
工具模式
Liara MCP服务器支持两种工具组织模式:
合并模式(推荐)
集 LIARA_MCP_CONSOLIDATED=true 环境变量,以启用整合工具。此模式提供了更少、更强大的工具,这些工具结合了相关功能:
liara_manage_app-完整的应用程序生命周期管理(列表、获取、创建、删除、启动、停止、重新启动、调整大小)liara_manage_env_vars-环境变量管理(列表、设置单/多、删除单/多)liara_manage_databases-数据库生命周期管理(列表、获取、创建、删除、启动、停止、重新启动、调整大小、更新)liara_manage_database_backups-数据库备份操作(创建、列出、获取下载URL、还原、删除)liara_manage_buckets-Bucket生命周期管理(列表、获取、创建、删除、获取凭据)liara_manage_bucket_objects-Bucket对象操作(列表、上传、获取下载URL、删除)liara_get_infrastructure_overview-全面了解所有资源liara_manage_deployment-部署管理(列出版本、列出源)
合并模式的好处:
- 降低复杂性:8个强大的工具vs 100多个单独的工具
- 更好的用户体验:单个工具处理具有动作参数的相关操作
- 性能提升:复杂操作所需的工具调用更少
- 简化集成:更易于理解和使用工具集
个人模式(传统)
默认模式提供粒度工具(100多个单独的工具),以实现最大的控制和特异性。
配置
服务器支持多种方式配置API令牌:
选项1:环境变量(建议MCP客户端使用)
直接在MCP客户端配置中设置令牌(请参阅下面的使用部分)。
选项2:.env文件(用于本地开发)
- 复制示例环境文件:
cp .env.example .env- 在中配置您的Liara API凭据
.env:
LIARA_API_TOKEN=your_api_token_here
LIARA_TEAM_ID=optional_team_id
LIARA_API_BASE_URL=https://api.iran.liara.ir服务器自动加载 .env 文件使用dotenv,因此不需要额外的设置。
获取您的API代币
- 直接转到 API部分 在Liara控制台中(或登录 Liara控制台 并导航到API部分)
- 选择API密钥的到期时间线(选项:1小时、1天、7天、1个月、6个月或1年)
- 点击“创建新密钥”生成您的API令牌
- 立即复制生成的令牌-它只会显示一次
团队ID(可选)
如果您使用团队帐户,在查看团队时,您可以在Liara控制台的API部分找到您的团队ID。
用法
使用克劳德桌面/光标/VS代码
将以下内容添加到MCP配置文件中:
- 克劳德桌面:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%\Claude\claude_desktop_config.json(Windows) - 光标:
.cursor/mcp.json
{
"mcpServers": {
"liara": {
"command": "npx",
"args": ["-y", "liara-mcp"],
"env": {
"LIARA_API_TOKEN": "your_api_token_here"
}
}
}
}替代配置(适用于nvm/fnm用户):
如果你正在使用 非挥发性物质 或 fnm 要管理Node.js版本,请使用此配置以避免PATH问题:
{
"mcpServers": {
"liara": {
"command": "/bin/zsh",
"args": [
"-c",
"source ~/.nvm/nvm.sh && npx -y liara-mcp"
],
"env": {
"LIARA_API_TOKEN": "your_api_token_here"
}
}
}
}对于bash用户,替换 /bin/zsh 随着 /bin/bash 和 ~/.nvm/nvm.sh 使用您的nvm init脚本路径。
对于fnm用户:
{
"mcpServers": {
"liara": {
"command": "/bin/zsh",
"args": [
"-c",
"eval \"$(fnm env --use-on-cd --shell zsh)\" && npx -y liara-mcp"
],
"env": {
"LIARA_API_TOKEN": "your_api_token_here"
}
}
}
}为什么使用替代配置?
许多IDE和编辑器应用程序(如Claude Desktop、Cursor、Windsurf等)在一个 受限环境 没有shell的PATH配置。这会导致错误:
Error: failed to create mcp stdio client: exec: "npx": executable file not found in $PATH问题: 当你使用nvm/fnm时,Node.js和npx安装在特定版本的目录中,这些目录是由你的shell初始化脚本添加到PATH中的(~/.zshrc, ~/.bashrc等等)。但是,MCP客户端不加载这些文件,因此无法找到npx。
解决方案: 使用外壳包装(/bin/zsh -c 或 /bin/bash -c)在运行npx之前,显式地获取nvm/fnm初始化脚本。这可以确保Node.js环境配置正确。
何时使用每个:
- 基本配置:如果你通过系统包管理器安装了Node.js(
brew,apt等)或官方安装人员 - 替代配置:如果使用nvm、nodenv、fnm或类似的版本管理器
故障排除:PATH问题(nvm/nodenv用户)
如果你看到 spawn npx ENOENT 错误,请运行安装向导:
npx liara-mcp-setup这将为您的系统生成具有绝对路径的正确配置。
可用工具
应用程序管理
liara_list_apps-列出所有应用程序liara_get_app-获取应用程序详细信息liara_create_app-创建新应用程序liara_delete_app-删除应用程序liara_start_app-启动应用程序liara_stop_app-停止应用程序liara_restart_app-重新启动应用程序liara_resize_app-更改应用程序计划
环境变量
liara_set_env_vars-设置环境变量(单个或多个)liara_get_env_vars-获取所有环境变量liara_delete_env_vars-删除环境变量(单个或多个)
部署
liara_upload_source-上传部署源代码liara_deploy_release-部署一个版本liara_list_releases-列出所有版本liara_get_release-获取发布详细信息liara_rollback_release-回滚到以前的版本liara_list_sources-列出上传的来源liara_delete_source-删除上传的源
数据库管理
liara_list_databases-列出所有数据库liara_get_database-获取数据库详细信息liara_create_database-创建新数据库liara_delete_database-删除数据库liara_start_database-启动数据库liara_stop_database-停止数据库liara_restart_database-重新启动数据库liara_get_database_connection-获取数据库连接信息(主机、端口、凭据)。尝试多个API终结点以检索包括密码在内的完整连接信息。如果密码不可用,则返回警告。liara_reset_database_password-重置或更新数据库密码。如果未提供newPassword,则生成一个新的随机密码。liara_update_database-更新数据库设置(计划/调整大小或版本)liara_create_backup-创建数据库备份liara_list_backups-列出数据库备份liara_get_backup_download_url-获取备份下载URLliara_restore_backup-从备份还原数据库liara_delete_backup-删除数据库备份
对象存储
liara_list_buckets-列出所有桶liara_get_bucket-获取存储桶详细信息liara_create_bucket-创建新bucketliara_delete_bucket-删除bucketliara_get_bucket_credentials-获取存储桶的S3凭据liara_list_objects-列出bucket中的对象liara_upload_object-将对象上传到bucketliara_get_object_download_url-获取对象的下载URLliara_delete_object-从bucket中删除对象
应用设置
liara_set_zero_downtime-启用/禁用零停机部署liara_set_default_subdomain-启用/禁用默认子域liara_set_fixed_ip-启用/禁用静态IPliara_set_read_only-启用/禁用只读模式
磁盘管理
liara_list_disks-列出应用程序的磁盘liara_get_disk-获取磁盘详细信息liara_create_disk-创建新磁盘liara_delete_disk-删除磁盘liara_resize_disk-调整磁盘大小liara_create_ftp_access-为磁盘创建FTP访问权限liara_list_ftp_accesses-列出磁盘的FTP访问liara_delete_ftp_access-删除FTP访问
DNS管理
liara_list_zones-列出所有DNS区域
liara_get_zone-获取区域详细信息
liara_create_zone-创建DNS区域
liara_delete_zone-删除DNS区域
liara_list_dns_records-列出DNS记录
liara_create_dns_record-创建DNS记录
liara_get_dns_record-获取DNS记录详细信息
liara_update_dns_record-更新DNS记录
liara_delete_dns_record-删除DNS记录
域管理
liara_list_domains-列出所有域liara_get_domain-获取域详细信息liara_add_domain-向应用程序添加域liara_remove_domain-从应用程序中删除域
邮件服务器
liara_list_mail_servers-列出所有邮件服务器liara_get_mail_server-获取邮件服务器详细信息liara_create_mail_server-创建邮件服务器liara_delete_mail_server-删除邮件服务器liara_start_mail_server-启动邮件服务器liara_stop_mail_server-停止邮件服务器liara_restart_mail_server-重新启动邮件服务器liara_send_email-发送电子邮件
虚拟机(IaaS)
liara_list_vms-列出所有虚拟机liara_get_vm-获取VM详细信息liara_create_vm-创建新VMliara_start_vm-启动虚拟机liara_stop_vm-停止虚拟机liara_restart_vm-重新启动虚拟机liara_delete_vm-删除虚拟机liara_resize_vm-调整虚拟机大小liara_create_snapshot-创建VM快照liara_list_snapshots-列出VM快照liara_restore_snapshot-从快照还原VMliara_delete_snapshot-删除VM快照liara_attach_network-将网络连接到VMliara_detach_network-从VM中分离网络
网络管理
liara_list_networks-列出所有网络liara_get_network-获取网络详细信息liara_create_network-创建网络liara_delete_network-删除网络
可观测性
liara_get_metrics-获取应用程序指标liara_get_logs-获取应用程序日志
计划
liara_list_plans-列出可用计划liara_get_plan-获取计划详细信息
用户
liara_get_user-获取用户信息
例子
对话示例
创建和部署应用程序:
User: Create a Node.js app called "my-api" with the basic plan
Assistant: [Uses liara_create_app tool]
User: Set the NODE_ENV to production for my-api
Assistant: [Uses liara_set_env_var tool]
User: Start the app
Assistant: [Uses liara_start_app tool]创建数据库:
User: Create a PostgreSQL database called "my-db" with the starter plan
Assistant: [Uses liara_create_database tool]
User: Create a backup of my-db
Assistant: [Uses liara_create_backup tool]获取数据库凭据:
User: Get connection info for my-db
Assistant: [Uses liara_get_database_connection tool]
Returns: host, port, username, password, connection string
Includes warnings if password is not available from API
User: Reset the password for my-db
Assistant: [Uses liara_reset_database_password tool]
Generates new password and returns it in the response管理存储:
User: Create a bucket called "my-files"
Assistant: [Uses liara_create_bucket tool]
User: Get the S3 credentials for my-files
Assistant: [Uses liara_get_bucket_credentials tool]发展
# Watch mode for development
npm run dev
# Type checking
npm run type-check
# Build
npm run build
# Clean build artifacts
npm run clean项目结构
liara-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── api/
│ │ ├── client.ts # Liara API client
│ │ └── types.ts # TypeScript types
│ ├── services/
│ │ ├── apps.ts # App management
│ │ ├── databases.ts # Database management
│ │ ├── storage.ts # Object storage
│ │ ├── deployment.ts # Deployment operations
│ │ ├── environment.ts # Environment variables
│ │ └── plans.ts # Plan information
│ └── utils/
│ └── errors.ts # Error handling & validation
├── package.json
├── tsconfig.json
└── README.md错误处理
服务器为常见场景提供用户友好的错误消息:
- API令牌无效
- 缺少必要参数
- 资源未找到
- API速率限制
- 网络连接问题
需求
- Node.js>=18.0.0
- Liara API代币有效
许可证
麻省理工学院
API覆盖范围
此MCP服务器实现了对 其他 API,包括:
已实施的服务(15个模块,100个工具)
- 应用 -全生命周期管理(创建、部署、启动、停止、重新启动、调整大小)
- 数据库 -具有备份/还原功能的完整数据库管理(8种数据库类型)
- 部署 -源代码上传、发布管理、回滚
- 环境变量 -设置、获取、删除环境变量
- 对象存储 -S3兼容的存储桶和对象管理
- 磁盘 -通过FTP访问进行磁盘管理
- 域名系统 -完整的DNS区域和记录管理
- 领域 -域管理和验证
- 邮件服务器 -邮件服务器管理和电子邮件发送
- 虚拟机(IaaS) -VM生命周期、快照、网络连接
- 网络 -虚拟机的网络管理
- 可观测性 -度量和日志检索
- 计划 -资源计划信息
- 设置 -应用程序配置(零停机、子域、IP、只读)
- 用户 -用户帐户信息
API文件参考
该实施基于 Liara OpenAPI规范 包括:
- 所有主要平台服务(PaaS、DBaaS、IaaS、对象存储、DNS、邮件)
- 通过部署工具实现CI/CD功能
- 完整的资源生命周期管理
- 与Liara API响应一致的错误处理
资源
免责声明
这是一个 非官方的 Liara的MCP服务器实现。它是:
- 不隶属于Liara、不得到Liara的认可或支持
- 由社区维护
- 按原样提供,不提供保修
如需Liara官方支持,请联系 Liara支持.
贡献
欢迎投稿!请随时提交问题或拉取请求 .
支持
关于以下问题:
