Skip to main content
Glama

claude-memory

面向 Claude Code 的记忆与项目跟踪。一个 MCP 服务器。

  • 对所有过去的 Claude Code 会话记录进行语义搜索——新会话能回忆起旧会话,远超上下文窗口的限制

  • 持久化笔记(remember)——按项目或全局

  • 结构化跟踪:项目 → 里程碑 → 史诗 → 工单 → 待办事项,以路线图形式呈现

  • 跟踪项嵌入到同一向量空间——工单会出现在语义搜索结果中

  • 项目级系统提示词,存储在数据库中,可在会话开始时注入

技术栈:Voyage AI 嵌入模型 + Qdrant 向量数据库 + SQLite + FastMCP。 全部免费:Voyage 免费套餐轻松覆盖个人使用,Qdrant Cloud 免费套餐可容纳 100 万向量(或运行本地 docker)。运营成本为 $0。

设置

两个密钥:

git clone https://github.com/mathis-sperlich/claude-memory
cd claude-memory
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp .env.example .env
# fill VOYAGE_API_KEY, QDRANT_URL, QDRANT_API_KEY

将 ingest.py 中的 SCAN_PROJECTS 指向你的会话记录目录(Claude Code 会将它们写入 ~/.claude/projects/<encoded-project-dir>/*.jsonl)。

Related MCP server: karve

摄取

.venv/bin/python ingest.py --dry-run   # sanity-check chunking
.venv/bin/python ingest.py             # embed + upsert

幂等——重复运行只会嵌入新的分块。可安全地作为 cron 任务。每小时运行的 launchd 模板:launchd/com.mathis.claude-memory.plist(编辑路径,cp 到 ~/Library/LaunchAgents/,然后 launchctl load)。

从命令行测试检索:

.venv/bin/python query.py "how did the auth token refresh bug get fixed?"

结果不理想?调低 ingest.py 中的 MAX_CHUNK_CHARS,或尝试在 .env 中使用更大的 EMBED_MODEL,并用 --reset 重新摄取。

接入 Claude Code

~/.claude/settings.json:

{
  "mcpServers": {
    "claude-memory": {
      "command": "/path/to/claude-memory/.venv/bin/python",
      "args": ["/path/to/claude-memory/mcp_server.py"]
    }
  }
}

重启 Claude Code。完成——Claude 现在拥有 query_history、remember、跟踪工具和系统提示词工具。

工具

记忆

工具

用途

query_history(question, k=, project=, since=, kind=)

对所有内容进行语义搜索。kind:note、transcript、tracking 或子类型

list_recent_sessions(days=, project=)

我最近在做什么

remember(content, title=, tags=, project=)

保存持久化笔记。project 限定范围;省略 → 全局(出现在每个项目的搜索中)

list_notes(tag=, limit=) / forget(note_id)

管理笔记

跟踪

层级:项目 → 里程碑(可选)→ 史诗 → 工单 → 待办事项。

工具

用途

create_project(name, description=)

层级顶端

create_milestone(project, name, body=, target_date=)

一起发布的内容

create_epic(project, title, body=, milestone=, priority=)

将工单归组以达成目标

create_ticket(project, title, body=, epic=, priority=)

工作单元

create_todo(project, title, body=, ticket=, priority=)

小步骤

list_items(kind=, project=, status=, parent_id=)

筛选后的列表

get_item(id)

单个条目及其子项

update_item(id, status=, title=, body=, priority=, ...)

部分更新,对不适用的字段报错

delete_item(id)

删除。项目必须为空才能删除

get_roadmap(project)

Markdown 路线图:里程碑 → 史诗 → 工单 + 进度

list_projects()

所有存储中的每个项目名称

status:open / in_progress / done。priority:P0–P3。

系统提示词

set_system_prompt(content, project=) / get_system_prompt(project=) / list_system_prompts() / delete_system_prompt(project=)。全局层 + 项目级层,读取时组合。存储在 tracking.db 中。未设置时回退到 docs/usage.md。

钩子(可选,确定性)

MCP 工具由模型决定何时触发。钩子始终触发。hooks/session_start.py 在每次会话开始时注入当前项目的未关闭工单 + 系统提示词:

{
  "hooks": {
    "SessionStart": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "/path/to/claude-memory/.venv/bin/python /path/to/claude-memory/hooks/session_start.py"
      }]
    }]
  }
}

远程访问(可选)

默认 = 本地 stdio,零网络。想从 claude.ai 或其他机器访问同一份记忆?HTTP 传输 + Cloudflare 隧道 + 带登录白名单的 GitHub OAuth:

.venv/bin/python mcp_server.py --transport http --port 8765

完整教程(包括 launchd 服务 + 自愈看门狗):CLOUD_SETUP.md。

备注

  • 隐私:Voyage 在嵌入时能看到文本(根据服务条款,不会用客户数据训练),Qdrant Cloud 存储向量和负载。如果两者都让你担心 → 使用本地 Qdrant + 本地嵌入器,代码不变。

  • 停滞的嵌入请求由 VOYAGE_TIMEOUT / VOYAGE_MAX_RETRIES 环境变量限制(默认 20 秒 / 2 次)。

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides persistent semantic memory for Claude Code via local embeddings and six MCP tools, enabling context storage and retrieval across sessions without cloud dependencies.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Persistent project memory MCP server for Claude Code that remembers development context across sessions, including features, fixes, notes, and standards.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides persistent long-term memory for Claude Code, enabling storage, search, and retrieval of project knowledge across sessions.
    -