local-study-app
A local-first flashcard and quiz app with an MCP server for Codex, enabling users to manage decks, cards, quizzes, and reviews through natural language.
README
Local Study App
A local-first, open-source flashcard and quiz app with a FastAPI website and a stdio MCP server for Codex. It uses SQLite, binds only to 127.0.0.1, and has no telemetry or runtime CDN dependencies.
Windows quick start
cd mcp-local-study-app
powershell -ExecutionPolicy Bypass -File scripts/install.ps1
powershell -ExecutionPolicy Bypass -File scripts/start.ps1
Start-Process http://127.0.0.1:8080
Python 3.9+ is supported. Data is stored in %LOCALAPPDATA%\local-study-app\study.db (override with STUDY_DATA_DIR). The MCP server is launched with python -m local_study_app.mcp_server from any directory.
Architecture
FastAPI serves a single-page vanilla JavaScript UI and JSON API. SQLite stores decks, cards, reviews, quiz sessions, and activity. The MCP server wraps the same service layer and communicates over stdio. The app never binds beyond localhost and does not contact external services.
MCP installation
codex mcp add local-study-app -- "C:\path\to\mcp-local-study-app\.venv\Scripts\python.exe" -m local_study_app.mcp_server
codex mcp list
Tools include website lifecycle (start_study_app, open_study_app, get_study_app_status, stop_study_app), deck/card CRUD, quiz generation/submission, reviews/progress, and JSON/CSV import/export.
Example prompts: “Show me my cards due today.” “Generate a quiz from Biology Basics.” “Open my local study website.” “Export my Spanish deck as CSV.”
Tests and scripts
powershell -ExecutionPolicy Bypass -File scripts/test.ps1
powershell -ExecutionPolicy Bypass -File scripts/stop.ps1
powershell -ExecutionPolicy Bypass -File scripts/uninstall.ps1
The test suite covers persistence, CRUD, imports/exports, quiz scoring, spaced repetition, health, process idempotence, and MCP tool contracts. Screenshots and the MCP test report live under docs/.
Security
Inputs are typed and validated, SQL uses parameterized queries, HTML is rendered with text nodes, uploads are size-limited and parsed before commit, and import/export filenames are constrained to the application data directory. There is no generic shell MCP tool, analytics, cloud sync, or arbitrary file access.
License
MIT.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.