SQLite Project Memory MCP
Supports rendering and exporting project memory into human-readable Markdown files, allowing structured data like roadmaps and tasks to be viewed as generated documents.
Utilizes a SQLite database as the authoritative relational store for project memory, providing tools to manage entities, relationships, and content through structured SQL-backed operations.
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., "@SQLite Project Memory MCPshow me the project overview and recent activity"
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.
SQLite Project Memory MCP
SQLite-backed MCP server for storing project memory as a graph-friendly relational core.
Why this project
Keeps authoritative state in SQLite (single source of truth).
Provides graph semantics (
entities,relationships,content,tags).Supports structured reads (
query_view) and explicit generated markdown views.Designed for AI-agent-safe workflows.
Core model
entitiesattributesrelationshipscontenttagsevents,snapshots,snapshot_entities(audit/history)
Supported sync-document targets
Core documents:
architecture,decisions,plan,notes,roadmapExtended docks:
kpi,okr,strategy,risk,issue,epic,story,feature,milestone,release,dependency,objective,initiative,metric,capability,assumption,problem_statement,retrospective,action_item
Install
Clone the repo into a sqlite-mcp subfolder of your project, then run the installer once.
The script detects its location, places all runtime files inside Project Memory/, and writes .vscode/mcp.json.
No Python installation required. The installer downloads uv and uses it to fetch
a pinned CPython 3.12.9 interpreter automatically. The interpreter is cached in
Project Memory/.uv/python/ and the virtual environment is created in Project Memory/.venv.
If the uv download fails (e.g. behind a firewall) the installer falls back to any
Python 3.11+ already on the machine.
Important: open VS Code on your project root (the parent folder), not on the sqlite-mcp subfolder.
The MCP config is written to the project root at .vscode/mcp.json.
Windows (PowerShell)
# from your project root
git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp
.\sqlite-mcp\install.ps1Optional flag:
-LogFile install.log— save a full transcript for debugging-AppendInstructions— append snippet to the suggested instructions file (idempotent)
Linux / macOS
# from your project root
git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp
chmod +x ./sqlite-mcp/install.sh
./sqlite-mcp/install.shOptional flag:
--log-file install.log— save a full transcript for debugging--append-instructions— append snippet to the suggested instructions file (idempotent)
To update: after a successful nested install, the scripts live under Project Memory/ because the sqlite-mcp checkout is moved there. Re-run the installer from your project root with Project Memory\install.ps1 (Windows) or Project Memory/install.sh (Linux/macOS). For in-place/developer installs, re-run the same command.
pip only (developer / advanced)
Used when you want to manage the environment yourself (requires Python 3.11+):
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\Activate.ps1 on Windows
pip install -e .Or with uv directly (no system Python needed — uv downloads Python automatically):
uv venv --python 3.12.9 .venv
uv pip install -e .Full example:
./sqlite-mcp/install.shStart server
& ".\Project Memory\.venv\Scripts\python.exe" -m sqlite_mcp_serverPaths
Project Memory/.venv— virtual environment (pinned Python 3.12.9)Project Memory/.uv/bin/uv[.exe]— uv runtime manager (downloaded by installer)Project Memory/.uv/python/— pinned CPython interpreter (fetched by uv on first run)Project Memory/pm_data/project_memory.dbProject Memory/pm_exports.vscode/mcp.json.vscode/settings.jsonmay also be created automatically by Copilot/VS Code withchat.mcp.serverSamplingentries forsqlite-project-memory; this is expected.
To override the pinned Python version:
$env:SQLITE_MCP_PYTHON_VERSION = "3.13.0"; .\sqlite-mcp\install.ps1SQLITE_MCP_PYTHON_VERSION=3.13.0 ./sqlite-mcp/install.shCLI tools
sqlite-project-memory-admin bootstrap-self --repo-root .
sqlite-project-memory-admin project-state
sqlite-project-memory-admin health
sqlite-project-memory-admin sync-document architecture --input-path architecture.md
sqlite-project-memory-admin sync-document decisions --input-path decisions.md
sqlite-project-memory-admin sync-document roadmap --input-path roadmap.md
sqlite-project-memory-admin export-views --user-requested --request-reason "User asked for a roadmap export" --require-existing-dir exports todo roadmap architecture
sqlite-project-memory-admin export-views --user-requested --request-reason "User asked for refreshed generated docs" --force todo roadmap architecture
sqlite-project-memory-admin export-json --output-path exports/project_memory.snapshot.json
sqlite-project-memory-admin import-json --input-path exports/project_memory.snapshot.jsonConfiguration
Environment variables:
SQLITE_MCP_PROJECT_ROOTSQLITE_MCP_DB_PATHSQLITE_MCP_EXPORT_DIRSQLITE_MCP_TRANSPORT(stdioorstreamable-http)SQLITE_MCP_LOG_LEVEL(INFOdefault)SQLITE_MCP_LOG_FORMAT(jsonortext)
Post-install hook
Create
.scripts/post_install.ps1(PowerShell) or.scripts/post_install.sh.The install script executes the hook if present.
Quick start (Windows)
Clone the repo into your project.
Run the installer:
git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp .\sqlite-mcp\install.ps1After install, ensure VS Code is opened at the parent project root (for example
C:\CODE\TestProject), notC:\CODE\TestProject\sqlite-mcp.Activate runtime venv:
& ".\Project Memory\.venv\Scripts\Activate.ps1"Run self-check:
sqlite-project-memory-admin --db-path "Project Memory/pm_data/project_memory.db" project-state sqlite-project-memory-admin --db-path "Project Memory/pm_data/project_memory.db" healthStart the server:
python -m sqlite_mcp_server
Quick start (Linux/macOS)
Clone the repo into your project.
Run the installer:
git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp chmod +x ./sqlite-mcp/install.sh ./sqlite-mcp/install.shAfter install, ensure VS Code is opened at the parent project root, not the
sqlite-mcpsubfolder.Activate runtime venv:
source "Project Memory/.venv/bin/activate"Run self-check:
sqlite-project-memory-admin --db-path "Project Memory/pm_data/project_memory.db" project-state sqlite-project-memory-admin --db-path "Project Memory/pm_data/project_memory.db" healthStart the server:
python -m sqlite_mcp_server
Notes
render_markdown_views/export_markdown_viewsrequireuser_requested=trueandrequest_reason.sync-documentis anchored (no unstructured free-text record in roadmap state).project_stateandhealthare primary diagnostics.
AI-first design
Write entities/content through MCP tools.
Generate docs only on explicit user request.
Add AI instructions to your project
After running the installer, paste the snippet below into your AI instructions file
(copilot-instructions.md, AGENTS.md, CLAUDE.md, or equivalent).
The installer also prints this snippet to the terminal as a reminder.
## SQLite Project Memory
This project uses the **`sqlite-project-memory` MCP server** as the single source of truth for all project state.
### Mandatory rules
- **NEVER** create, modify, or delete `.md` files for notes, tasks, decisions, roadmaps, or architecture.
- **ALWAYS** use `sqlite-project-memory` MCP tools to store and retrieve project knowledge.
- `README.md` is the **only** markdown file you may edit directly.
- Files in `Project Memory/pm_exports/` are read-only derived artifacts — never edit them directly.
### Tool usage guide
| Intent | Tool to use |
|--------|-------------|
| Add a task / todo | `create_entity` (entity_type: `task`) |
| Record a decision | `create_entity` (entity_type: `decision`) |
| Document a component | `create_entity` (entity_type: `component`) + `write_content` |
| Add a note to an item | `write_content` or `append_content` |
| Query project state | `query_view`, `list_entities`, `get_entity` |
| Search knowledge | `search_content` |
| Link two items | `add_relationship` or `connect_entities` |
| Export to markdown | `export_markdown_views` with `user_requested: true` — only when explicitly asked |
### First action each session
Before making changes, call `get_project_context` to confirm the database path and project root, then call `get_recent_activity` or `query_view` to orient yourself.Usage gates checklist
For best reliability, confirm all of the following:
.vscode/mcp.jsoncontains thesqlite-project-memoryserver.VS Code MCP approval/trust prompt was accepted for this workspace.
Chat is in Agent mode (not regular chat/edit mode).
Project Memoryagent is available in the agents dropdown./sqlite-project-memoryskill is available in slash commands.Your project instructions file includes the SQLite Project Memory snippet.
Start each session with
get_project_contextthenget_recent_activityorquery_view.
The installer prints a Usage Gates Report with PASS or ACTION REQUIRED for the gates it can validate automatically.
If tools still do not appear, first fully reload or restart VS Code and start a new Agent chat session.
If the server is not already running after restart, run MCP: Start Server from the Command Palette, select sqlite-project-memory, and restart the chat session.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/WebRTCGame/SQLITE-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server