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 verbaft_rollback 内
  • LOWTool 'aft_health' description lacks action verbaft_health 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,080トークン数(ツール定義)
~1.3 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 0.84%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `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 件