FrancoLabs

io.github.glauberfrancodesign由 GitHub 帳號 glauberfrancodesign 發布v1.0.0更新於 Oct 26, 2026

UX research platform: manage studies, browse templates, read responses and analytics.

已驗證Streamable HTTP可網頁執行效率與工作流資料與分析商業與電商

概覽

AI 產生的概覽

FrancoLabs 的遠端 MCP 伺服器,連接 UX 研究平台,讓助理建立與管理研究、讀取回覆與分析,並把洞察轉化為產品機會。

可以做什麼
  • 瀏覽問題類型、研究範本、工作區、專案與方案用量
  • 建立、更新、啟動、暫停、完成或刪除研究,並用 AI 產生或審查研究設計
  • 讀取參與者回覆、分析指標、統計摘要與洞察卡片,執行 AI 分析與有依據的問答
  • 建立、標記與評價洞察,並跨研究查詢過往洞察
  • 提煉產品機會、建議後續研究、產生決策包,並把機會匯出到 Linear
  • 列出並為受訪者聯絡人加上標籤
適用情境
適合在 FrancoLabs 進行 UX 研究的團隊,讓助理起草並啟動研究、彙整回覆與分析,或把發現轉化為機會與給利害關係人的決策文件,而不必切換工具。
執行需求
遠端 Streamable HTTP 端點,無需本機安裝。必須驗證:OAuth 2.1(動態用戶端註冊與 PKCE),或以 Authorization Bearer 標頭傳送個人存取權杖。寫入工具需要工作區中的編輯者角色(擁有者、管理員或成員);AI 工具會消耗 AI 額度。
安裝前請注意
只授予需要的權限:contacts:read 與 contacts:write 會暴露受訪者個人資料(電子郵件、姓名、地區、同意狀態、標籤),需主動開啟;responses:read 回傳的原始回答可能含個人資料,除非啟用遮蔽。寫入工具可建立、更新、啟動並永久刪除研究及其回覆,還可建立 Linear 議題。AI 工具會把遮蔽後的摘要與精選洞察傳送給語言模型並消耗額度。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 FrancoLabs,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.glauberfrancodesign%2Ffrancolabs/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "francolabs": {
      "type": "http",
      "url": "https://francolabs.vercel.app/mcp"
    }
  }
}

README

FrancoLabs MCP Server

Connect AI assistants to FrancoLabs — a UX research platform — over the Model Context Protocol. Let Claude, ChatGPT and other MCP clients create and manage studies, browse templates, read participant responses and analytics, run AI-grounded analysis, and turn insights into product opportunities on your behalf.

  • Endpoint: https://francolabs.vercel.app/mcp
  • Transport: Streamable HTTP (MCP protocol 2025-06-18)
  • Auth: OAuth 2.1 (Dynamic Client Registration + PKCE) or Personal Access Token
  • Registry: io.github.glauberfrancodesign/francolabs

Connect

Claude (claude.ai / Desktop)

Settings → Connectors → Add custom connector → URL:

https://francolabs.vercel.app/mcp

Complete the OAuth consent screen — you choose exactly which scopes to grant and can toggle read-only access.

ChatGPT

Enable Developer Mode, then Settings → Connectors → Add → same URL. Authenticate via the OAuth flow.

Claude Code / Cursor (manual token)

Generate a Personal Access Token in Settings → Integrations, then:

bash
claude mcp add --transport http francolabs \  "https://francolabs.vercel.app/mcp" \  --header "Authorization: Bearer <your-token>"

Tools

A tool listed with two scopes needs both. AI marks tools that call a language model and use AI credits; the model only sees the deterministic digest and curated insights, with e-mail addresses and phone numbers masked first.

Templates, workspaces and projects

ToolScopeDescription
list_question_typestemplates:readQuestion/block types with the exact settings shape and a valid example
list_templatestemplates:readStudy templates, optionally by category
list_workspacesprojects:readWorkspaces (teams) you belong to and your role in each
list_projectsprojects:readYour projects, optionally by status
get_projectprojects:readA single project by id
get_planprojects:readThe workspace plan and current usage: limits, what is enforced now, grants and when extended access ends, and the per-person AI-create cap
create_projectprojects:writeCreate a project (optionally in a specific workspace)

Studies

ToolScopeDescription
list_studiesstudies:readStudies, filtered by status and/or project
get_studystudies:readA full study with blocks and settings
create_studystudies:writeCreate a Draft study; blocks are validated against list_question_types
update_studystudies:writeUpdate title, blocks, project; settings is a partial update
set_study_statusstudies:writeLaunch a Draft, pause, resume a Paused study, or complete it
delete_studystudies:writePermanently delete a study and its responses
generate_study_from_objectivestudies:readAI — turn a research objective into a typed study skeleton
review_study_qualitystudies:readAI — survey-design review with a quality score per block

Responses, analysis and insights

ToolScopeDescription
list_responsesresponses:readRaw participant responses, newest first — may contain personal data written by respondents; pass redact: true to mask e-mails and phones
get_study_analyticsresponses:readAggregated KPIs: responses, completion, duration, NPS, distributions
get_study_digestresponses:readDeterministic, PII-free statistical digest for every question type
run_universal_analysisresponses:read + studies:writeAI — run/refresh the full analysis (replaces non-pinned AI insights)
analysis_chatresponses:readAI — ask a question grounded in the digest and cached analysis
get_insightsresponses:readCurated insight cards, pinned first
upsert_insightresponses:read + studies:writeCreate or edit a curated insight card
rate_insightresponses:read + studies:writeRecord 👍/👎 feedback on an insight
suggest_tagsresponses:read + studies:writeAI — tag insights with a consistent product taxonomy
set_insight_tagsresponses:read + studies:writeReplace the tags of one insight
research_memory_queryresponses:read + studies:writeAI — cross-study question answered from past curated insights

Opportunities and decisions

ToolScopeDescription
list_opportunitiesresponses:readProduct opportunities distilled for a study
create_opportunity_from_insightsresponses:read + studies:writeAI — distill insights into draft opportunities
suggest_next_research_stepsresponses:readAI — 3–5 follow-up studies that de-risk open opportunities
generate_decision_packetresponses:read + studies:writeAI — stakeholder-ready decision package (Markdown)
list_decision_packetsresponses:readDecision packages already generated for a study
export_opportunityresponses:read + studies:writeExport an opportunity to Linear as an issue — internal users only
list_external_task_linksresponses:readLinear issues already created from a study's opportunities

Contacts (personal data)

ToolScopeDescription
list_contactscontacts:readRespondent contacts of the workspace — personal data (e-mail, name, locale/country, research consent, tags, response counts)
get_contactcontacts:readOne contact with the studies they answered — personal data
tag_contactscontacts:writeAdd/remove tags on contacts to segment respondents — never put sensitive information in tags

create_project and create_study write into a workspace — pass workspaceId (see list_workspaces), or omit it to use your oldest workspace by default. Write tools also require an editor role (owner, admin or member) in the study's workspace; viewers can only read.

Two resources are also exposed: francolabs://templates and francolabs://question-types.

Scopes

templates:read · projects:read · projects:write · studies:read · studies:write · responses:read · contacts:read · contacts:write

contacts:read and contacts:write give access to personal data of your respondents (e-mail, name, locale/country, research consent, tags and response history). They are opt-in: the consent screen and the Read-only token preset leave them unchecked; grant them only to assistants that need your contacts base. responses:read returns raw answers, which can also contain personal data typed by respondents.

Tools you didn't grant are hidden from tools/list. A read-only grant blocks every write tool server-side, regardless of scopes.

Security

  • Tokens are stored only as SHA-256 hashes — never in plaintext.
  • Each request mints a short-lived (5 min) JWT so all data access runs under per-user row-level security; the service role is used only for the token lookup.
  • OAuth access and refresh tokens last 30 days; a connection never outlives 90 days. Access is revocable anytime from Settings → Integrations, and clients can revoke a token at the revocation endpoint (RFC 7009).
  • OAuth follows RFC 9728 (protected-resource discovery), RFC 8414 (AS metadata), RFC 7591 (dynamic client registration) and PKCE S256.

Source

This repository mirrors the server's source for transparency. The server runs as a Supabase Edge Function (src/mcp, src/mcp-oauth, src/_shared).


© FrancoLabs. All rights reserved.

來源:README.md,提交 398f1b9

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。