LitoForm
整合功能

MCP Server 整合

透過 MCP (Model Context Protocol) 讓 AI 助手(如 Claude Desktop)直接管理與分析你的問卷

LitoForm 內建 MCP (Model Context Protocol) Server,讓你可以透過 AI 助手(如 Claude Desktop、Cursor 等)直接建立問卷、管理發佈狀態與查看分析數據。

運作原理

AI Agent
    ↓ MCP Streamable HTTP
LitoForm MCP endpoint
    ↓ PAT 驗證 → Scope 檢查
問卷資料庫
  • 傳輸協定:MCP Streamable HTTP(透過標準 HTTP POST 通訊)
  • 認證方式:Personal Access Token (PAT)
  • 安全模型:每個 Token 只能存取自己帳號的問卷
  • ChatGPT App:支援 MCP Apps 內嵌 UI resource,讓 ChatGPT 可在 iframe 中顯示問卷狀態與摘要

快速開始

1. 建立 API Token

前往 Dashboard → 帳號設定,在「API Token」區塊點擊 建立 Token。

設定以下選項:

欄位說明
名稱為 Token 取個名字,例如「OpenLito」
權限勾選需要的權限(見下方說明)
過期時間建議設定 90 天或 365 天,也可選擇永不過期

Token 只會在建立時顯示一次,請立即複製並妥善保存。關閉後將無法再次查看。

2. 設定 Claude Desktop

編輯 Claude Desktop 的 MCP 設定檔:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

加入以下設定:

{
  "mcpServers": {
    "litoform": {
      "type": "streamableHttp",
      "url": "https://litoform.app/mcp",
      "headers": {
        "Authorization": "Bearer ss_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

將 url 替換為你的 LitoForm 網址,Bearer 後方替換為你的 Token。

3. 設定 ChatGPT Developer Mode

若要在 ChatGPT 中使用內嵌 UI App,請在 ChatGPT Developer Mode 新增 MCP server:

  • URL:https://你的網域/mcp
  • Authorization header:Bearer ss_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • 建議 Scope:勾選 surveys:read、surveys:write、analytics:read

ChatGPT 會透過同一個 /mcp endpoint 讀取 ui://widget/simple-survey.html,並在 iframe 中顯示問卷資訊、回應摘要與分析摘要。內嵌 UI 使用 MCP Apps 標準 ui/* bridge 呼叫既有 tools,不會接收或顯示 PAT。

目前 ChatGPT 連線採開發版 PAT 模式。若要正式提交 ChatGPT App,需另外規劃 OAuth 2.1、PKCE 與 Dynamic Client Registration。

4. 開始使用

重啟 Claude Desktop 後,你就可以用自然語言操作問卷:

「幫我建立一份顧客滿意度問卷」

「查看我最新問卷的回應統計」

「把『產品回饋調查』發佈上線」

推薦安裝 Litofrom 的 Agent Skills 技能包,幫你快速建立專業問卷。

權限 (Scopes)

Token 的權限決定了 AI 助手可以執行哪些操作:

Scope說明可使用的工具
surveys:read讀取問卷get_survey
surveys:write管理問卷create_survey、set_survey_publish_state
analytics:read讀取分析get_survey_basic_analytics、get_survey_response_summary

建議授予所有三個權限,讓 AI 助手能完整協助你管理問卷。若只需查詢用途,可僅授予 surveys:read 和 analytics:read。

ChatGPT 內嵌 UI

ChatGPT MCP App 使用以下 Apps metadata:

項目值
UI Resource URIui://widget/simple-survey.html
MIME typetext/html;profile=mcp-app
Tool metadata_meta.ui.resourceUri
Compatibility alias_meta["openai/outputTemplate"]

UI v1 提供:

  • 問卷 ID 輸入與 get_survey 查詢
  • 發佈 / 取消發佈狀態切換
  • get_survey_response_summary 回應摘要
  • get_survey_basic_analytics 聚合分析摘要

UI v1 不提供 raw response rows、CSV 匯出、Token 管理或完整問卷編輯器。需要匯出或大量資料操作時,請回到 LitoForm Dashboard。

可用工具

create_survey

建立一份新問卷。

參數類型必填說明
titlestring是問卷標題
slugstring否自訂網址(僅限英文、數字與連字號,專業版功能)
contentRawstring否問卷 Markdown 內容(省略則使用預設範本)
settingsobject否問卷設定 JSON

需要 Scope:surveys:write

回傳範例:

{
  "id": "cmn31l4ln0026rumcm4evrq5p",
  "slug": "68269f04",
  "title": "顧客滿意度調查",
  "createdAt": "2026-03-23T10:27:47.724Z"
}

get_survey

取得一份問卷的詳細資訊,包含標題、內容、發佈狀態等。

參數類型必填說明
surveyIdstring是問卷 ID

需要 Scope:surveys:read

回傳範例:

{
  "id": "cmn31l4ln0026rumcm4evrq5p",
  "title": "顧客滿意度調查",
  "slug": "68269f04",
  "contentRaw": "---\ntitle: 顧客滿意度調查\nlayout: \"one-per-page\"\n---\n\n### Q1. [Single] 整體滿意度?\n- ( ) 非常滿意\n- ( ) 滿意\n- ( ) 普通\n- ( ) 不滿意\n",
  "settings": { "language": "zh-TW" },
  "isPublished": false,
  "publishedAt": null,
  "createdAt": "2026-03-23T10:27:47.724Z",
  "updatedAt": "2026-03-23T10:27:47.724Z"
}

set_survey_publish_state

設定問卷的發佈或取消發佈狀態。

參數類型必填說明
surveyIdstring是問卷 ID
publishedboolean是true 發佈 / false 取消發佈

需要 Scope:surveys:write

回傳範例:

{
  "surveyId": "cmn31l4ln0026rumcm4evrq5p",
  "isPublished": true
}

get_survey_basic_analytics

取得問卷的統計分析摘要,包含回應總數、趨勢資料與題目分布。

參數類型必填說明
surveyIdstring是問卷 ID

需要 Scope:analytics:read

trendData(流量與轉換率趨勢)為專業版功能。免費方案使用者會收到空陣列,並附帶 _restricted 欄位說明。

回傳範例(專業版):

{
  "surveyId": "cmn31l4ln0026rumcm4evrq5p",
  "responseCount": 128,
  "firstResponseAt": "2026-03-01T08:15:00.000Z",
  "trendData": [
    { "date": "2026-03-20", "count": 12 },
    { "date": "2026-03-21", "count": 18 },
    { "date": "2026-03-22", "count": 9 }
  ],
  "questionDistributions": {
    "Q1": {
      "非常滿意": 45,
      "滿意": 52,
      "普通": 22,
      "不滿意": 9
    }
  }
}

回傳範例(免費方案):

{
  "surveyId": "cmn31l4ln0026rumcm4evrq5p",
  "responseCount": 128,
  "firstResponseAt": "2026-03-01T08:15:00.000Z",
  "trendData": [],
  "questionDistributions": {
    "Q1": {
      "非常滿意": 45,
      "滿意": 52,
      "普通": 22,
      "不滿意": 9
    }
  },
  "_restricted": {
    "trendData": "趨勢分析為專業版功能,請升級方案"
  }
}

get_survey_response_summary

取得問卷的回應概覽,包含完成度、近 7 天與近 30 天回應數。

參數類型必填說明
surveyIdstring是問卷 ID

需要 Scope:analytics:read

回傳範例:

{
  "surveyId": "cmn31l4ln0026rumcm4evrq5p",
  "totalResponses": 128,
  "completedResponses": 115,
  "incompleteResponses": 13,
  "latestResponseAt": "2026-03-22T14:30:00.000Z",
  "last7DaysResponses": 39,
  "last30DaysResponses": 128
}

Token 格式

Token 格式為 ss_live_ 加上 32 個隨機字元:

ss_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345
  • Token 以 SHA-256 雜湊後儲存,伺服器不保存明文
  • 建立後僅顯示一次,遺失需重新建立
  • 可在帳號設定頁面隨時撤銷

安全性

  • 資料隔離:每個 Token 只能存取所屬帳號的問卷,無法讀寫其他使用者的資料
  • Scope 控制:Token 的權限範圍在建立時決定,無法事後擴充
  • 過期機制:可設定 Token 有效期限,過期後自動失效
  • 即時撤銷:在帳號設定中可立即撤銷任何 Token
  • 稽核記錄:所有透過 MCP 執行的操作都會寫入稽核日誌

錯誤代碼

當操作失敗時,回應會包含以下錯誤代碼:

代碼說明
SCOPE_INSUFFICIENTToken 缺少該操作所需的權限
SURVEY_NOT_FOUND找不到問卷(或無權存取)
QUOTA_EXCEEDED已達方案的問卷數量上限
PERMISSION_DENIED此功能需要升級方案
INVALID_INPUT輸入參數不合法
INTERNAL_ERROR伺服器內部錯誤

常見問題

Q: 可以建立多個 Token 嗎?

可以。你可以為不同的 AI 助手或用途建立各自的 Token,方便獨立管理與撤銷。

Q: Token 遺失了怎麼辦?

Token 僅在建立時顯示一次,無法找回。請撤銷遺失的 Token 並重新建立一個。

Q: 支援哪些 MCP 客戶端?

任何支援 MCP Streamable HTTP transport 的客戶端都可以使用,包括:

  • Claude Desktop
  • Cursor
  • 其他支援 MCP 協定的 AI 工具

On this page

MCP Server 整合