Open Review Assistant
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Open Review AssistantShow me my next due review."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Open Review Assistant
A privacy-first adaptive review engine for learners and coding agents. It keeps prompts, answers, schedules, and review history in a local SQLite database and exposes the same small workflow through a command-line interface and an MCP server.
This repository is a clean public core extracted from a larger personal study system. It contains no real learner records, exam questions, private notes, or production databases. The demo content is synthetic.
Why this project exists
Many review tools combine content, scheduling, and user data in a hosted service. Open Review Assistant keeps the durable state on your machine, uses a deterministic scheduling policy, and makes every schedule transition auditable. An agent can select a due item, present it without exposing the stored answer, then record a score after the learner responds.
Related MCP server: srs-mcp
Features
Local SQLite storage with foreign keys and integrity checks.
Deterministic due-item selection and spaced-review scheduling.
Answer-safe retrieval:
nextomits the stored answer by default.Immutable review events recording previous and next intervals.
JSON output for scripts and agents.
Dependency-free Python core.
MCP tools over standard input/output.
Synthetic demo data and unit tests.
Quick start
Python 3.10 or newer is required.
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -e .
open-review --database review.sqlite3 init
open-review --database review.sqlite3 seed-demo
open-review --database review.sqlite3 nextAfter answering the returned prompt, grade the item from 0 to 5:
open-review --database review.sqlite3 grade ITEM_ID 4
open-review --database review.sqlite3 statsAll commands support --json. The database path is explicit so a test database
cannot silently replace a real one.
CLI
open-review init
open-review add --title TITLE --prompt PROMPT --answer ANSWER [--tags TAG ...]
open-review next [--tag TAG] [--show-answer]
open-review grade ITEM_ID SCORE
open-review stats
open-review seed-demoScores follow a compact, transparent scale:
Score | Meaning | Scheduling effect |
0 | No recall | Restart tomorrow |
1 | Incorrect | Restart tomorrow |
2 | Hard | Shorten the current interval |
3 | Correct with effort | Grow the interval conservatively |
4 | Correct | Grow using the current ease factor |
5 | Easy | Grow faster and raise the ease factor |
MCP server
Run the stdio server with:
open-review-mcp --database /absolute/path/to/review.sqlite3It exposes four tools:
review_add_itemreview_nextreview_gradereview_stats
Example Codex configuration:
[mcp_servers.open_review]
command = "open-review-mcp"
args = ["--database", "/absolute/path/to/review.sqlite3"]The server implements the MCP initialization, tool-listing, and tool-call subset needed for this workflow. Transport is newline-delimited JSON-RPC over stdio, and logs are never written to stdout.
Privacy model
No network calls, telemetry, accounts, or cloud synchronization.
Database files and journals are ignored by Git.
Answers are not returned by
nextunless explicitly requested.The public repository uses only synthetic examples.
Local-first is not the same as encrypted. Protect the device and database file according to the sensitivity of your material. See SECURITY.md.
Roadmap
This public core is extracted from a larger system that is used and improved continuously. Planned public milestones include:
Provider-agnostic AI generation of question variants that test the same knowledge from different angles without copying private source material.
Source-linked web and semantic review to check generated items for factual correctness, knowledge coverage, ambiguity, and unintended answer leakage.
Reproducible evaluation fixtures for variant quality, prompt injection, and answer-safety regressions.
Expanded MCP tools for orchestrating generation, verification, review, and weak-point analysis while keeping durable learner data local.
These capabilities will be added behind explicit interfaces so the scheduling core remains inspectable, offline-capable, and independent of any single model provider.
Development
PYTHONPATH=src python3 -m unittest discover -s tests -vContributions are welcome. Please read CONTRIBUTING.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceA local-first memory engine for AI agents with MCP-native, graph-linked, spaced repetition. It enables agents to log, retrieve, and manage learnings via CLI or MCP server.8AGPL 3.0
- AlicenseAqualityDmaintenanceEnables agents to perform spaced-repetition learning with FSRS scheduling, including adding cards, reviewing due cards, and grading recall, using a headless SQLite or Postgres backend.92MIT
- Alicense-qualityBmaintenanceProvides a local CBT exam system as MCP tools for Codex, managing study sessions, scoring, wrong answer tracking, and review queues with deterministic Python engine and optional Notion integration.MIT
- FlicenseCqualityCmaintenanceA local-first flashcard and quiz app with an MCP server for Codex, enabling users to manage decks, cards, quizzes, and reviews through natural language.19
Related MCP Connectors
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/roychenccecc/open-review-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server