mcpField
T
troubleshoot-website

troubleshoot-website

github.com/hostinger云与 DevOps16568 次安装今天更新
代码仓库

关于 troubleshoot-website

帮助 Hostinger 网站运维人员排查故障的技能,涵盖 Shared、Cloud 和 Agency 站点。它要求先只读收集证据,说明原因并取得用户同意后再修复,最后复查症状。

主要功能

  1. 01检查站点状态与外部响应
  2. 02按站点类型定位故障分支
  3. 03排查 WordPress、Node.js 与 PHP
  4. 04诊断 SSL、缓存及性能问题
  5. 05修复后重新验证结果

适用场景

  1. 01调查网站返回 5xx 或空白页面
  2. 02排查 SSL 证书或 DNS 指向问题
  3. 03分析 WordPress 插件变更引起的故障
  4. 04诊断 Node.js 构建失败或运行错误

MCP 相关

说明如何使用 Hostinger Connector 的 hosting、wordpress、agency-hosting、domains 和 dns MCP 服务读取状态并执行经同意的修复。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/hostinger/api-mcp-server --skill troubleshoot-website

安装后在 Claude Code 中输入/troubleshoot-website确认已加载。

详细介绍

排查网站问题

输入一个网站和一种症状,输出一个明确的原因、支持该原因的证据和解决方案。在说明原因且用户同意解决方案之前,只进行只读操作。

调用操作

  • 在首次调用每项操作之前,先读取 search 返回的 inputSchema。如果下面的名称被拒绝并提示未知,请通过 search 搜索该步骤的功能(例如“ssl status”)。
  • 使用 multi-execute 批量读取,并通过 $steps.<i>.<path> 在步骤间传递值,例如 "$steps.0.data.0.username"。批处理会在首次失败时停止。
  • Hostinger Connector 将每个产品作为独立的 MCP 服务运行(hosting、wordpress、agency-hosting、domains、dns),因此批处理只能串联来自同一服务的操作。如果 search 找不到某项操作,说明 Connector 中该产品组已关闭——请让用户启用它。

1. 查找网站

运行这两项查询,并在之后的每次调用中保留其结果:

  • 使用 domain 调用 hosting_websites_list — 适用于 Shared 和 Cloud 套餐。筛选条件是子字符串匹配,因此要选择 domain 与用户询问的域名完全一致的条目。保留 username、order_id 和 website_type;每项 hosting_* 和 wordpress_* 调用都以 username + domain 为键。
  • 使用 domain 调用 agency-hosting_websites_list-plan — 适用于 Agency 套餐。保留 details.uid(每项 agency-hosting_* 调用的 website_uid)、details.type、details.ipv4 和 details.domains。

两项查询都找不到:该域名不是此账户中的网站 — 说明这一点,并展示它指向的位置(步骤 2)。

2. 从外部查看

与步骤 1 同时运行:

curl -sS -o /dev/null -w "%{http_code} ttfb=%{time_starttransfer}s %{redirect_url}\n" https://DOMAIN/
curl -sSI https://DOMAIN/
dig +short NS DOMAIN; dig +short A DOMAIN; dig +short CAA DOMAIN
  • Hostinger 响应包含 platform: hostinger 和 panel: hpanel。如果缺少这些字段,或 DNS 指向其他位置,则流量没有到达此托管服务 — 转交给 connect-domain 技能。
  • 证书或 TLS 错误 → SSL。
  • 5xx、空白页面或错误页面 → 按网站类型。
  • 200 但内容过时 → 缓存:hosting_cache_clear-website(也会清除 Hostinger CDN;如果 WordPress 位于子文件夹中,请传入 directory),WordPress 还需调用 wordpress_litespeed-cache_purge-lite-speed;Agency:agency-hosting_cache_clear-website。
  • 首字节响应慢 → 网站速度慢。如果位于 Hostinger CDN 后面,x-hcdn-upstream-rt 是源站自身的响应时间(秒);该值较小表示服务器不是瓶颈。

3. 按网站类型

website_type(Shared/Cloud)或 details.type(Agency)用于选择分支。builder 和 horizons 网站不受这些操作管理 — 请引导用户前往 hPanel。

Node.js (nodejs)

批量调用 hosting_get-deployment(包含最新构建及其日志、失败分析和已存储设置)、hosting_nodejs_runtime-logs(period: "1h",levels: ["ERROR", "WARN"])和 hosting_nodejs_list-environment-variables(仅列出键;值始终会被屏蔽)。在没有 hosting_get-deployment 的托管服务上,改用 hosting_nodejs_list-builds(per_page: 3)。

  • 最新构建状态为 failed:hosting_get-deployment 已包含 analysis(每个构建只获取一次——API 每次调用都会重新运行分析,并且每分钟最多允许调用 5 次)。通常是因为检测到错误的框架、输出目录或缺少 entry_file:将返回的 buildSettings 与项目进行比较,然后使用修正后的 appType、outputDirectory、buildScript 或 entryFile 重新部署;Git 部署会存储这些设置,因此后续推送也能正确构建。在托管服务上:针对该构建调用一次 hosting_nodejs_analyse-failed-build,然后调用 hosting_nodejs_build-logs;比较 hosting_nodejs_build-settings,通过 hosting_nodejs_start-build 重新构建,并使用 hosting_nodejs_update-build-settings 存储这些值。
  • 构建状态为 completed,但应用报错:查看运行时日志;早于 last_deployed_at 的条目属于上一次部署。如果代码读取的变量不在键列表中,使用 deploy-to-hosting 技能中的环境配置步骤修复。Access denied for user '…'@'::1' 表示应用连接到了 localhost——DB_HOST 必须为 127.0.0.1。
  • 进程卡住:调用 hosting_nodejs_restart-application(重启但不重新构建)。
WordPress (wordpress)

调用带有 username 和 domain 的 wordpress_installations_list,获取安装的 id——所有 wordpress_* 调用中的 software 参数都使用此 ID。批量调用 wordpress_installations_check-if-are-valid(software_ids: [id],force: true)、wordpress_plugins_list-installed 和 wordpress_maintenance_show-status。

  • 安装无效:validation_error 会指出问题。
  • 更改插件或主题后出现故障:逐个使用 wordpress_plugins_deactivate 停用可疑项(任务会排队——等待几秒),每次操作后重新执行步骤 2 中的检查,并重新激活未导致问题的插件或主题。
  • 维护页面卡住:调用 wordpress_maintenance_toggle,并设置 enabled: false。
  • “Error establishing a database connection”:使用 domain 调用 hosting_databases_list;使用 hosting_databases_repair 修复损坏的表(在后台运行)。由于含有密钥的文件会被拒绝,无法通过 API 读取 wp-config.php——如需检查凭据,请向用户提供 hosting_databases_phpmyadmin-link。
  • 内存或上传大小错误 → PHP。
静态网站或 PHP (other)
  • / 返回 403 或 404:调用 hosting_files_list-website-and-directories,并设置 max_depth: 1。index.html 或 index.php 必须位于文档根目录;如果它们在下一级文件夹中,说明压缩包的目录层级多了一层——使用 deploy-to-hosting 技能将文件平铺后重新部署。
  • 使用 hosting_files_website-content 读取 .htaccess 或其他配置文件。
  • PHP 错误 → PHP。
PHP

hosting_php_get 会返回所有扩展和选项(约 25 KB),因此仅在遇到 PHP 问题时调用。hosting_php_update-version 用于切换版本。hosting_php_update-options 会静默地将值限制为套餐上限(hosting_php_get 中的 max),因此请读取已应用的值进行确认。Agency:调用 agency-hosting_php_list-options-for-website,然后调用 agency-hosting_php_replace-website-options——这是完整替换,因此请发送所有需要保留的自定义选项。

Agency 套餐网站

agency-hosting_websites_get 显示状态和配额,agency-hosting_websites_list-processes 显示失败的任务(SSL 设置、备份),agency-hosting_wordpress_settings 显示核心版本、LiteSpeed、对象缓存和维护模式。当 wordpress_installations_list 未返回该网站时,请从 wp-admin 管理插件。

SSL

Shared 和 Cloud,hosting_ssl_status:

  • not_installed 或 failed(last_error 会说明原因):在 hosting_ssl_install 成功前,域名必须解析到 Hostinger,且任何 CAA 记录都必须允许 letsencrypt.org。轮询状态,直到变为 active 或 failed。
  • installing 或 waiting_for_retry:请等待——再次发送安装请求会返回 422。
  • 免费的 *.hostingersite.com 子域名使用平台证书;按设计,安装请求会返回 422。
  • 证书状态为 active 时,浏览器仍显示警告:如果 is_https_redirect_enabled 为 false,请使用 hosting_ssl_toggle-https-redirect 开启重定向;否则,页面会加载 http:// 资源(混合内容),需要由应用进行更改。

Agency,每个域名都使用 agency-hosting_ssl_website-status:每个域名每七天最多可进行三次证书设置,每分钟最多可发起一次请求。调用 agency-hosting_ssl_install-website 或 agency-hosting_ssl_reinstall-website 前,请检查 agency-hosting_websites_list-processes,且绝不要循环重试。

网站速度慢

  • WordPress:使用 wordpress_litespeed-cache_show-lite-speed-status 和 wordpress_object-cache_show-memcached-status。启用 Memcached(使用 wordpress_object-cache_toggle-memcached)通常能快速见效。
  • 其他网站:服务器缓存可能已关闭,也可能仍处于开发模式;这两种状态都无法通过读取操作查询。缓存已开启时,hosting_cache_toggle-website 设置 enabled: true 不会产生任何作用;hosting_cache_toggle-cacheless 设置 enabled: false 会关闭开发模式。
  • PHP 7.x 的运行速度明显慢于 8.x;如果应用支持,请通过 hosting_php_get 提出使用受支持的 8.x 版本。
  • Agency:使用 agency-hosting_metrics_list-order-resource-usage 并设置 time_frame_hours: 24,查看各网站的 CPU、内存和进程用量与套餐配额的对比。
  • Shared 和 Cloud 的 API 不提供 CPU 或内存指标。如果证据表明问题与资源限制有关,请引导用户前往 hPanel 的资源使用量页面。

应用修复

说明原因、证据和建议进行的唯一一项更改,并且只有在用户同意后才进行更改。然后重新执行第 2 步的检查;如果有排队中的任务,先轮询其状态,以确认问题现象已消失。如果所需修复无法通过 API 完成,请明确说明,并指出对应的 hPanel 页面。

API 不支持的功能

  • 网站备份和还原——请前往 hPanel 的备份页面。
  • Shared 和 Cloud 套餐的 CPU、内存及进程用量。
  • PHP 错误日志和访问日志。

评论

支持 Markdown