aft.page

Deploy HTML or dist/ to a live HTTPS URL. No account. Drop, MCP, or CLI.

我該用這個嗎

品質與安全性

A
說明品質
88%
結構描述完整度
83%
命名品質
80%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(2)

  • LOWTool 'aft_rollback' description lacks action verb在 aft_rollback 中
  • LOWTool 'aft_health' description lacks action verb在 aft_health 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,080Token(工具定義)
~1.3 KB典型回應大小
中等的注意力影響(128k 上下文的 0.84%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.aft.page/mcp"
    }
  }
}

遠端端點

https://mcp.aft.page/mcpstreamable-http

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡deploy(html, files, preferred_slug, edit_token, expires)

Publish to a live URL. Pass html (one page) OR files (built site). Plain HTML → html. Vite/React → npm run build, then files from dist/. Next static export → files from out/. Always include index.html. Never upload src/, node_modules, or .next/. First hit: preferred_slug from aft.json (include aft.json in files). Later: same slug + edit_token from .aft/state.json. Limits: 500 files, 25MB each, 100MB total.

輸入結構描述

{
  "type": "object",
  "properties": {
    "html": {
      "description": "One HTML document. Ignored if files is set.",
      "type": "string",
      "minLength": 1
    },
    "files": {
      "minItems": 1,
      "maxItems": 500,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "minLength": 1,
            "description": "Relative path, e.g. index.html"
          },
          "content": {
            "type": "string",
            "description": "UTF-8 text (or base64 if encoding=base64)"
          },
          "encoding": {
            "type": "string",
            "enum": [
              "utf8",
              "base64"
            ]
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    },
    "preferred_slug": {
      "description": "aft.json slug. Required with edit_token.",
      "type": "string",
      "pattern": "^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$"
    },
    "edit_token": {
      "type": "string",
      "minLength": 1,
      "description": "From first deploy / .aft/state.json. Required to update or rollback the same URL."
    },
    "expires": {
      "type": "string",
      "pattern": "^\\d+(s|m|h|d)?$",
      "description": "Optional quick-view expiry, e.g. \"1h\", \"24h\", \"90s\", \"7d\". Anonymous (unclaimed) deploys only — the link 404s after this."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡deploy_repo(url)

Same engine as aft.page/run: public GitHub URL → detect → build → live URL. Static is instant; Vite and Next.js build in the background (polls until live or failed). Private repos are refused. For a local project dir, use hosted CLI aft deploy instead.

輸入結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 3,
      "description": "GitHub URL or owner/repo, e.g. https://github.com/mdn/beginner-html-site"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aft_deploys(slug, edit_token)

List rollback-able deploys for a slug. Needs edit_token from .aft/state.json (or the first deploy). Same history the project UI shows after claim.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$",
      "description": "Site slug from aft.json or .aft/state.json"
    },
    "edit_token": {
      "type": "string",
      "minLength": 1,
      "description": "From first deploy / .aft/state.json. Required to update or rollback the same URL."
    }
  },
  "required": [
    "slug",
    "edit_token"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴aft_rollback(slug, edit_token, deploy_id)

Point the live slug at a prior deployId from aft_deploys. Same URL. Needs edit_token from .aft/state.json. Claim not required.

輸入結構描述

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "pattern": "^[a-z0-9](?:[a-z0-9-]{0,46}[a-z0-9])?$",
      "description": "Site slug from aft.json or .aft/state.json"
    },
    "edit_token": {
      "type": "string",
      "minLength": 1,
      "description": "From first deploy / .aft/state.json. Required to update or rollback the same URL."
    },
    "deploy_id": {
      "type": "string",
      "minLength": 1,
      "description": "Prior deployId from aft_deploys"
    }
  },
  "required": [
    "slug",
    "edit_token",
    "deploy_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aft_health

Ping the aft.page deploy API.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具