streamable-httpupdated 2mo ago
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.
What can you do with FrancoLabs?
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:
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.
Install
Add FrancoLabs to your client. Pick the one you use.
claude mcp add --transport http francolabs https://francolabs.vercel.app/mcpcodex mcp add francolabs --url https://francolabs.vercel.app/mcp{
"mcpServers": {
"francolabs": {
"url": "https://francolabs.vercel.app/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"francolabs": {
"type": "http",
"url": "https://francolabs.vercel.app/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"francolabs": {
"url": "https://francolabs.vercel.app/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"francolabs": {
"serverUrl": "https://francolabs.vercel.app/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
23 tools
FrancoLabs exposes 23 tools to a connected agent.
- list_question_types
- `templates:read`
- list_templates
- `templates:read`
- list_workspaces
- `projects:read`
- list_projects
- `projects:read`
- get_project
- `projects:read`
- create_project
- `projects:write`
- list_studies
- `studies:read`
- get_study
- `studies:read`
- create_study
- `studies:write`
- update_study
- `studies:write`
- set_study_status
- `studies:write`
- delete_study
- `studies:write`
- list_responses
- `responses:read`
- get_study_analytics
- `responses:read`
- get_study_digest
- `responses:read`
- run_universal_analysis
- `responses:read`
- analysis_chat
- `responses:read`
- get_insights
- `responses:read`
- upsert_insight
- `studies:write`
- generate_study_from_objective
- `studies:read`
- review_study_quality
- `studies:read`
- list_opportunities
- `responses:read`
- create_opportunity_from_insights
- `studies:write`
Score
62 / 100
Good
- Documentation20/25
- Maintenance16/25
- Trust6/20
- Capability8/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 81 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 23 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Jun 3, 2026 |