SocialHub.AI

MCP 整合指南

模型上下文協定 (Model Context Protocol (MCP)) 是一個開放標準,允許 AI 助理直接呼叫外部工具。 SocialHub 實作了一個 MCP 伺服器,因此您可以從 Claude Desktop、Cursor 或任何 MCP 相容的用戶端管理商店、會員、優惠券和積分。

無需編寫程式碼,只需向 AI 發出以下指令:「列出所有活躍店鋪」 或 「獎勵會員 m_abc123 500 積分」,AI 助理就會代表您呼叫 SocialHub MCP 工具。

連接配置

SocialHub 公開了一個 Streamable HTTP MCP 端點。您需要以下兩項資訊:

端點 URLhttps://flash.socialhub.ai/api/mcp
API 金鑰頭Authorization: Bearer fl_live_...

在 /flash/account/api-keys 建立 API 金鑰。確保金鑰具有您計劃使用的工具所需的權限範圍。

Claude Desktop 配置

將以下內容新增至您的 Claude Desktop MCP 設定 (claude_desktop_config.json):

{
  "mcpServers": {
    "flash": {
      "type": "http",
      "url": "https://flash.socialhub.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer fl_live_your_key_here"
      }
    }
  }
}

Cursor 配置

在 Cursor 中,前往 設定 > MCP 並新增伺服器:

{
  "mcpServers": {
    "flash": {
      "type": "http",
      "url": "https://flash.socialhub.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer fl_live_your_key_here"
      }
    }
  }
}

type 欄位也接受 streamable-http 作為別名。這些桌面用戶端會將金鑰儲存在其設定檔中——請將其視為機密訊息,並儘可能使用環境變數形式(如下所示),以避免將明文金鑰儲存在磁碟上。

從 Claude Code 連接

使用 claude mcp add 指令將 SocialHub 新增為 HTTP MCP 伺服器。請先將金鑰匯出為環境變量,以確保明文金鑰不會出現在設定檔或 shell 歷史記錄中:

export FLASH_API_KEY="fl_live_your_key_here"

claude mcp add --transport http flash \
  https://flash.socialhub.ai/api/mcp \
  --header "Authorization: Bearer ${FLASH_API_KEY}"

或在儲存庫根目錄提交項目範圍的 .mcp.json。使用 ${FLASH_API_KEY} 引用環境變數 — 切勿貼上明文金鑰:

{
  "mcpServers": {
    "flash": {
      "type": "http",
      "url": "https://flash.socialhub.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer ${FLASH_API_KEY}"
      }
    }
  }
}

連線後進行自我檢測:

  • 運行 claude mcp list 並確認 flash 顯示為已連線。
  • 請助手「列出可用的 SocialHub 工具」 — 您應該只看到您的金鑰範圍允許的工具。
  • 伺服器金鑰必須恰好是flash;確保在啟動 Claude Code 的 shell 中匯出 FLASH_API_KEY。

問題:無效或已撤銷的金鑰顯示為連線失敗,而不是驗證提示。 SocialHub 使用不記名令牌身份驗證,無 OAuth 回退,因此,如果伺服器顯示失敗/已斷開連接,請在偵錯其他內容之前重新檢查鍵值並確保其具有所需的範圍。

可用工具 (75)

cwm_get_forecast_capabilities

讀 TimesFM 2.5 總體趨勢/分位數準備與租戶私有融合 7/30/90 天準備。等待培訓/驗證是明確的。需要 predictions:read.

參數:
cwm_predict_next_behaviors

一項消費者預測:最終下一事件分佈/排名+ CWM + TimesFM 7/30/90d purchaseWindows首選已獲租戶事件模型;備選方案為一個內部公開先驗參考。不包含個人專家輸出。事件機率未經校準;購買窗口。 null 直至經過訓練/驗證。需要 predictions:read; metrics:read 此外,也開啟了購買視窗。

參數: member_id*
cwm_forecast_aggregate_trend

使用 TimesFM 2.5 預測品牌/類別每日指標:點 + q10..q90。缺少歷史記錄將傳回 null。聚合分位數未經校準;永遠無法使用個人區間。需要讀取 predictions:read 和 metrics:read。

參數: metric?, horizon_days?, history_days?, category?
cwm_predict_purchase_windows

租戶私人 CWM + TimesFM 7/30/90天時的購買機率(0-1)。訓練及驗證前為空;無預設備選方案。需要 predictions:read AND metrics:read.

參數: member_id
list_metrics

列出此團隊可從受管語意層(鍵、標籤、單位、認證、類別)取得的指標。請先呼叫此方法以發現有效的指標鍵。需要 metrics:read 權限。

參數: category?
describe_metric

取得單一指標的完整規格:權威定義、單位、認證、維度、可篩選欄位、可調參數和使用指南。需要 metrics:read.

參數: metric
query_metric

執行受控指標查詢,並傳回包含權威定義的數值。選擇指標鍵以及可選的維度、篩選器、時間範圍、粒度和週期性比較—無需使用 SQL。需要 metrics:read 權限。

參數: metric, dimensions?, filters?, timeRange?, grain?, compare?, params?
breakdown_metric

在固定的近期視窗內,按單一維度細分單一指標,並使用易於理解的標籤(商店/層級/通路名稱)。需要 metrics:read 權限。

參數: metric, dimension, days, state?
ask_metrics

透過選擇正確的受管指標、取得指標並分解主要指標來回答自然語言問題。用於開放式診斷。需要 metrics:read 權限。

參數: question, categories?
list_stores

列出目前團隊的所有門市。支援可選的狀態篩選、搜尋和分頁功能。

參數: status?, search?, limit?, offset?
get_store

透過門市 ID 取得特定門市的詳細信息

參數: store_id
list_members

列出會員計劃成員。支援計劃篩選和分頁。

參數: programId?, limit?, offset?, status?
get_member

透過 ID 取得特定會員的詳細資訊。傳回已解密的個人識別資訊 (PII) 欄位。

參數: member_id
list_coupon_pools

列出優惠券池。支援狀態和類型篩選。

參數: status?, coupon_type?, limit?, offset?
get_dashboard_stats

營運儀錶板快照(捕獲量、掃描量、捕獲率、優惠券、門市、套餐)。此指標並非受監管指標-請使用指標工具來取得權威的業務指標。

參數: (none)
earn_points

向會員獎勵忠誠度積分。返回交易 ID 和新餘額。

參數: member_id, amount, description?
redeem_points

從會員帳戶扣除積分(先進先出)。

參數: member_id, amount, reason
get_points_balance

取得會員目前的積分餘額和近期交易記錄。

參數: member_id, limit?
get_member_coupons

取得會員可用的(未兌換、未過期的)優惠券。

參數: member_id
get_member_tier

取得會員的當前等級、升級到下一等級的要求以及所有等級。

參數: member_id
get_member_receipts

取得會員的收據提交歷史記錄,包括 OCR 狀態和積分獎勵。

參數: member_id, limit?
redeem_points_for_coupon

從指定池中兌換忠誠度積分以獲得優惠券(原子性:積分 + 優惠券,或兩者都不兌換)。

參數: member_id, pool_id, points_cost
issue_coupon

從優惠券池發放優惠券給會員(僅限單一會員;大量使用者需透過 So 確認流程)。需要 coupons:write 權限。

參數: member_id, pool_id, run_id?
check_email_frequency

檢查行銷郵件是否可以在規定的發送頻率限制內(每天1封、每週2封、每月4封)發送到指定地址。

參數: email
list_ambassador_candidates

列出忠誠度計畫的評分大使候選人(專業版)。精簡版為空。

參數: band?, status?, level?, sort_by?, limit?, offset?
get_ambassador_metrics

取得大使投資報酬率報告:三個子目標、第二個月留存率以及 90 天的核准節點。

參數: since_days?, assumed_paid_cac_usd?
issue_ambassador_code

核發或升級會員的個人大使聯盟代碼。回傳代碼string。

參數: member_id, single_use?, max_redemptions?, min_order_amount?
get_tracking_stats

取得頁面存取/行為分析:概覽、熱門頁面、裝置細分或流量來源。

參數: metric?, period?, start?, end?, campaign?, limit?
get_member_profile

會員的綜合資料(可訪問性、同意/CCPA、忠誠度、商務/類別/管道/互動匯總、已聲明的偏好、標籤、粗略地理位置、年齡層)。已隱去個人識別資訊-不包含姓名或聯絡方式。需要 members:read 權限。

參數: member_id
get_member_timeline

收集會員近期行為時間軸(訪問記錄、積分、優惠券、電子郵件、收據)及摘要,以製定個人化操作。傳回已解密的個人識別資訊。需要 members:behavior:讀。

參數: member_id, limit?
list_segments

列出團隊的受眾群體(名稱、狀態、快取成員數)。必要 segments:read.

參數: status?, limit?, offset?
create_segment

根據結構化條件(而非 SQL)建立受眾細分;拒絕重複項。需要 segments:write 權限以及使用者擁有的金鑰。

參數: name, conditions, description?
list_automations

列出團隊的自動化流程(事件觸發的行銷活動)及其狀態。需要 automations:read 權限。

參數: status?
pause_automation

按活動 ID 暫停正在運行的自動化流程(冪等)。需要 automations:write 權限。

參數: campaign_id
list_campaign_templates

列出此團隊可用的行銷活動範本(官方範本和已儲存範本),以查找 create_campaign_draft 的 template_id。需要 campaigns:read 權限。

參數: limit?
list_campaigns

列出團隊最近的活動(ID、標題、狀態),以查找 source_campaign_id 從中克隆草稿。需要 campaigns:read.

參數: limit?, status?
create_campaign_draft

從範本或先前的活動建立活動草稿(絕不發送-需要人工審核)。需要 campaigns:write-draft 模組。

參數: title, template_id?, source_campaign_id?, segment_id?, merge_context?
check_member_reach

檢查成員是否在最近的某個時間段內已在頻道中被聯繫過(任何系統)— 避免過度聯繫。需要 members:behavior:read 權限。

參數: member_id, channel, days?
create_member

建立會員,或透過externalId/email冪等解析現有會員。 MCP不啟用行銷許可。需要members:write權限。

參數: email, fullName, phone?, externalId?, birthMonth?, birthDay?
update_member

更新會員的個人資料/識別資訊(電子郵件、電話、 fullName, externalId(狀態)。團隊所有權強制執行。需要 members:write.

參數: member_id, email?, fullName?, phone?, externalId?, status?
upsert_store

為該團隊建立一個商店,或更新與 externalId 相符的現有商店。需要 stores:write 權限。

參數: name, externalId?, address?, city?, state?, country?, timezone?
ingest_order

記錄採購訂單並自動獎勵積分(會員已解決) memberId > externalId > 電子郵件)。需要 orders:write.

參數: externalOrderId, customer, totalAmount, financialStatus?, currency?, orderName?, storeId?
reverse_points

從會員處追回積分,並與原始交易 ID 關聯 — 用於 POS/ERP 退款或作廢。需要 points:write 權限。

參數: member_id, reversesTransactionId, amount, reason
list_tags

列出團隊的標籤定義(鍵、名稱、生命週期、類別、覆蓋範圍)。在讀取/指派成員標籤之前,請先尋找 tag_key。需要 tags:read 權限。

參數: status?, group?, limit?, offset?
get_member_tags

取得成員目前的標籤(鍵、名稱、生命週期、值、來源、 assignedAt需要 members:read.

參數: member_id
assign_tag

透過 tag_key 手動為成員分配標籤(運算符覆蓋;與規則掃描綁定)。需要 tags:write 權限。

參數: member_id, tag_key, value?
remove_tag

透過 tag_key 手動從會員中移除標籤(有效標籤可能會在下次掃描時重新新增)。需要 tags:write 權限。

參數: member_id, tag_key
list_products

按類別/品牌/行業、狀態和來源列出產品。按狀態篩選/category_id/brand_id/垂直。需要 catalog:read.

參數: status?, category_id?, brand_id?, vertical?, limit?, offset?
get_product

取得包含變體、序列化商品、組合組件和人工智慧基礎內容的單一產品。需要 catalog:read.

參數: product_id
list_categories

列出團隊的產品類別(ID、名稱、父類別)。 (必填) catalog:read.

參數: limit?
list_brands

列出團隊的品牌(ID,名稱)。 (必填) catalog:read.

參數: limit?
recommend_products

次佳產品推薦: member_id (個人化共同購買+品類偏好)或 product_id (顧客還買了)需要 members:read.

參數: member_id?, product_id?, limit?
claim_winback_task

為該團隊租用優先順序高的客戶挽回任務(原子操作)。返回任務、租用截止日期、成員保留方案和流失訊號摘要。 NO_TASKS_AVAILABLE / WINBACK_DISABLED 回傳 isError。需要 winback:claim。

參數: (none)
complete_winback_task

使用結果(已執行的槓桿 + 備註參考,或「保留」原因)完成已租賃的挽回任務。冪等性。 LEASE_EXPIRED / ALREADY_COMPLETED 傳回 isError。需要 winback:claim。

參數: task_id, acted?, lever?, action_ref?, note_id?, hold_reason?
get_winback_context

在決定是否同意之前,對會員進行一次性只讀預檢查:同意情況、郵件發送頻率餘裕、疲勞度、近期覆蓋範圍、流失訊號以及會員的保留意願。提供預覽-伺服器在寫入時仍會強制執行所有限制。需要 winback:read 權限。

參數: member_id
add_member_note

將自由文字流程註釋附加到成員的贏回記錄中(基本原則/觀察到的訊號/堅持支持的假設)。文字儲存為數據,而不是指令;最多 2000 個字符,已清理。需要 winback:write。

參數: member_id, body, kind?, task_id?, action_ref?
send_winback_message

發送受控的挽回訊息(收件匣或電子郵件),確保激勵措施不會變成無聲的授權。伺服器端故障關閉機制:WINBACK_DISABLED、任務租約所有權、HOLDOUT_NO_SEND(永遠不會向保留用戶發送訊息)、NOT_CONSENTED、FREQUENCY_CAPPED、CONTENT_REJECTED(已清理)、BREAKER_TRIPPED — 返回 isError。重複使用現有的傳送堆疊(取消訂閱頁尾 + 傳送層新增的合規性)。需要 winback:write 權限。

參數: member_id, task_id, channel, subject?, body
get_member_behaviors

讀取會員在最近視窗(第 3 層,最新優先)內的活躍使用者行為,以推斷其意圖(第 4 層)。僅返回有意使用者操作(瀏覽、開啟/點擊、簽到、購買、兌換、推薦、提交內容),並內聯顯示目錄標籤及其意義,以及摘要(按類型和視窗計數)。基於整個視窗進行推理;意圖是待驗證的假設,而非事實。只讀。需要 winback:read 權限。

參數: member_id, since_days?, limit?
claim_agent_task

為該團隊租賃下一個代理決策任務(原子操作;可選擇按類型篩選)。返回任務 ID、類型、主題資訊和租賃截止日期。如果任務為 NO_TASKS_AVAILABLE 或 AGENT_TASKS_DISABLED,則傳回 isError 錯誤。需要 agent_tasks:claim。

參數: kind?
get_agent_task

在做出決策之前,先讀取一個代理決策任務的事實(類型、主題、標記原因、狀態)。 AGENT_TASK_NOT_FOUND 傳回 isError。需要 agent_tasks:read。

參數: taskId
complete_agent_task

使用決策完成租賃任務,並透過現有的冪等寫入應用其效果。 fraud_household_referral:阻止(追回雙方權限)/允許(忽略標記)/升級(交由人工處理)。 ALREADY_COMPLETED / NOT_LEASE_OWNER / LEASE_EXPIRED 傳回 isError。需要 agent_tasks:claim。

參數: taskId, decision, reason?
list_objects

列出此團隊可以進行推理的業務對象:核心平台物件(會員、訂單、商店、優惠券、行銷活動、產品、細分、標籤)以及此團隊的MCP可見自訂物件——鍵、標籤和權威的單行含義。首先呼叫以發現有效的object鍵。需要 introspection:read 權限。

參數: (none)
describe_object

描述受管註冊表中的一個業務 object:權威含義加上屬性,這些屬性分為事實(列支援)、衍生(具有時效性的指標/標籤/匯總引用-絕不重新派生相同指標)和自訂(此團隊的自訂欄位)。 PII 屬性僅傳回元數據,不傳回值。 fields=summary(預設)或 full。需要 introspection:read 權限。

參數: object, fields?
list_actions

列出受控代理操作(代理可以執行的操作):目標 object、副作用、齒輪(自動/審核/禁止)、伺服器端前提條件鍵、值上限和可逆性-在提出寫入請求前進行自我檢測。可選擇按 object 進行篩選。需要 introspection:read 權限。

參數: object?
list_stamp_programs

列出該隊的集郵卡(eStamp程序資訊:ID、姓名、完成所需印章數、獎勵類型(優惠券/積分/手動)、自動重置和狀態。請先致電以獲取資訊。 program_id需要 stamp:read.

參數: (none)
get_member_stamp_cards

取得會員的有效集章卡:項目名稱、目前集章數、所需集章數、已完成集章數和獎勵。需要 stamp:read 權限。

參數: member_id
grant_stamps

授予參與集點活動的會員(例如,到店消費)集點。使用 `idempotency_key` 實現冪等性;集點完成後,獎勵(優惠券/點數)將自動發放。每次調用獎勵數量有上限。需要 `stamp:write` 權限。

參數: program_id, member_id, amount?, reason?, idempotency_key?
get_member_points

會員積分:可用餘額、累積積分、兌換次數、目前等級、即將到期批次。會員專屬密鑰 → 個人積分(省略) member_id);團隊密鑰→透過 member_id需要 loyalty:self:讀。

參數: member_id?
get_member_points_history

會員近期積分交易記錄(已賺取/已兌換/已調整),依時間倒序排列。會員專屬金鑰 → 個人歷史記錄;團隊金鑰 → 通行證 member_id需要 loyalty:self:讀。

參數: member_id?
get_member_rewards

會員可使用積分兌換的獎勵-包含積分兌換價格的獎勵目錄,並依據會員餘額的負擔能力進行標記。會員專屬密鑰→自用;團隊密鑰→通行。 member_id需要 loyalty:self:讀。

參數: member_id?
get_loyalty_program_rules

會員忠誠計畫運作方式——積分賺取比例、迎新獎勵、積分價值、如何加入——以及品牌官方常見問題解答。公開資訊。會員專屬密鑰無須爭辯。要求 loyalty:self:讀。

參數: member_id?
list_synthetic_scenarios

列出合成面板模擬場景,並註明每個場景的真實可用性邊界、置信上限和輸入欄位。請先調用工具選擇類型。需要 metrics:read 權限。

參數: (none)
get_synthetic_calibration

品牌合成面板校準(過去合成預測與實際狀況的命中率;null,直到有回測資料為止)。需要 metrics:read 權限。

參數: (none)
get_synthetic_report

閱讀這份凍結的誠實報告,了解合成面板運行情況——方向性解讀、置信上限、抑制標誌、主題——或 blockReason 如果尚未準備就緒。需要 metrics:read.

參數: run_id
run_synthetic_panel

運行合成面板:對特定群體的去識別化數位孿生體進行刺激反應,產生客觀的趨勢性報告(而非絕對真實數據)。傳回一個用於輪詢的 run_id。每日運行次數上限為 50 個孿生體。需要 synthetic:write 模組。

參數: segment_id, kind, fields

安全與隱私

MCP介面是AI便捷層,而非批次管理工具。以下幾點要注意:

  • 伺服器是邊界,不是聊天。 寫入範圍和由伺服器端防護來限制:每個呼叫值上限加上每個鍵入速率限制,兩者都強制失敗關閉。你的人工智慧客戶端要求的任何聊天確認都是禮貌的——伺服器實際上是阻止洩漏的密鑰或從消耗點提示注入的模型。
  • 某些讀取工具會傳回會員的個人識別資訊 (PII)。 諸如 get_member 和 list_members 之類的工具可以將解密後的姓名和電子郵件地址傳回您的 AI 用戶端。請妥善處理這些數據,並優先使用最小權限金鑰。
  • 永遠不要提交明文金鑰。 始終在已簽入的 .mcp.json 中引用 ${FLASH_API_KEY},而不是字面密鑰。
  • 使用最小權限、唯讀鍵。 建立一個僅包含所需工具的鍵。如果某個鍵缺少工具的權限範圍,則該工具將被隱藏—它永遠不會出現在清單中。

數據來自受管語意層

AI 報告的每個指標——GMV、活躍會員、兌換率等等——都經過 SocialHub 的受管指標層,該層為每個指標持有唯一的權威定義(和認證)。 list_metrics、describe_metric、query_metric、breakdown_metric 和 ask_metrics 工具在該管控下選擇指標鍵和維度-AI 從不編寫 SQL。因此,您獲得的數據與您的儀表板數據一致,而不是臨時產生的、容易偏差的聚合數據。

對話範例

你: “列出所有活躍商店”
Claude: 呼叫狀態為“active”的 list_stores
Claude: “您有 3 家活躍商店:市中心旗艦店、購物中心 Kiosk 和機場快閃店。”