SQLite项目内存服务

基于SQLite的MCP服务器,用于以图友好的关系型核心存储项目内存,适用于AI代理安全的工作流程。

  • by WebRTCGame
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 WebRTCGame/SQLITE-MCP

使用说明

SQLite项目内存MCP

SQLite支持的MCP服务器,用于将项目内存存储为图形友好的关系核心。

为什么这个项目

  • 在SQLite中保持权威状态(单一事实来源)。
  • 提供图形语义(entities, relationships, content, tags).
  • 支持结构化读取(query_view)以及显式生成的markdown视图。
  • 专为AI代理安全工作流程而设计。

核心模型

  • entities
  • attributes
  • relationships
  • content
  • tags
  • events, snapshots, snapshot_entities (审计/历史)

支持 sync-document 目标

  • 核心文件: architecture, decisions, plan, notes, roadmap
  • 扩展码头: kpi, okr, strategy, risk, issue, epic, story, feature, milestone, release, dependency, objective, initiative, metric, capability, assumption, problem_statement, retrospective, action_item

安装

将仓库克隆到 sqlite-mcp 然后运行一次安装程序。 脚本检测其位置,将所有运行时文件放入其中 Project Memory/,并写道 .vscode/mcp.json.

无需安装Python。 安装程序下载 uv 并用它来获取 一个固定的CPython 3.12.9解释器自动运行。解释器缓存在 Project Memory/.uv/python/ 虚拟环境创建于 Project Memory/.venv. 如果 uv 下载失败(例如在防火墙后面),安装程序将回退到任何 Python 3.11+已经在机器上了。

重要提示:在项目根目录(父文件夹)上打开VS Code,而不是在 sqlite-mcp 子文件夹。 MCP配置被写入项目根目录 .vscode/mcp.json.

Windows(PowerShell)

# from your project root
git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp
.\sqlite-mcp\install.ps1

可选标志:

  • -LogFile install.log --保存完整的成绩单以供调试
  • -AppendInstructions --将代码段附加到建议的指令文件(幂等)

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.sh

可选标志:

  • --log-file install.log --保存完整的成绩单以供调试
  • --append-instructions --将代码段附加到建议的指令文件(幂等)

要更新,请执行以下操作: 成功嵌套安装后,脚本将位于 Project Memory/ 因为 sqlite-mcp 收银台搬到了那里。使用以下命令从项目根目录重新运行安装程序 Project Memory\install.ps1 (Windows)或 Project Memory/install.sh (Linux/macOS)。对于就地/开发者安装,请重新运行相同的命令。

仅限pip(开发人员/高级)

当你想自己管理环境时使用(需要Python 3.11+):

python -m venv .venv
source .venv/bin/activate   # or .venv\Scripts\Activate.ps1 on Windows
pip install -e .

或者直接使用uv(不需要系统Python——uv会自动下载Python):

uv venv --python 3.12.9 .venv
uv pip install -e .

完整示例:

./sqlite-mcp/install.sh

启动服务器

& ".\Project Memory\.venv\Scripts\python.exe" -m sqlite_mcp_server

路径

  • Project Memory/.venv --虚拟环境(固定Python 3.12.9)
  • Project Memory/.uv/bin/uv[.exe] --uv运行时管理器(由安装程序下载)
  • Project Memory/.uv/python/ --固定CPython解释器(首次运行时由uv获取)
  • Project Memory/pm_data/project_memory.db
  • Project Memory/pm_exports
  • .vscode/mcp.json
  • .vscode/settings.json 也可以由Copilot/VS Code自动创建 chat.mcp.serverSampling 条目为 sqlite-project-memory;这是意料之中的。

要覆盖固定的Python版本:

$env:SQLITE_MCP_PYTHON_VERSION = "3.13.0"; .\sqlite-mcp\install.ps1
SQLITE_MCP_PYTHON_VERSION=3.13.0 ./sqlite-mcp/install.sh

CLI工具

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.json

配置

环境变量:

  • SQLITE_MCP_PROJECT_ROOT
  • SQLITE_MCP_DB_PATH
  • SQLITE_MCP_EXPORT_DIR
  • SQLITE_MCP_TRANSPORT (stdio 或 streamable-http)
  • SQLITE_MCP_LOG_LEVEL (INFO 默认)
  • SQLITE_MCP_LOG_FORMAT (json 或 text)

安装后挂钩

  • 创建 .scripts/post_install.ps1 (PowerShell)或 .scripts/post_install.sh.
  • 安装脚本执行钩子(如果存在)。

快速启动(Windows)

  1. 将仓库克隆到您的项目中。
  2. 运行安装程序:
    git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp
    .\sqlite-mcp\install.ps1
    
    安装后,确保在父项目根目录下打开VS Code(例如 C:\CODE\TestProject),不 C:\CODE\TestProject\sqlite-mcp.
  3. 激活运行时venv:
    & ".\Project Memory\.venv\Scripts\Activate.ps1"
    
  4. 运行自检:
    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" health
    
  5. 启动服务器:
    python -m sqlite_mcp_server
    

快速入门(Linux/macOS)

  1. 将仓库克隆到您的项目中。
  2. 运行安装程序:
    git clone https://github.com/WebRTCGame/SQLITE-MCP.git sqlite-mcp
    chmod +x ./sqlite-mcp/install.sh
    ./sqlite-mcp/install.sh
    
    安装后,确保在父项目根目录下打开VS Code,而不是 sqlite-mcp 子文件夹。
  3. 激活运行时venv:
    source "Project Memory/.venv/bin/activate"
    
  4. 运行自检:
    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" health
    
  5. 启动服务器:
    python -m sqlite_mcp_server
    

备注

  • render_markdown_views/export_markdown_views 需要 user_requested=true 和 request_reason.
  • sync-document 是锚定的(没有处于路线图状态的非结构化自由文本记录)。
  • project_state 和 health 是主要诊断。

AI优先设计

  • 通过MCP工具编写实体/内容。
  • 仅在明确的用户请求时生成文档。

将AI指令添加到您的项目中

运行安装程序后,将以下代码片段粘贴到您的AI指令文件中 (copilot-instructions.md, AGENTS.md, CLAUDE.md或等效物)。 安装程序还将此代码段打印到终端作为提醒。

## 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.

使用闸门检查表

为了获得最佳可靠性,请确认以下所有内容:

  1. .vscode/mcp.json 包含 sqlite-project-memory 服务器。
  2. 此工作区已接受VS Code MCP批准/信任提示。
  3. 聊天处于代理模式(不是常规聊天/编辑模式)。
  4. Project Memory agent位于agents下拉列表中。
  5. /sqlite-project-memory 技能在斜线命令中可用。
  6. 您的项目说明文件包括SQLite项目内存代码段。
  7. 以以下方式开始每个会话 get_project_context 然后 get_recent_activity 或 query_view.

安装程序打印 Usage Gates Report 和 PASS 或 ACTION REQUIRED 对于闸门,它可以自动验证。 如果工具仍然没有出现,请先完全重新加载或重新启动VS Code,然后启动新的代理聊天会话。 如果重新启动后服务器尚未运行,请运行 MCP: Start Server 从“命令选项板”中,选择 sqlite-project-memory,并重新启动聊天会话。