MCPサーバー

最終更新: 2026-09-08

hdplyにはMCPサーバーが内蔵されています。Claude Code、Claude Desktop、自作エージェントなど、どのMCPクライアントからでもサイト一覧の取得、作成、公開中HTMLの読み取り、新バージョンの公開、デプロイ履歴の確認ができます。ツール5つ、APIキー1つ、ローカルで動かすものはありません。

エージェントに任せても安全

削除ツールはありません。サイトの削除は意図的にWebコンソール限定です。デプロイ権限をすべて持つエージェントでも、悪いバージョンを公開することはあっても、作業物を破壊することはできません。

人でもエージェントでも、すべてのデプロイはバージョンとして残ります。誤ったデプロイはコンソールでワンクリック復元でき、get_deploy_historyでどのデプロイがMCP経由か("source": "mcp")が正確にわかります。汎用デプロイMCPとの違いはここです。hdplyはサイトごとにHTMLファイル1つに範囲が絞られているので、最悪でも一時的に表示が崩れたページで済みます。

主なユースケース

Claudeが企画書、ダッシュボード、モックアップなどのページをHTMLアーティファクトとして書きます。ファイルを保存してどこかにアップロードする代わりに「これを公開して」と言えば、同じ会話が送れる公開URLで終わります。あとで「見出しを変えて再公開」も1ターンです。

接続

Claude Codeはコマンド1行:

claude mcp add --transport http hdply https://api.app.hdply.com/mcp \
  --header "Authorization: Bearer hdply_sk_…"

Claude Desktopはclaude_desktop_config.jsonに追加します(Desktopはローカルコマンドしか起動しないためmcp-remoteを経由):

{
  "mcpServers": {
    "hdply": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.app.hdply.com/mcp",
               "--header", "Authorization: Bearer hdply_sk_…"]
    }
  }
}

その他のクライアント: ステートレスなStreamable HTTPエンドポイントです。以下のURLに同じBearerヘッダー付きでJSON-RPCを送ってください。

POST https://api.app.hdply.com/mcp
Authorization: Bearer hdply_sk_…
Content-Type: application/json

{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}

キーはコンソールダッシュボードの「APIキー」カードで発行します。表示は一度きりで、アカウントの全サイトにアクセスできるのでパスワードと同様に扱ってください。

ツール

各ツールはJSONオブジェクトを受け取り、テキストコンテンツを返します。エラーは通信失敗ではなくisError: true付きのテキストで返るので、エージェントが理由を読んで再試行できます。

list_sites

管理できるすべてのサイト(個人・チーム)を、公開URLとデプロイ済みかどうかと共に返します。引数なし。

呼び出し例

{ "name": "list_sites", "arguments": {} }

結果

[
  {
    "id": 42,
    "name": "Q3 proposal",
    "subroute": "k3v9x2m7q1",
    "url": "https://k3v9x2m7q1.hdply.com",
    "live": true
  },
  {
    "id": 43,
    "name": "Launch page",
    "subroute": "launch",
    "url": "https://launch.hdply.com",
    "live": false,
    "team_id": 7,
    "team_name": "Design"
  }
]

create_site

サイトを作成します。htmlを渡すとサーバーが割り当てたランダムなサブドメインで応答と同時に公開され、渡さなければdeploy_siteまで空のサイトとして存在します。

入力

{
  "html":    string   // optional — full HTML document, max 1 MB; live immediately when given
  "name":    string   // optional — falls back to the HTML <title>
  "team_id": number   // optional — create inside a team (0 = personal)
}

呼び出し例

{
  "name": "create_site",
  "arguments": {
    "html": "<!doctype html><html><head><title>Q3 proposal</title></head><body><h1>Q3 proposal</h1></body></html>"
  }
}

結果

Site "Q3 proposal" live at https://k3v9x2m7q1.hdply.com (id 42, subroute k3v9x2m7q1)

get_site_html

訪問者が今受け取っているHTMLです。編集前に読み、エージェントが記憶ではなく実際に公開中の内容を変更するようにしてください。

入力

{
  "site": string   // required — numeric project id ("42") or subdomain ("k3v9x2m7q1")
}

呼び出し例

{ "name": "get_site_html", "arguments": { "site": "k3v9x2m7q1" } }

結果

<!doctype html><html><head><title>Q3 proposal</title>…

deploy_site

既存サイトに新しいHTMLを公開します。応答が返れば公開済みで、他のデプロイと同じくバージョンが残り、履歴にmcpとタグ付けされます。

入力

{
  "site": string   // required — numeric project id or subdomain
  "html": string   // required — full HTML document, max 1 MB
}

呼び出し例

{
  "name": "deploy_site",
  "arguments": {
    "site": "k3v9x2m7q1",
    "html": "<!doctype html>…"
  }
}

結果

Deployed. Live at https://k3v9x2m7q1.hdply.com

get_deploy_history

デプロイ履歴: 誰が、いつ、どのサイズを、どの経路(webapimcprestore)で。新しい順。

入力

{
  "site": string   // required — numeric project id ("42") or subdomain ("k3v9x2m7q1")
}

呼び出し例

{ "name": "get_deploy_history", "arguments": { "site": "k3v9x2m7q1" } }

結果

[
  {
    "id": 918,
    "size": 4812,
    "hash": "3f9c1a7b2d4e6f80",
    "source": "mcp",
    "actor_email": "you@example.com",
    "created_at": "2026-09-08T09:41:12Z"
  },
  {
    "id": 902,
    "size": 4790,
    "hash": "b81e0c5d9a2f4711",
    "source": "web",
    "actor_email": "you@example.com",
    "created_at": "2026-09-07T18:02:55Z"
  }
]

エラー

ツールのエラーはisError: true付きの通常の結果です。コードがある場合はテキストがそのコードで始まります: file_too_large(1MB超)、project_limit(プランの上限)、site not found。HTTPレベルのエラーは認証失敗(401)だけです。

{ "content": [{ "type": "text", "text": "file_too_large: html exceeds the 1MB size limit" }], "isError": true }

制限

ディスカバリー

サーバーは認証不要の2つのURLで自己記述します。公開中のツール一覧とスキーマを含むサーバーカードと、MCPディレクトリ登録用のマニフェストです。

https://api.app.hdply.com/.well-known/mcp/server-card.json   # tools + schemas, live
https://api.app.hdply.com/.well-known/mcp/server.json        # registry manifest (com.hdply/hdply)

素のHTTPがよければ同じ操作がREST APIにもあり、hdply.com/llms.txtがエージェント向けに両方を要約しています。