インストール不要。2分以内に動きます。
cloud.anythingmcp.com で無料トライアルを開始し、Webflow をワンクリックで追加して、AI クライアント(Claude、ChatGPT、Copilot、Cursor)を生成された MCP エンドポイントに向けるだけ。Docker も git clone も、開発経験も不要です。
概要
AI に Webflow サイトの作業を任せます。サイト、ページと SEO 設定、CMS のコレクションとアイテム、フォームと送信内容、アセット、e コマースの商品と注文を読み取り、CMS アイテムの下書き作成と更新、そしてあなたの了承を得たうえでアイテムやサイト全体の公開ができます。サイトの API トークンで接続します。
こう聞いてみよう
Webflow のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
💡 インストール不要? cloud.anythingmcp.com を直接利用してください。 サインインし、Connectors → Webflow をクリック、認証情報を貼り付け、MCP API キーを発行すれば完了です。Docker も
git cloneもローカルサーバーも不要。
Webflow
AI に Webflow サイトの作業を任せます。サイト、ページと SEO 設定、CMS のコレクションとアイテム、フォームと送信内容、アセット、e コマースの商品と注文を読み取り、CMS アイテムの下書き作成と更新、そしてあなたの了承を得たうえでアイテムやサイト全体の公開ができます。サイトの API トークンで接続します。
セットアップ
- https://webflow.com/dashboard にサインインし、サイトにカーソルを合わせて歯車アイコンをクリックし、Site settings を開きます。サイト管理者の権限が必要です。
- 左のサイドバーで Apps & integrations を選び、ページ下部の API access までスクロールして Generate API token をクリックします。
- トークンに名前を付け(例: 「AnythingMCP」)、次のスコープを選びます。
sites:read,sites:write(サイトを公開する場合)pages:read,pages:write(ページ設定用)cms:read,cms:write(アイテムの作成、変更、公開、非公開化、削除用)forms:read,assets:readecommerce:read(e コマースサイトの場合のみ)
- Generate token をクリックし、すぐにトークンをコピーして、Bearer という語を付けずに
WEBFLOW_API_TOKENに貼り付けて、コネクターをインストールします。 - まず
webflow_get_token_infoを実行します。トークンのスコープと、アクセスできるサイト ID が表示されます。続いてwebflow_list_sitesでサイトの詳細を確認します。そのidが、他のツールで使うsite_idです。
スコープ: 作成済みのトークンに後からスコープを追加することはできません。ツールが 403 missing_scopes を返したら、不足しているスコープを付けて新しいトークンを作成し、WEBFLOW_API_TOKEN に貼り付け直してください。
読み取り専用の設定: :read のスコープだけを選び、webflow_publish_site、webflow_update_page_settings、webflow_create_item、webflow_update_item、webflow_publish_items、webflow_create_live_item、webflow_update_live_item をオフにします。
インストール時はオフ: CMS アイテムを完全に削除する webflow_delete_item と、公開中のアイテムをサイトから取り下げる webflow_unpublish_live_item(アイテムは下書きとして CMS に残ります)。AI にアイテムの削除や非公開化をさせる場合だけオンにしてください。
1 トークンにつき 1 サイト: サイトトークンが届くのは、それを作成したサイトだけです。1 つのサイトに作れるトークンは最大 5 個で、365 日使われないとトークンは失効します。複数のサイトを扱う場合は、サイトごとにコネクターをインストールしてください。
プラン: API は無料の Starter プランを含め、すべてのサイトプランで使えます。CMS 系のツールには CMS を含むプランが必要です。Starter には小規模な CMS(コレクション 20 個、アイテム 50 件)があり、Basic にはありません。Webflow は個別アイテムの公開を有料 CMS プランの機能としているため、Starter では webflow_publish_items、webflow_create_live_item、webflow_update_live_item、webflow_unpublish_live_item が拒否されることがあります。その場合はサイト全体を公開してください。商品と注文には e コマースのサイトプランが必要で、それ以外のサイトは 409 を返します。
ステージングとライブのコンテンツ: CMS の各アイテムには、ステージング版(編集者が見る内容)と、公開後はサイト上のライブ版があります。webflow_create_item と webflow_update_item が変更するのはステージングのコンテンツだけなので、公開サイトは何も変わりません。新しいアイテムは下書きになります。webflow_publish_items は選んだアイテムを公開し、webflow_publish_site はページとアイテムを含め、サイトのステージング上の変更をすべて公開します。webflow_create_live_item と webflow_update_live_item は公開サイトに直接書き込みます。公開中のアイテムを下書きにしてもサイトからは消えませんが、アーカイブすると次回のサイト公開時に消えます。webflow_list_items はステージングのアイテムを、webflow_list_live_items は訪問者に見えている内容を表示します。
公開は誰にでも見える: まず確認を。 サイトやアイテムの公開、ライブアイテムへの書き込み、ページ設定の変更(webflow_update_page_settings によるタイトル、スラッグ、SEO と Open Graph のテキスト)の前に、AI はサイト上で何が変わるかを正確に伝え、あなたの了承を待ちます。Webflow が受け付けるサイトの公開は、成功したもので 1 分に 1 回までです。
フィールドデータ: アイテムの内容は、表示名ではなく、webflow_get_collection で確認できる各フィールドのスラッグをキーにします。新しいアイテムには name と slug が必須です。リッチテキストは HTML、参照フィールドにはアイテム ID を指定し、新しい画像は公開 URL(最大 4 MB)を {"url": "https://..."} の形で渡します。アイテムのスラッグを変えると、古い URL へのリンクが切れます。
ロケール: ローカライズされたサイトでは、webflow_get_site でロケールの一覧を確認できます。指定しなければ、ツールはプライマリロケールを使います。
レート制限: トークンごとに、Starter と Basic のサイトプランでは 1 分あたり 60 リクエスト、CMS、e コマース、Business プランでは 120 リクエストです。超えると Webflow は Retry-After ヘッダー付きで 429 を返します(通常 60 秒)。少し待ってからやり直してください。一覧系のツールが 1 ページで返すのは最大 100 件です。
よくあるエラー: 400 は問題のあるフィールドを示します。不明なフィールドのスラッグ、形式の誤った値、name や slug の欠落などです。401 は、トークンが間違っているか、取り消されたか、失効したことを示します。Site settings → Apps & integrations → API access で新しいトークンを作成してください。403(missing_scopes または forbidden)は、トークンにスコープが不足している(そのスコープ付きで新しいトークンを作成してください)か、サイトプランにその機能が含まれていないことを示します。404 は ID の誤りか、別のサイトの ID です。409 は、リクエストがサイトの状態と矛盾していることを示します。たとえば e コマースのないサイトへの e コマースの呼び出しです。429 はレート制限です。Retry-After の時間だけ待ってください。
このコネクターは、コレクションとフィールドの作成や変更、ページのコンテンツ、コンポーネント、カスタムコードの編集、アセットのアップロードや削除、フォーム送信内容の変更、商品と注文の編集は行わず、Webhook、コメント、アナリティクスも扱いません。
前提条件: WEBFLOW_API_TOKEN
ローカルでコネクタをインストール
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
http://localhost:3000/connectors/store を開き、 Webflow を選択し、前提条件に記載された環境変数を入力します。
利用可能なツール
| Tool | What it does |
|---|---|
webflow_get_token_info | Check the connected token: its scopes (comma-separated), the site ids it is authorized for, its rate limit per minute, grant type, and when… |
webflow_list_sites | List the sites the token can reach: id, displayName, shortName, workspaceId, lastPublished, lastUpdated, timeZone, customDomains and locales |
webflow_get_site | Read one site: displayName, shortName, lastPublished, lastUpdated, timeZone, customDomains (id and url) and locales (primary and secondary… |
webflow_list_custom_domains | List the site's custom domains with id, url and lastPublished |
webflow_publish_site | Publish the site (or one page with page_id) to its custom domains and/or the webflow.io subdomain: every staged change, pages and CMS… |
webflow_list_pages | List the site's pages: id, title, slug, parentId, collectionId (set for CMS template pages), publishedPath, draft, archived, lastUpdated… |
webflow_get_page | Read one page's settings: title, slug, publishedPath, draft, archived, collectionId, lastUpdated, seo (title, description) and openGraph… |
webflow_update_page_settings | Change a page's title, slug, SEO title and description, or Open Graph title and description, optionally for one locale |
webflow_list_collections | List the site's CMS collections: id, displayName, singularName, slug, createdOn and lastUpdated |
webflow_get_collection | Read a collection's schema: displayName, singularName, slug and fields, each with id, slug, displayName, type (PlainText, RichText, Image… |
webflow_list_items | List a collection's staged items (drafts and published ones, as editors see them): id, fieldData, isDraft, isArchived, lastPublished (null… |
webflow_get_item | Read one staged item: id, fieldData (keyed by field slug), isDraft, isArchived, lastPublished, lastUpdated, createdOn and cmsLocaleId… |
webflow_create_item | Create a staged CMS item; nothing appears on the public site |
webflow_update_item | Change a staged item: only the fields in field_data change |
webflow_delete_item | Delete an item from the CMS for good (in the primary locale, or in the given locales) |
webflow_publish_items | Publish staged items to the live site without publishing the rest of it: their current staged content becomes public and drafts stop being… |
webflow_list_live_items | List a collection's published items as visitors see them: id, fieldData, lastPublished, lastUpdated, createdOn and cmsLocaleId |
webflow_get_live_item | Read the published version of one item: id, fieldData, lastPublished, lastUpdated and cmsLocaleId |
webflow_create_live_item | Create an item and publish it on the live website at once, skipping the draft stage |
webflow_update_live_item | Change a published item and push the change to the live website immediately: only the fields in field_data change |
webflow_unpublish_live_item | Take a published item off the live website (primary locale, or the given locales) |
webflow_list_forms | List the site's forms: id, displayName, pageId, pageName, formElementId, fields (name and type per field), createdOn and lastUpdated |
webflow_get_form | Read one form's schema: displayName, the page it sits on, formElementId, its fields with their types, and responseSettings (notification… |
webflow_list_form_submissions | List the site's form submissions: id, displayName (the form name), dateSubmitted, formResponse (the submitted values by field name) and… |
webflow_list_form_submissions_by_form | List the submissions of one form by its form id: id, dateSubmitted, formResponse (the submitted values by field name) and localeId |
webflow_get_form_submission | Read one form submission: form name, dateSubmitted, localeId and formResponse with every submitted value by field name |
webflow_list_assets | List the files uploaded to the site: id, displayName, originalFileName, contentType, size in bytes, hostedUrl, altText, folderId, variants… |
webflow_get_asset | Read one asset: displayName, originalFileName, contentType, size, hostedUrl (the public file URL), altText, variants and dates |
webflow_list_products | List e-commerce products, each with its product fieldData (name, slug, description, ...) and its SKUs (variants with price, SKU code and… |
webflow_get_product | Read one e-commerce product with all its SKUs: the product's fieldData and, per SKU, price, compare-at price, SKU code and option values |
webflow_list_orders | List e-commerce orders: orderId, status, acceptedOn, fulfilledOn, customerInfo, shipping and billing address, purchasedItems, totals… |
webflow_get_order | Read one e-commerce order: status, dates, customerInfo, addresses, purchasedItems, totals with taxes and shipping, payment details… |
プロンプトの例
- 「Webflow サイトのページのうち、SEO タイトルまたはメタディスクリプションが設定されていないものを一覧にしてください。」
- 「CMS のブログ記事のうち、まだ下書きのものと、それぞれの最終更新日を教えてください。」
- 「今週のお問い合わせフォームの送信内容を、名前、会社名、メッセージ付きで見せてください。」
- 「Blog コレクションに「春の製品アップデート」というタイトルで、短い要約付きの新しい記事を下書きとして作成してください。公開はしないでください。」
次のステップ
このガイドは役に立ちましたか?