Skip to main content
Glama
glauberfrancodesign

FrancoLabs MCP Server

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 → ConnectorsAdd 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 → ConnectorsAdd → same URL. Authenticate via the OAuth flow.

Claude Code / Cursor (manual token)

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

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

Tools

Tool

Scope

Description

list_question_types

templates:read

List question/block types and their settings

list_templates

templates:read

List study templates, optionally by category

list_workspaces

projects:read

List the workspaces (teams) you belong to and your role in each

list_projects

projects:read

List your projects

get_project

projects:read

Get a single project by id

create_project

projects:write

Create a new project (optionally in a specific workspace)

list_studies

studies:read

List studies (filter by status/project)

get_study

studies:read

Get a full study with blocks and settings

create_study

studies:write

Create a study (auto-scaffolds welcome + thank-you)

update_study

studies:write

Update title, blocks, settings or project

set_study_status

studies:write

Launch / pause / resume / complete a study

delete_study

studies:write

Permanently delete a study and its responses

list_responses

responses:read

List participant responses (most recent first)

get_study_analytics

responses:read

Aggregated KPIs: NPS, completion, distributions

get_study_digest

responses:read

Deterministic, PII-free statistical digest of a study's results

run_universal_analysis

responses:read

Run/refresh the full AI analysis (digest + grounded synthesis)

analysis_chat

responses:read

Ask a natural-language question, grounded in the study's analysis

get_insights

responses:read

List curated insight cards for a study

upsert_insight

studies:write

Create or update a curated insight card

generate_study_from_objective

studies:read

Turn a research objective into a typed study skeleton

review_study_quality

studies:read

Review a study's questionnaire for survey-design issues

list_opportunities

responses:read

List product opportunities distilled from a study's insights

create_opportunity_from_insights

studies:write

Distill insights into decision-ready product opportunities

create_project and create_study write into a workspace — pass workspaceId (see list_workspaces), or omit it to use your oldest workspace by default.

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

Scopes

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

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.

  • Access is revocable anytime from Settings → Integrations.

  • 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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/glauberfrancodesign/francolabs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server