Skip to content
Conduit

mcp server

prisma-review-tool

Automated PRISMA 2020 systematic literature review with AI-assisted screening via MCP. Works with Claude, Codex, Copilot, Cursor, and any MCP-compatible agent.

Black-Lights/prisma-review-toolcommunitylistedunreviewednot running here yet

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 14, 2026

PRISMA Review Tool

Version: 1.5.1 License: MIT Python 3.10+

Automated systematic literature review following the PRISMA 2020 guidelines (checklist | flow diagram | Page et al., 2021). Search academic databases, deduplicate results, screen papers with keyword rules, and use AI-assisted screening via any MCP-compatible agent — all from the command line.

Features

  • Multi-database search: arXiv, OpenAlex, Semantic Scholar (free, no API keys needed). Optional: Scopus.
  • Automatic deduplication: DOI matching + fuzzy title matching
  • Two-pass screening:
    • Pass 1: Rule-based keyword screening (automated, re-screenable with adjustable threshold)
    • Pass 2: AI-assisted eligibility screening via MCP (stricter criteria)
  • AI screening via MCP: Works with Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Windsurf, Amazon Q, Gemini CLI, and any MCP-compatible agent
  • PRISMA 2020 flow diagram: Interactive diagram matching the official template (Page et al., 2021) with download-as-PNG
  • Flexible export: CSV with Elsevier-style field picker + BibTeX — exports only filtered papers, choose which columns to include
  • PDF download & viewer: Download papers via Elsevier (institutional), arXiv, Unpaywall, Semantic Scholar — view inline in web app
  • Background pipeline: Run search → dedup → screen in background with live progress, cancellation, and rate limit handling
  • Multi-project management: Save, switch, duplicate, export/import projects — each with isolated config + data
  • Web dashboard: Real-time pipeline stepper, stat cards, PRISMA flow diagram, PDF browser, eligibility filters

Quick Start

One-Command Launch (Web App)

cd prisma_tool
python start.py

That's it. On first run it will:

  1. Create a Python virtual environment and install all dependencies
  2. Install Node.js packages for the web frontend
  3. Create config.yaml from the template (if missing)
  4. Start the API server and web app on available ports
  5. Open the dashboard in your browser

Press Ctrl+C to stop — it kills both the backend and frontend automatically.

# Options
python start.py --install     # Force reinstall all dependencies
python start.py --port 9000   # Custom backend port (frontend = port + 1000)
python start.py --no-browser  # Don't auto-open browser
python start.py --cli         # CLI mode only (no web app)

Requirements: Python 3.10+ and Node.js 18+ must be installed.

Configure

Edit config.yaml with your search queries, date range, and screening keywords — or use the Settings page in the web app. See docs/CONFIG_GUIDE.md for details.

CLI Usage (Without Web App)

If you prefer the command line:

python start.py --cli     # Sets up venv, shows CLI commands

# Then activate and run:
# Windows
.venv\Scripts\activate

# Mac/Linux
source .venv/bin/activate

# Full pipeline
python -m prisma_review run-all

# Or step by step
python -m prisma_review search        # Search databases
python -m prisma_review dedup         # Remove duplicates
python -m prisma_review screen-rules  # Keyword screening
python -m prisma_review report        # Generate PRISMA diagram
python -m prisma_review export        # Export .bib + .csv

# Check progress
python -m prisma_review status

(Optional) AI Screening with Any MCP-Compatible Agent

Set up the MCP server to let AI agents (Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Windsurf, etc.) screen your papers. See docs/MCP_SETUP.md.

Web App Features

The web dashboard provides:

  • Dashboard — Real-time pipeline stepper, stat cards, interactive PRISMA 2020 flow diagram
  • Screening — Review papers with include/exclude/maybe decisions, re-screen with adjustable keyword threshold
  • Eligibility — Second-pass AI-assisted screening for stricter criteria
  • All Papers — Paginated, filterable, searchable table with field-picker export (CSV, BibTeX) — exports only filtered papers
  • Downloads — PDF viewer for downloaded papers (Elsevier, arXiv, Unpaywall)
  • Settings — Edit config, search queries, keywords, API keys from the browser
  • Projects — Create, switch, duplicate, import/export literature review projects
  • MCP Settings — View connection instructions for AI agents

Two-Pass Screening Workflow

Broad search queries in emerging fields often return hundreds of papers. A single keyword screening pass is too coarse — you need a second, stricter pass.

Pass 1 (Keyword Rules)          Pass 2 (AI Eligibility)
━━━━━━━━━━━━━━━━━━━━━          ━━━━━━━━━━━━━━━━━━━━━━━
1,600 records found             570 first-pass included
  → 57 duplicates removed         → AI reads each abstract
  → 973 excluded by rules         → Applies strict criteria
  → 570 included                  → ~50-80 final papers

Pass 1 uses configurable keyword rules to quickly eliminate obviously irrelevant papers. Papers matching ≥N include keywords (and no exclude keywords) are included; the rest are excluded or flagged as "maybe" for AI review.

Pass 2 uses Claude (via MCP) to read each first-pass included paper's abstract and apply domain-specific eligibility criteria, narrowing to only the most relevant studies for full-text review.

CLI Reference

CommandDescription
searchSearch all configured databases with your queries
dedupRemove duplicate papers (DOI + fuzzy title)
screen-rulesApply keyword-based screening rules
reportGenerate PRISMA flow diagram (PNG + Markdown)
exportExport included papers to .bib and .csv
downloadDownload open access PDFs for eligible papers
statusShow current pipeline state and counts
run-allRun the full pipeline end-to-end

Options:

  • --config PATH — Path to config.yaml (default: ./config.yaml)
  • --force — Re-run a step even if output already exists

MCP Tools Reference

First-Pass Screening

ToolDescription
get_screening_statsCurrent pipeline statistics
get_papers_to_screenBatch of "maybe" papers for AI review
get_paper_detailsFull details of a specific paper
screen_paperSave one screening decision
batch_screen_papersSave multiple screening decisions
search_in_papersKeyword search across collected papers

Second-Pass Eligibility

ToolDescription
get_papers_for_eligibilityBatch of first-pass included papers for stricter review
eligibility_screen_paperSave one eligibility decision
batch_eligibility_screenSave multiple eligibility decisions

Reporting

ToolDescription
generate_reportGenerate PRISMA diagram + export .bib/.csv
download_eligible_papersDownload PDFs (Elsevier, arXiv, Unpaywall, S2)

Pipeline Management

ToolDescription
start_pipelineStart full pipeline in background (search → dedup → screen)
get_pipeline_progressCheck pipeline status, current step, warnings
stop_pipelineCancel running pipeline (stops after current step)
start_pipeline_stepRun a single step (search, dedup, or screen)

Multi-Project Support

Each literature review is stored as an isolated project with its own config and data:

projects/
├── gfm-agriculture/
│   ├── config.yaml
│   └── prisma_output/
├── dl-medical/
│   ├── config.yaml
│   └── prisma_output/
└── .active_project              # tracks which project is loaded
  • Switch projects without losing data — each project has its own pipeline state
  • Auto-migration: Existing config.yaml + prisma_output/ are automatically copied into projects/ on first run (originals preserved for CLI)
  • Export/Import: Share projects as .zip files
  • Duplicate: Clone a project to start a new review from the same config

Manage projects via the web UI (/projects) or REST API (/api/projects).

Output Files

prisma_output/
├── 01_search/all_records.json           # All papers found (raw)
├── 02_dedup/
│   ├── deduplicated.json                # Unique papers
│   └── duplicates_log.csv               # Which papers were merged
├── 03_screen/
│   ├── screen_results.json              # All papers with decisions
│   ├── included.json                    # First-pass included papers
│   ├── excluded.json                    # Papers excluded
│   └── maybe.json                       # Papers needing manual review
├── 03b_eligibility/
│   ├── eligibility_results.json         # All eligibility decisions
│   ├── eligible_included.json           # Final included papers
│   └── eligible_excluded.json           # Excluded in second pass
├── 04_export/
│   ├── prisma_flow.md                   # PRISMA diagram (Markdown)
│   ├── prisma_flow.png                  # PRISMA diagram (image)
│   ├── included_papers.bib              # First-pass BibTeX
│   ├── included_papers.csv              # First-pass CSV
│   ├── eligible_papers.bib              # Final BibTeX (after eligibility)
│   └── eligible_papers.csv              # Final CSV (after eligibility)
├── 05_pdfs/
│   ├── Author2024_Paper_Title.pdf       # Downloaded open access PDFs
│   └── _download_log.json              # Log of download results
└── review_state.json                    # Pipeline state + counts

Comparison with Existing Tools

Only 2% of systematic review tools attempt full-process automation. Most focus on one stage.

Featureprisma_toolASReviewRayyanOtto-SRDistillerSR
Automated searchYesNoNoNoNo
DeduplicationYesNoYesNoYes
ScreeningRule + AI (MCP)Active learningManual + AILLM (GPT-4)AI-assisted
Two-pass screeningYesNoNoNoNo
PRISMA diagramAuto-generatedNoPluginNoYes
Full pipelineYesNoNoPartialNo
Open-sourceMITApache 2.0NoResearchNo
CostFreeFreeFreemiumResearch$$$

Documentation

Quick start: See docs/QUICKSTART.md

Full documentation: See the Wiki or browse the wiki/ folder:

GuideDescription
Installation & SetupPython setup, dependencies, first run
Configuration GuideHow to write config.yaml for any topic
Full Workflow TutorialEnd-to-end walkthrough
MCP & AI ScreeningSetup with any MCP agent
CLI ReferenceAll commands and options
MCP Tools API ReferenceAll 15 MCP tools with params and responses
PRISMA 2020 ComplianceChecklist mapping, flow diagram alignment
Writing Your MethodologyTemplate for thesis/paper methods section
Troubleshooting & FAQCommon issues and solutions

Also available in docs/:

Roadmap

  • v1.0: CLI + MCP server with two-pass screening
  • v1.5 (current): Re-screen from Screening page, PRISMA 2020 compliant diagram, workflow-ordered tutorial (24 steps)
  • v1.4: Elsevier-style export with field picker, per-project filter persistence
  • v1.3: One-command launcher, web dashboard, background pipeline, multi-project management, 15 MCP tools
  • v2.0 (planned): Desktop app (Tauri), drag-and-drop config builder, multi-user support

How to Cite

If you use this tool in your research, please cite:

@software{prisma_tool,
  author = {Mughees, Mohammad Ammar},
  title = {PRISMA Review Tool: AI-Assisted Systematic Literature Review},
  year = {2026},
  url = {https://github.com/Black-Lights/prisma-review-tool},
  license = {MIT}
}

Requirements

  • Python 3.10+
  • Node.js 18+ (for the web app; not needed for CLI-only usage)
  • No API keys needed for basic usage (OpenAlex is free and recommended)
  • Optional: Scopus API key for broader coverage (get from dev.elsevier.com, requires institutional access)
  • Optional: arXiv and Semantic Scholar (free but have aggressive rate limits)
  • Optional: Claude Code subscription for AI-assisted screening via MCP

Contributing

See CONTRIBUTING.md.

License

MIT

↑↓ navigate openesc close