Communitygithub.com

shifatmasud/framer-cli-mcp

透過托管的 framer-cli-mcp 遠端 MCP 伺服器操作 Framer 網站。當使用者想要設計、編輯、分析、發佈或讀取 Framer 專案資料,或要求授權 Framer 專案、建立代理工作階段、執行 Framer 代理程式碼、套用畫布變更或銷毀工作階段時使用。

framer-cli-mcp 是什麼?

這項技能讓 AI 代理能夠透過遠端 MCP 端點控制 Framer 專案,包裝官方的 @framer/agent CLI(v0.0.46),並在 Node 24 的 Docker 容器中無狀態執行。每個執行緒只能處理一個 Framer 專案,透過 framer_project_auth 工具以該專案的 API 金鑰進行授權,隨後建立一個可重複使用的工作階段(framer_session_new)來執行操作。支援多種工具:framer_exec 可執行任意 JavaScript 程式碼、framer_apply_changes 適合進行頁面與版面編輯、framer_read_project 用於查詢專案資料(字型、指南、螢幕截圖等),而 framer_setup_guide 則提供專屬的設定指南。安全性方面,它要求使用者先提供專案連結與 API 金鑰,每個執行緒僅授權一個專案,並在任務結束後透過 framer_session_destroy 銷毀工作階段。它託管在 Render Free 方案的新加坡節點,空閒時會休眠,重新啟動後檔案系統會重置,適合開發與測試用途。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shifatmasud/framer-cli-mcp/tree/HEAD/skill/framer-cli-mcp

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Framer CLI MCP

概述

透過託管的 framer-cli-mcp 遠端 MCP 端點控制 Framer 專案。它包裝了官方的 @framer/agent CLI(Node 24),並為每個執行緒使用該執行緒自己的 Framer 專案 API 金鑰進行授權。

端點:https://framer-cli-mcp.onrender.com/mcp 健康檢查:https://framer-cli-mcp.onrender.com/healthz 無需 Bearer Token。

關於此伺服器:官方 @framer/agent CLI v0.0.46(Node 24,Docker);無狀態的 Streamable HTTP MCP 端點;每個專案獨立 API 金鑰(無共用伺服器金鑰);CLI 作為無 Shell 的子程序以序列化方式執行;專案憑證存放在限制權限的暫存 /tmp 目錄中;Render Free 方案(新加坡節點,空閒時休眠,重新啟動後檔案系統重置);原始碼與技能託管於 https://github.com/shifatmasud/framer-cli-mcp;每次推送到 main 分支會自動部署至 Render。

每個專案的規則

每個執行緒僅處理一個 Framer 專案。

  1. 為每個專案建立一個新的執行緒。
  2. 向使用者索取該執行緒的專案連結:
    • 瀏覽器:複製已開啟專案的網址列。
    • 應用程式:在專案標籤頁上按右鍵,然後選擇「複製專案連結」。
  3. 向使用者索取該專案的 API 金鑰(位於網站設定 → 一般 → API 金鑰)。
  4. 使用該執行緒的 projectUrlOrId 和 projectApiKey 呼叫一次 framer_project_auth。
  5. 在相同執行緒中,後續所有任務都重複使用已建立的託管工作階段。

切勿在不同 Framer 專案之間重複使用同一個執行緒、工作階段或 API 金鑰。如果 Render 免費實例重新啟動,請在該執行緒中再次呼叫 framer_project_auth。

工作流程

  1. 在索取憑證之前,先呼叫 framer_setup_guide 並依照其每個專案的腳本操作。
  2. 使用 framer_project_auth 授權該執行緒的專案。
  3. 使用 framer_session_new 建立一個工作階段,並在整個執行緒中重複使用該工作階段 ID。
  4. 如需方法、查詢、DSL 格式及安全規則的詳細資訊,請參閱 Framer 工具參考。
  5. 如需部署、代管、環境變數及疑難排解的資訊,請參閱 代管參考。
  6. 僅在該執行緒的 Framer 工作完成後,才使用 framer_session_destroy 銷毀工作階段。

驗證範例

在每個執行緒中先呼叫 framer_project_auth。將佔位符替換為該執行緒的專案連結以及該專案在網站設定 → 一般 → API 金鑰中的金鑰。

{
  "projectUrlOrId": "https://framer.com/projects/PASTE_THIS_THREADS_PROJECT_ID--abc123",
  "projectApiKey": "PASTE_THIS_PROJECTS_API_KEY"
}

預期結果:託管的 CLI 會儲存該專案的憑證(相當於 project auth <projectUrlOrId> <apiKey>),因此後續在同一個執行緒中的呼叫可以省略 projectApiKey。然後建立可重複使用的工作階段:

{
  "projectUrlOrId": "https://framer.com/projects/PASTE_THIS_THREADS_PROJECT_ID--abc123"
}

工具選擇

  • framer_setup_guide:先閱讀伺服器的每個專案設定腳本。
  • framer_project_auth:在使用任何其他工具之前,先授權此執行緒的專案。
  • framer_session_new:建立此執行緒可重複使用的工作階段。
  • framer_exec:當沒有更精確的工具適用時,透過 Framer 代理執行 JavaScript。
  • framer_apply_changes:偏好用於頁面、版面、樣式、CMS 畫布、元件及設計 Token 的編輯。
  • framer_read_project:查詢字型、指南、螢幕截圖及其他支援的專案資料。
  • framer_session_destroy:完成工作後關閉此執行緒的工作階段。

安全性

  • 僅對使用者有權編輯的專案進行操作。
  • 在編輯前,偏好先進行讀取與審查。
  • 對於使用者未明確要求的破壞性或未發佈變更,需先確認。
  • 切勿在需要 API 金鑰的工具呼叫之外,要求或儲存 API 金鑰。

相關技能