whoqol-toolkit
Reads and analyses questionnaire spreadsheets exported from Google Forms containing WHOQOL-BREF responses, detecting item columns (by number or question text in PT/EN/ES), the language version administered, numeric or text answers, and roles of the remaining columns.
Reads and analyses WHOQOL-BREF response exports from LimeSurvey (spreadsheet/CSV type), applying the instrument's item detection and scoring rules to the exported data.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
whoqol-toolkit
Beta. The tool may still contain errors. Check every result before publishing it and report problems.
A plugin for Claude Code, Antigravity (agy) and Gemini CLI that scores and analyses WHOQOL
quality-of-life questionnaires for publication. You give it the spreadsheet exported from Google Forms, REDCap,
LimeSurvey, SPSS or Excel; it applies the official WHO scoring rules, checks data quality, estimates reliability and
validity, compares groups and writes APA tables, figures and a draft of the methods and results sections.
All numbers come from a tested, deterministic Python package exposed as an MCP server. The agent's job is to ask the right questions, run the tools and interpret the output; it never computes scores itself.
The first instrument is the WHOQOL-BREF. The package is organised around an instrument registry so other WHOQOL instruments (WHOQOL-100, WHOQOL-OLD, WHOQOL-HIV-BREF, …) can be added without changing the analysis code.
Contents
Related MCP server: Talk2Data InsightGenius
Overview
Hosts | Claude Code (plugin + MCP) · Antigravity CLI (plugin + MCP) · Gemini CLI (extension + MCP) · plain CLI |
Instruments | WHOQOL-BREF (26 items, 4 domains + global facet) |
Input formats | .xlsx, .xls, .ods, .csv, .tsv, .sav |
Item detection | by number ( |
Languages | Portuguese, English and Spanish. The report follows the language of the questionnaire (English for any other); the methods/results draft is always written in all three |
Language version | detected from answers and headers (pt-BR: Fleck et al., 2000; es-ES: Lucas, 1998; en: WHOQOL Group, 1998) and cited in the methods text |
Runtime | Python ≥ 3.10, dependencies resolved by |
Pipeline
flowchart LR
A["Spreadsheet"] --> B["1 · whoqol_inspect<br/>item columns, language version,<br/>other variables"]
M["Data dictionary<br/>(optional, pre-filled)"] -.-> C
B --> C["2 · agree on the plan<br/>groups, covariates,<br/>reference values"]
C --> D["3 · whoqol_analyze<br/>WHO scoring, quality,<br/>psychometrics, statistics"]
D --> E["4 · interpretation<br/>by the agent, in the<br/>user's language"]
D --> F["report.md · tables.docx<br/>results.xlsx · figures<br/>methods_results_pt/en/es.md"]Analyses
Area | What is computed |
Scoring | WHO rules: Q3, Q4 and Q26 reversed; domain = mean × 4 (4–20) and 0–100; minimum valid items per domain (6/7, 5/6, 2/3, 6/8); questionnaires with fewer than 21 valid items excluded; global facet (Q1–Q2) reported separately |
Data quality | missingness per item and overall, unrecognised answers, exclusions, duplicates, straight-lining, floor/ceiling effects |
Reliability | Cronbach's α with Feldt 95% CI, McDonald's ω, mean inter-item r, SEM, MDC95, ½ SD |
Validity | multitrait scaling (corrected item–domain r), HTMT, confirmatory factor analysis (ML: χ², CFI, TLI, RMSEA with 90% CI, SRMR, AVE, CR) and a ready lavaan script for WLSMV |
Comparisons | Welch t / Hedges g, Mann-Whitney / rank-biserial r, Welch ANOVA / ω² + Games-Howell, Kruskal-Wallis / ε² + Dunn; Holm correction; automatic choice by Shapiro-Wilk/CLT (reported) |
Associations | Spearman ρ with 95% CI; multiple linear regression with HC3 errors and VIF |
Reference values | one-sample comparison against published means (supplied by the user, with source); optional cut-off proportion |
Security and confidentiality
Everything runs locally: the analysis code makes no network calls and the spreadsheet is never uploaded by the tool. The agent you use (Claude, Gemini) does see the tool outputs, which are aggregated statistics; avoid pasting raw rows into the chat.
Questionnaire answers are personal health data (LGPD, GDPR). Use pseudonymised IDs, keep the files outside the repository (
.gitignoreexcludesdata/,*_whoqol/and spreadsheets) and follow your ethics approval.Cell values and column names are treated as data, never as instructions to the agent.
The scoring, statistics and reports come from tested code; the agent is told never to compute or invent numbers, norms or cut-offs (
rules/AGENTS.md).
Installation
Requirements: uv and at least one host CLI.
git clone https://github.com/LaBiOmicS/whoqol-toolkit.git
cd whoqol-toolkit
./install.shinstall.sh syncs the Python environment, installs and validates the plugin in Antigravity (agy) and registers it
in Claude Code through the local marketplace labiomics-whoqol.
Claude Code, directly from GitHub:
/plugin install whoqol-toolkit --marketplace LaBiOmicS/whoqol-toolkitor, on older versions:
/plugin marketplace add LaBiOmicS/whoqol-toolkit
/plugin install whoqol-toolkit@labiomics-whoqolAntigravity: agy plugin install /path/to/whoqol-toolkit && agy plugin enable whoqol-toolkit
Gemini CLI: gemini extensions install https://github.com/LaBiOmicS/whoqol-toolkit
Usage
Ask in any of the three languages, or use the /whoqol command:
/whoqol ~/data/qol_survey.xlsx compare the domains by sex and education
Analise esta planilha do WHOQOL-BREF e gere tabelas para publicação: ~/dados/whoqol.xlsx
Analiza la fiabilidad y validez del WHOQOL-BREF en ~/datos/encuesta.csvThe agent inspects the file, confirms the detected columns and the analysis plan with you, runs the analysis and interprets the results. Without an agent, use the CLI:
uv run whoqol inspect examples/sample_google_forms_pt.xlsx
uv run whoqol analyze examples/sample_google_forms_pt.xlsx -g Sexo -g Escolaridade -c Idade
uv run whoqol analyze examples/sample_numeric.csv -g Sexo --lang en --instrument-version pt
uv run whoqol guide interpretationMCP tools
Tool | Purpose |
| list supported instruments and language versions |
| detect item columns, language version, unrecognised answers and roles of the other columns |
| create a pre-filled data dictionary (.xlsx) in PT, EN or ES |
| score only, one row per participant |
| full analysis and all output files |
| workflow, scoring rules, psychometric criteria, interpretation, reporting checklist, references |
Data dictionary (optional)
A metadata file is never required: a spreadsheet with clear headers is analysed as it is. It helps when the data
has coded variables (1/2 instead of labels), ordinal categories (education, income), missing codes (99, -9)
or when you want to record the study context. whoqol_template writes it pre-filled with the detected roles; you
review two sheets and pass it back with metadata=:
variables – column, role (
item,id,group,continuous,covariate,ignore), item, label, value labels (1=Female; 2=Male), level order, missing codes;study – population, design, country, administration mode.
Sheet and column names are accepted in Portuguese, English or Spanish. A variables/variaveis sheet inside the data
workbook is read automatically.
Parameters
Parameter | Default | Description |
|
| instrument key ( |
| auto |
|
| — | variables for comparisons, correlations and regression |
|
|
|
| — |
|
| — | proportion at or above a cut-off (e.g. 60, older adults only) |
|
| adds a 24-item total score (not part of the WHO manual) |
|
| confirmatory factor analysis |
|
| report language: |
|
| language version administered, cited in the methods text |
| — | data dictionary; explicit arguments take precedence |
Outputs
Written to <file>_whoqol/ (or output_dir):
File | Content |
| full report with alerts, tables and figures (report language) |
| APA-style tables, figures and references, ready for the manuscript |
| scores per participant and every table, one sheet each |
| draft of the statistical-analysis and results sections in three languages |
| domain distribution, item responses, correlations, group means (PNG 300 dpi + PDF) |
| CFA with WLSMV in R (lavaan, semTools) |
| machine-readable summary (English keys) |
Limitations
There are no official WHO cut-offs and no established minimal important difference; the tool reports distribution-based benchmarks (½ SD, MDC95). Normative values must come from a cited source.
The built-in CFA uses maximum likelihood, which treats Likert items as continuous. For a psychometric paper, run the WLSMV script and test measurement invariance.
Language-version detection needs text answers or question headers; with numeric data, state the version.
Only the WHOQOL-BREF is implemented so far.
Use of WHOQOL instruments must follow the WHO's terms; the toolkit does not distribute the questionnaire.
Questionnaire answers are personal health data: keep them local and pseudonymised (see
rules/AGENTS.md).
Development
uv sync --group dev
uv run pytest -q
uvx ruff check src tests examples
uv run python examples/generate_examples.py # synthetic example data
claude plugin validate . && agy plugin validate . --strictTo add an instrument, create src/whoqol/instruments/<name>.py with an Instrument (items, reversed items, domains
with minimum valid items, item texts and patterns in PT/EN/ES, language versions) and register it in
instruments/__init__.py. Scoring, psychometrics, reports and the scoring guide follow from that definition.
Citation
@software{menegidio_whoqol_toolkit_2026,
author = {Menegidio, Fabiano Bezerra},
title = {whoqol-toolkit: scoring, psychometrics and publication-grade statistics for WHOQOL questionnaires},
year = {2026},
version = {0.1.0},
url = {https://github.com/LaBiOmicS/whoqol-toolkit}
}Also cite the instrument and the validated language version you used (see whoqol_guide("references")).
License and authorship
MIT © 2026 Prof. Dr. Fabiano Bezerra Menegidio — Laboratório de Bioinformática e Ciências Ômicas (LaBiOmicS), Universidade de Mogi das Cruzes (UMC).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Analyse tests for item quality, true ability, reliability and learner mastery.
Upload spreadsheets, get plain-English analysis with real computed charts and quality scores.
Process assessments: question packs, multi-respondent sessions, validation and result packages
Query and summarize research data across tests and surveys
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides tools for managing quantitative research knowledge graphs, enabling structured representation of research projects, datasets, variables, hypotheses, statistical tests, models, and results.69MIT
- FlicenseNot gradedqualityNot gradedmaintenanceAnalyze survey data (.sav, .csv, .xlsx) through Claude — crosstabs with significance testing, ANOVA, correlation, gap analysis, and publication-ready Excel exports. Upload once, analyze unlimited.-
- AlicenseNot gradedqualityBmaintenanceEnables AI-native statistical analysis and reproducible research workflows through MCP, including natural language planning, protocol-based analysis, Python/R cross-validation, and publication-ready figure generation.MIT
- AlicenseAqualityCmaintenanceEnables preparing data, building and running Mplus input files, and reading the output back as tables, including fit indices, parameter estimates, and warnings.10MIT