SocialHub.AI

Panduan Integrasi MCP

Protokol Konteks Model (MCP) ialah standard terbuka yang membolehkan pembantu AI menghubungi alat luaran secara langsung. SocialHub melaksanakan pelayan MCP supaya anda boleh mengurus kedai, ahli, kupon dan mata dari dalam Claude Desktop, Cursor atau mana-mana klien yang serasi dengan MCP.

Daripada menulis kod, anda hanya perlu bertanya kepada AI: "Senaraikan semua kedai aktif" atau "Berikan 500 mata kepada ahli m_abc123" dan pembantu akan menghubungi alat SocialHub MCP bagi pihak anda.

Konfigurasi Sambungan

SocialHub mendedahkan titik akhir HTTP MCP Boleh Distrim. Anda memerlukan dua maklumat:

URL Titik Akhirhttps://flash.socialhub.ai/api/mcp
API Pengepala UtamaAuthorization: Bearer fl_live_...

Cipta Kunci API pada /flash/account/api-keys. Pastikan kunci tersebut mempunyai skop yang diperlukan untuk alatan yang anda rancang untuk gunakan.

Claude Desktop Konfigurasi

Tambahkan yang berikut pada tetapan Claude Desktop MCP anda (claude_desktop_config.json):

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

Cursor Konfigurasi

Dalam Cursor, pergi ke Tetapan > MCP dan tambahkan pelayan baharu:

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

Medan type juga menerima streamable-http sebagai alias. Klien desktop ini menyimpan kunci dalam fail konfigurasi mereka — menganggapnya sebagai rahsia dan lebih suka bentuk pembolehubah persekitaran (di bawah) yang disokong untuk memastikan kunci teks biasa tidak dipaparkan di luar cakera.

Sambung dari Claude Code

Tambah SocialHub sebagai pelayan HTTP MCP dengan arahan claude mcp add. Eksport kunci anda sebagai pembolehubah persekitaran terlebih dahulu supaya kunci teks biasa tidak pernah berada dalam fail konfigurasi atau sejarah cangkerang anda:

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}"

Atau komitkan .mcp.json berskop projek pada akar repo. Rujuk var persekitaran dengan ${FLASH_API_KEY} — jangan sekali-kali tampal kekunci teks biasa:

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

Semak kendiri selepas menyambung:

  • Jalankan claude mcp list dan sahkan flash dipaparkan sebagai bersambung.
  • Minta pembantu untuk "menyenaraikan alat SocialHub yang tersedia" — anda sepatutnya melihat hanya alat yang dibenarkan oleh skop kunci anda.
  • Kekunci pelayan mestilah betul-betul flash; pastikan FLASH_API_KEY dieksport dalam shell yang melancarkan Claude Code.

Dapat: permukaan kunci yang tidak sah atau dibatalkan sebagai sambungan gagal, bukan gesaan pengesahan. SocialHub menggunakan pengesahan token pembawa dengan tiada sandaran OAuth, jadi jika pelayan dipaparkan sebagai gagal/terputus sambungan, semak semula nilai kunci dan sama ada ia mempunyai skop yang anda perlukan sebelum menyahpepijat apa-apa lagi.

Alat yang Tersedia (75)

cwm_get_forecast_capabilities

Baca TimesFM 2.5 kesediaan trend/kuantil agregat dan kesediaan gabungan penyewa-persendirian 7/30/90 hari. Menunggu latihan/pengesahan adalah eksplisit. Memerlukan predictions:read.

Parameter:
cwm_predict_next_behaviors

Satu ramalan pengguna: taburan/kedudukan peristiwa seterusnya akhir tambah CWM + TimesFM 7/30/90d purchaseWindowsModel peristiwa penyewa yang diperoleh diutamakan; satu sandaran rujukan awam terdahulu dalaman. Tiada output pakar individu. Kebarangkalian peristiwa tidak dikalibrasi; tetingkap pembelian null sehingga dilatih/disahkan. Memerlukan predictions:read; metrics:read tambahan pula membolehkan tetingkap pembelian.

Parameter: member_id*
cwm_forecast_aggregate_trend

Ramalkan metrik harian jenama/kategori dengan TimesFM 2.5: titik + q10..q90. Sejarah yang hilang dikembalikan nullKuantil agregat tidak dikalibrasi; tidak pernah selang peribadi. Memerlukan predictions:read AND metrics:read.

Parameter: metric?, horizon_days?, history_days?, category?
cwm_predict_purchase_windows

Penyewa-persendirian CWM + TimesFM kebarangkalian pembelian pada 7/30/90h (0–1). Nol sehingga dilatih dan disahkan; tiada sandaran yang direka-reka. Memerlukan predictions:read AND metrics:read.

Parameter: member_id
list_metrics

Senaraikan metrik yang tersedia untuk pasukan ini daripada lapisan semantik yang dikawal (kunci, label, unit, pensijilan, kategori). Hubungi dahulu untuk menemui kunci metrik yang sah. Memerlukan metrics:read.

Parameter: category?
describe_metric

Dapatkan spesifikasi penuh bagi satu metrik: definisi berwibawa, unit, pensijilan, dimensi, medan boleh ditapis, parameter boleh tala dan panduan penggunaan. Memerlukan metrics:read.

Parameter: metric
query_metric

Jalankan pertanyaan metrik yang dikawal dan kembalikan nombor dengan definisi autoritatifnya. Pilih kunci metrik serta dimensi pilihan, penapis, julat masa, butiran dan perbandingan tempoh ke tempoh — jangan sekali-kali SQL. Memerlukan metrics:read.

Parameter: metric, dimensions?, filters?, timeRange?, grain?, compare?, params?
breakdown_metric

Pecahkan satu metrik mengikut satu dimensi pada tetingkap terkini yang telah ditetapkan, dengan label yang boleh dibaca oleh manusia (nama kedai/peringkat/saluran). Memerlukan metrics:read.

Parameter: metric, dimension, days, state?
ask_metrics

Jawab soalan bahasa semula jadi dengan memilih metrik terkawal yang betul, mengambilnya dan memecahkan metrik utama. Untuk diagnosis terbuka. Memerlukan metrics:read.

Parameter: question, categories?
list_stores

Senaraikan semua kedai untuk pasukan semasa. Menyokong penapis status pilihan, carian dan penomboran halaman.

Parameter: status?, search?, limit?, offset?
get_store

Dapatkan butiran kedai tertentu mengikut IDnya.

Parameter: store_id
list_members

Senaraikan ahli program kesetiaan. Menyokong penapis dan penomboran halaman program.

Parameter: programId?, limit?, offset?, status?
get_member

Dapatkan butiran ahli kesetiaan tertentu melalui ID. Mengembalikan medan PII yang dinyahsulit.

Parameter: member_id
list_coupon_pools

Senaraikan kolam kupon. Menyokong penapis status dan jenis.

Parameter: status?, coupon_type?, limit?, offset?
get_dashboard_stats

Gambaran ringkas papan pemuka operasi (tangkapan, imbasan, kadar tangkapan, kupon, kedai, pelan). Bukan metrik yang dikawal — gunakan alat metrik untuk metrik perniagaan yang berwibawa.

Parameter: (none)
earn_points

Ganjaran mata kesetiaan kepada ahli. Mengembalikan ID transaksi dan baki baharu.

Parameter: member_id, amount, description?
redeem_points

Tolak mata kesetiaan daripada ahli (penggunaan FIFO).

Parameter: member_id, amount, reason
get_points_balance

Dapatkan baki mata semasa ahli dan sejarah transaksi terkini.

Parameter: member_id, limit?
get_member_coupons

Dapatkan kupon ahli yang tersedia (tidak ditebus, tidak tamat tempoh).

Parameter: member_id
get_member_tier

Dapatkan peringkat semasa ahli, keperluan naik taraf peringkat seterusnya dan semua peringkat.

Parameter: member_id
get_member_receipts

Dapatkan sejarah penyerahan resit ahli dengan status OCR dan mata yang diberikan.

Parameter: member_id, limit?
redeem_points_for_coupon

Tebus mata kesetiaan untuk kupon daripada kumpulan tertentu (atom: mata + kupon, atau kedua-duanya).

Parameter: member_id, pool_id, points_cost
issue_coupon

Mengeluarkan kupon daripada kumpulan kepada ahli (ahli tunggal; khalayak pukal melalui aliran pengesahan So). Memerlukan coupons:write.

Parameter: member_id, pool_id, run_id?
check_email_frequency

Semak sama ada e-mel pemasaran boleh dihantar ke alamat di bawah had kekerapan (1/hari, 2/minggu, 4/bulan).

Parameter: email
list_ambassador_candidates

Senaraikan calon Duta yang dijaringkan untuk program kesetiaan (mod Pro). Kosongkan dalam mod Ringan.

Parameter: band?, status?, level?, sort_by?, limit?, offset?
get_ambassador_metrics

Dapatkan laporan ROI Duta: tiga submatlamat, pengekalan Bulan-2 dan pintu masuk/tidak masuk 90 hari.

Parameter: since_days?, assumed_paid_cac_usd?
issue_ambassador_code

Keluarkan atau naik taraf kod afiliasi Duta peribadi ahli. Mengembalikan kod string.

Parameter: member_id, single_use?, max_redemptions?, min_order_amount?
get_tracking_stats

Dapatkan analitik lawatan halaman / tingkah laku: gambaran keseluruhan, halaman teratas, pecahan peranti atau sumber trafik.

Parameter: metric?, period?, start?, end?, campaign?, limit?
get_member_profile

Profil agregat ahli (kebolehcapaian, persetujuan/CCPA, kesetiaan, gulungan perdagangan/kategori/saluran/penglibatan, pilihan yang diisytiharkan, tag, geo kasar, jalur umur). PII disunting — tiada nama atau nilai hubungan. Memerlukan members:read.

Parameter: member_id
get_member_timeline

Garis masa tingkah laku terkini seorang ahli (lawatan, mata, kupon, e-mel, resit) + ringkasan, untuk memutuskan tindakan yang diperibadikan. Mengembalikan PII yang dinyahsulit. Memerlukan members:behavior:baca.

Parameter: member_id, limit?
list_segments

Senaraikan segmen khalayak pasukan (nama, status, kiraan ahli yang disimpan dalam cache). Memerlukan segments:read.

Parameter: status?, limit?, offset?
create_segment

Cipta segmen khalayak daripada keadaan berstruktur (tidak pernah SQL); menolak pendua. Memerlukan segments:write + kunci milik pengguna.

Parameter: name, conditions, description?
list_automations

Senaraikan automasi pasukan (kempen yang dicetuskan oleh peristiwa) dan statusnya. Memerlukan automations:read.

Parameter: status?
pause_automation

Jeda automasi yang sedang berjalan mengikut ID kempen (idempotent). Memerlukan automations:write.

Parameter: campaign_id
list_campaign_templates

Senaraikan templat kempen yang tersedia untuk pasukan ini (rasmi + disimpan), untuk menemui template_id untuk create_campaign_draft. Memerlukan campaigns:read.

Parameter: limit?
list_campaigns

Senaraikan kempen pasukan terkini (id, tajuk, status), untuk mencari source_campaign_id untuk mengklon draf daripadanya. Memerlukan campaigns:read.

Parameter: limit?, status?
create_campaign_draft

Cipta DRAF kempen daripada templat atau kempen terdahulu (JANGAN SEKALI-KALI menghantar — semakan manusia diperlukan). Memerlukan campaigns:write-draf.

Parameter: title, template_id?, source_campaign_id?, segment_id?, merge_context?
check_member_reach

Semak sama ada ahli telah dihubungi (mana-mana sistem) pada saluran dalam tempoh yang baru-baru ini — elakkan daripada menghubungi secara berlebihan. Memerlukan members:behavior:baca.

Parameter: member_id, channel, days?
create_member

Cipta ahli kesetiaan, atau selesaikan ahli sedia ada secara idempoten dengan externalId/emel. Persetujuan pemasaran TIDAK diaktifkan melalui MCPMemerlukan members:write.

Parameter: email, fullName, phone?, externalId?, birthMonth?, birthDay?
update_member

Kemas kini profil/identiti ahli (emel, telefon, fullName, externalId, status). Pemilikan pasukan dikuatkuasakan. Memerlukan members:write.

Parameter: member_id, email?, fullName?, phone?, externalId?, status?
upsert_store

Cipta kedai atau kemas kini externalId yang sepadan dengan kedai sedia ada untuk pasukan ini. Memerlukan stores:write.

Parameter: name, externalId?, address?, city?, state?, country?, timezone?
ingest_order

Rekodkan pesanan pembelian dan mata ganjaran automatik (ahli diselesaikan oleh memberId > externalId > e-mel). Memerlukan orders:write.

Parameter: externalOrderId, customer, totalAmount, financialStatus?, currency?, orderName?, storeId?
reverse_points

Mata terbalik (cakar belakang) daripada ahli, dipautkan kepada ID transaksi asal — untuk bayaran balik POS/ERP atau pembatalan. Memerlukan points:write.

Parameter: member_id, reversesTransactionId, amount, reason
list_tags

Senaraikan definisi tag pasukan (kunci, nama, kitaran hayat, kategori, liputan). Temui tag_key sebelum membaca/menetapkan tag ahli. Memerlukan tags:read.

Parameter: status?, group?, limit?, offset?
get_member_tags

Dapatkan tag semasa ahli (kunci, nama, kitaran hayat, nilai, sumber, assignedAt). Memerlukan members:read.

Parameter: member_id
assign_tag

Tetapkan tag secara manual kepada ahli melalui tag_key (penggantian operator; disematkan pada sapuan peraturan). Memerlukan tags:write.

Parameter: member_id, tag_key, value?
remove_tag

Alih keluar tag daripada ahli secara manual dengan tag_key (tag langsung mungkin ditambah semula pada sapuan seterusnya). Memerlukan tags:write.

Parameter: member_id, tag_key
list_products

Senaraikan produk dengan kategori/jenama/menegak, status dan sumber. Tapis mengikut status/category_id/brand_id/menegak. Memerlukan catalog:read.

Parameter: status?, category_id?, brand_id?, vertical?, limit?, offset?
get_product

Dapatkan satu produk dengan varian, item bersiri, komponen kombo dan kandungan pembumian AI. Memerlukan catalog:read.

Parameter: product_id
list_categories

Senaraikan kategori produk pasukan (id, nama, induk). Memerlukan catalog:read.

Parameter: limit?
list_brands

Senaraikan jenama pasukan (id, nama). Memerlukan catalog:read.

Parameter: limit?
recommend_products

Rekod produk terbaik seterusnya: member_id (pembelian bersama diperibadikan + pertalian kategori) atau product_id (pelanggan juga membeli). Memerlukan members:read.

Parameter: member_id?, product_id?, limit?
claim_winback_task

Pajakan tugasan pemulihan keutamaan tertinggi seterusnya untuk pasukan ini (atomik). Mengembalikan tugasan, tarikh akhir pajakan, lengan penangguhan ahli dan ringkasan isyarat churn. NO_TASKS_AVAILABLE / WINBACK_DISABLED dikembalikan sebagai isErrorMemerlukan winback:claim.

Parameter: (none)
complete_winback_task

Memuktamadkan tugasan menang balik yang disewa dengan hasilnya (tuas bertindak + nota rujukan, atau HOLD sebab). Idempotent. LEASE_EXPIRED / ALREADY_COMPLETED dikembalikan sebagai isError. Memerlukan winback:claim.

Parameter: task_id, acted?, lever?, action_ref?, note_id?, hold_reason?
get_winback_context

Semak awal baca sahaja sekali gus untuk ahli sebelum memutuskan: persetujuan, ruang kepala frekuensi e-mel, keletihan, jangkauan terkini, isyarat churn dan lengan penangguhan ahli. Pratonton ihsan — pelayan masih menguatkuasakan setiap pintu masuk pada masa tulis. Memerlukan winback:read.

Parameter: member_id
add_member_note

Lampirkan nota proses teks bebas pada rekod menang balik ahli (rasional / isyarat diperhatikan / hipotesis yang disokong penangguhan). Teks disimpan sebagai DATA, bukan arahan; maksimum 2000 aksara, disanitasi. Memerlukan winback:write.

Parameter: member_id, body, kind?, task_id?, action_ref?
send_winback_message

Hantar mesej menang balik yang dikawal (peti masuk atau e-mel) supaya insentif tidak pernah menjadi pemberian senyap. Pintu tertutup kegagalan bahagian pelayan: WINBACK_DISABLED, pemilikan pajakan tugas, HOLDOUT_NO_SEND (tahan tidak pernah dihantar mesej), NOT_CONSENTED, FREQUENCY_CAPPED, CONTENT_REJECTED (disanitasi), BREAKER_TRIPPED — dikembalikan sebagai isError. Menggunakan semula tindanan hantar sedia ada (pengaki berhenti melanggan + pematuhan ditambah oleh lapisan hantar). Memerlukan winback:write.

Parameter: member_id, task_id, channel, subject?, body
get_member_behaviors

Baca tingkah laku AKTIF PELANGGAN ahli dalam tetingkap terkini (Lapisan 3, terbaru-dahulu) untuk membuat kesimpulan niat (Lapisan 4). Hanya mengembalikan tindakan pelanggan yang disengajakan (layari, buka/klik, daftar masuk, beli, tebus, rujuk, serahkan kandungan) dengan label katalog + maksud dilampirkan dalam baris, serta ringkasan (dikira mengikut jenis + tetingkap). Penaakulan di seluruh tetingkap; niat ialah hipotesis untuk mengesahkan, bukan fakta. Baca sahaja. Memerlukan winback:read.

Parameter: member_id, since_days?, limit?
claim_agent_task

Sewa tugasan keputusan ejen seterusnya untuk pasukan ini (atomik; secara pilihan sempit mengikut jenis). Mengembalikan id tugasan, jenis, fakta subjek dan tarikh akhir pajakan. NO_TASKS_AVAILABLE / AGENT_TASKS_DISABLED dikembalikan sebagai isError. Memerlukan agent_tasks:claim.

Parameter: kind?
get_agent_task

Baca fakta satu tugas keputusan ejen (jenis, subjek, sebab bendera, status) sebelum membuat keputusan. AGENT_TASK_NOT_FOUND dikembalikan sebagai isError. Memerlukan agent_tasks:read.

Parameter: taskId
complete_agent_task

Selesaikan tugasan yang dipajak dengan keputusan, gunakan kesannya melalui penulisan idempoten sedia ada. fraud_household_referral: block (clawback kedua-dua belah pihak) / allow (abaikan bendera) / escalate (biarkan untuk manusia). ALREADY_COMPLETED / NOT_LEASE_OWNER / LEASE_EXPIRED dikembalikan sebagai isError. Memerlukan agent_tasks:claim.

Parameter: taskId, decision, reason?
list_objects

Senaraikan objek perniagaan yang boleh dipertimbangkan oleh pasukan ini: objek platform teras (ahli, pesanan, kedai, kupon, kempen, produk, segmen, tag) serta objek pasukan ini MCP-objek tersuai yang boleh dilihat — kunci, label dan makna satu baris yang berwibawa. Hubungi dahulu untuk mengetahui yang sah object kunci. Memerlukan introspection:read.

Parameter: (none)
describe_object

Huraikan satu perniagaan object daripada daftar yang ditadbir: makna autoritatif serta sifat yang dibahagikan kepada fakta (disokong lajur), terbitan (rujukan metrik/tag/gulung naik dengan kesegaran — jangan sekali-kali terbitkan semula kaliber), dan tersuai (medan tersuai pasukan ini). Sifat PII hanya mengembalikan metadata, tidak pernah nilai. fields=summary (lalai) atau penuh. Memerlukan introspection:read.

Parameter: object, fields?
list_actions

Senaraikan tindakan ejen yang dikawal (apa yang mungkin dilakukan oleh ejen): sasaran object, kesan sampingan, gear (auto/ulasan/dilarang), kekunci prasyarat bahagian pelayan, had nilai dan kebolehbalikan — semak sendiri sebelum mencadangkan penulisan. Secara pilihan, tapis mengikut objectMemerlukan introspection:read.

Parameter: object?
list_stamp_programs

Senaraikan kad setem pasukan (eStamp) program: id, nama, setem yang diperlukan untuk dilengkapkan, jenis ganjaran (kupon/mata/manual), tetapan semula automatik dan status. Hubungi dahulu untuk mendapatkan program_idMemerlukan stamp:read.

Parameter: (none)
get_member_stamp_cards

Dapatkan kad setem aktif ahli: nama program, setem semasa, setem yang diperlukan, penyempurnaan setakat ini dan ganjaran. Memerlukan stamp:read.

Parameter: member_id
grant_stamps

Memberi setem kepada ahli untuk program setem (cth. lawatan ke kedai). Idempoten dengan idempotency_key; setelah kad siap, ganjaran (kupon/mata) akan dikeluarkan secara automatik. Jumlah dihadkan setiap panggilan. Memerlukan stamp:write.

Parameter: program_id, member_id, amount?, reason?, idempotency_key?
get_member_points

Mata ganjaran ahli: baki boleh dibelanjakan, perolehan seumur hidup, penebusan, peringkat semasa, kelompok yang paling cepat tamat tempoh. Kunci terikat ahli → mata ganjaran sendiri (abaikan member_id); kunci pasukan → lulus member_idMemerlukan loyalty:self:baca.

Parameter: member_id?
get_member_points_history

Transaksi mata terkini ahli (diperoleh/ditebus/dilaraskan), yang terbaru dahulu. Kunci terikat ahli → sejarah sendiri; kunci pasukan → lulus member_idMemerlukan loyalty:self:baca.

Parameter: member_id?
get_member_rewards

Ganjaran yang boleh ditebus oleh ahli — katalog dengan kos mata, ditandai dengan kemampuan berbanding baki ahli. Kunci terikat ahli → milik; kunci pasukan → lulus member_idMemerlukan loyalty:self:baca.

Parameter: member_id?
get_loyalty_program_rules

Cara program kesetiaan berfungsi — kadar perolehan, bonus alu-aluan, nilai mata, cara menyertai — serta Soalan Lazim yang diluluskan jenama. Fakta awam. Kunci terikat ahli tidak memerlukan hujah. Memerlukan loyalty:self:baca.

Parameter: member_id?
list_synthetic_scenarios

Senaraikan senario simulasi panel sintetik dengan sempadan kebolehgunaan yang jujur, siling keyakinan dan medan input setiap satu. Hubungi dahulu untuk memilih jenis. Memerlukan metrics:read.

Parameter: (none)
get_synthetic_calibration

Penentukuran panel sintetik jenama (kadar kejayaan ramalan sintetik lepas vs realiti; null sehingga ujian belakang wujud). Memerlukan metrics:read.

Parameter: (none)
get_synthetic_report

Baca laporan jujur ​​yang dibekukan untuk larian panel sintetik — bacaan berarah, siling keyakinan, bendera penindasan, tema — atau blockReason jika belum bersedia. Memerlukan metrics:read.

Parameter: run_id
run_synthetic_panel

Jalankan panel sintetik: kembar digital yang dinyahkenal pasti bagi sesuatu segmen bertindak balas terhadap rangsangan, menghasilkan laporan berarah yang jujur ​​(tidak pernah nombor mutlak sebenar). Mengembalikan run_id kepada tinjauan pendapat. Dibatasi oleh had larian harian + ≤50 kembar. Memerlukan synthetic:write.

Parameter: segment_id, kind, fields

Keselamatan & Privasi

Permukaan MCP ialah lapisan kemudahan AI, bukan alat pentadbir pukal. Beberapa perkara yang perlu diingat:

  • Pelayan adalah sempadan, bukan sembang. Operasi penulisan (memberi/menebus mata, mengeluarkan kupon, mengeluarkan kod Ambassador) memerlukan skop penulisan yang sepadan dan dibatasi oleh pengawal sisi pelayan: had nilai setiap panggilan ditambah had kadar penulisan setiap kekunci, kedua-duanya dikuatkuasakan dengan penutupan kegagalan. Sebarang pengesahan dalam sembang yang diminta oleh klien AI anda adalah ihsan — pelayanlah yang sebenarnya menghalang kunci yang bocor atau model yang disuntik gesaan daripada menghabiskan titik.
  • Beberapa alat baca mengembalikan PII ahli. Alat seperti get_member dan list_members boleh mengembalikan nama dan e-mel yang dinyahsulit ke dalam klien AI anda. Layan data tersebut dengan sewajarnya dan utamakan kunci yang paling kurang istimewa.
  • Jangan sekali-kali mengkomitkan kunci teks biasa. Sentiasa rujuk ${FLASH_API_KEY} dalam .mcp.json yang telah didaftar masuk dan bukannya kunci literal.
  • Gunakan kekunci baca sahaja yang paling kurang keistimewaannya. Cipta kekunci yang hanya skopnya untuk alatan yang anda perlukan. Jika kekunci tidak mempunyai skop alatan, alatan tersebut hanya akan disembunyikan — ia tidak akan muncul dalam senarai.

Nombor Berasal daripada Lapisan Semantik Tertadbir

Setiap metrik yang dilaporkan oleh AI — GMV, ahli aktif, kadar penebusan dan selebihnya — mengalir melalui lapisan metrik yang dikawal oleh SocialHub, yang memegang satu definisi (dan pensijilan) berwibawa untuk setiap metrik. Alat list_metrics, describe_metric, query_metric, breakdown_metric dan ask_metrics memilih kunci dan dimensi metrik di bawah tadbir urus tersebut — AI tidak pernah menulis SQL. Jadi angka yang anda dapat sepadan dengan papan pemuka anda dan bukannya agregat ad-hoc yang mudah hanyut.

Contoh Perbualan

Anda: "Senaraikan semua kedai aktif"
Claude: Panggilan list_stores dengan status="aktif"
Claude: "Anda mempunyai 3 kedai aktif: Pusat Bandar Utama, Kiosk Pusat Beli-belah dan Pop-up Lapangan Terbang."