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 分

    请在仓库或注册中心条目中声明许可证。