Skip to main content
Glama
leesgit

claude-session-continuity-mcp

claude-session-continuity-mcp (v1.13.0)

为 Claude Code 提供无需重新解释的会话连续性 — 自动上下文捕获 + 语义搜索 + 自动错误→解决方案流水线

npm version License: MIT Tests Node claude-session-continuity-mcp MCP server

问题所在

每一个新的 Claude Code 会话:

"This is a Next.js 15 project with App Router..."
"We decided to use Server Actions because..."
"Last time we were working on the auth system..."
"The build command is pnpm build..."

每次都要花费 5 分钟来设置上下文。每一次都是如此。

解决方案

全自动。 Claude Hooks 无需手动调用即可处理一切:

# Session start → Auto-loads relevant context + recent session history
# When asking → Auto-injects relevant memories/solutions
# During conversation → Tracks active files + auto-injects error solutions
# On compact → Structured handover context for continuity
# On exit → Extracts commits, decisions, error-fix pairs from transcript
← Auto-output on session start:
# my-app - Session Resumed

📍 **State**: Implementing signup form

## Recent Sessions
### 2026-02-28
**Work**: Completed OAuth integration with Google provider
**Commits**: feat: add OAuth callback handler; fix: redirect URI config
**Decisions**: Use Server Actions instead of API routes

### 2026-02-27
**Work**: Set up authentication foundation
**Next**: Implement signup form validation

## Directives
- 🔴 Always use Zod for form validation
- 📎 Prefer Server Components by default

## Key Memories
- 🎯 Decided on App Router, using Server Actions
- ⚠️ OAuth redirect_uri mismatch → check env file

零手动操作。上下文如影随形。


快速开始

一键安装

npm install claude-session-continuity-mcp

就是这样! 安装后脚本会自动:

  1. ~/.claude.json 中注册 MCP 服务器

  2. ~/.claude/settings.json 中安装 Claude Hooks

安装内容

MCP 服务器 (位于 ~/.claude.json 中):

{
  "mcpServers": {
    "project-manager": {
      "command": "npx",
      "args": ["claude-session-continuity-mcp"]
    }
  }
}

Claude Hooks (位于 ~/.claude/settings.json 中):

{
  "hooks": {
    "SessionStart": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-session-start" }] }],
    "UserPromptSubmit": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-user-prompt" }] }],
    "PostToolUse": [{ "matcher": "Edit", "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-post-tool" }] }, { "matcher": "Write", "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-post-tool" }] }],
    "PreCompact": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-pre-compact" }] }],
    "Stop": [{ "hooks": [{ "type": "command", "command": "npm exec -- claude-hook-session-end" }] }]
  }
}

注意 (v1.5.0+): 通过 5 个钩子实现全生命周期覆盖。使用 npm exec --,它会优先查找本地的 node_modules/.bin

已安装的钩子 (v1.5.0+)

钩子

命令

功能

SessionStart

claude-hook-session-start

会话开始时自动加载项目上下文

UserPromptSubmit

claude-hook-user-prompt

自动注入相关记忆 + 过去参考搜索

PostToolUse

claude-hook-post-tool

跟踪活跃文件 (编辑、写入) + 自动注入错误解决方案 (Bash)

PreCompact

claude-hook-pre-compact

在压缩前构建结构化的交接上下文

Stop

claude-hook-session-end

从记录中提取提交、决策、错误修复对

手动管理钩子

# Check hook status
npx claude-session-hooks status

# Reinstall hooks
npx claude-session-hooks install

# Remove hooks
npx claude-session-hooks uninstall

3. 重启 Claude Code

安装完成后,重启 Claude Code 以激活钩子。


特性

特性

描述

🤖 零手动操作

Claude Hooks 自动化所有上下文捕获/加载

🎯 仅高质量记忆

(v1.10.0) 仅记录决策、学习、错误 — 无文件变更噪音

🧠 语义搜索

multilingual-e5-small 嵌入 (94+ 种语言,384d)

🌍 多语言支持

韩语/英语/日语 + 跨语言搜索 (英→韩,韩→英)

🔗 Git 集成

从记录中自动提取提交信息

🕸️ 知识图谱

记忆关系 (解决、导致、扩展...)

📊 记忆分类

5 种类型:观察、决策、学习、错误、模式

集成验证

一键执行构建/测试/Lint

📋 任务管理

基于优先级的任务管理

🔧 自动错误→解决方案

(v1.12.0) Bash 错误自动检测 → 注入过往解决方案;会话结束自动记录错误修复对

💰 Token 效率

(v1.11.0) 从 UserPromptSubmit 中移除了 loadContext (每会话节省 24-60K tokens)

📑 渐进式披露

(v1.11.0) memory_search 先返回索引,memory_get 获取完整内容

时间衰减

(v1.11.0) 具有类型特定半衰期的记忆评分,以确保相关性

📝 结构化交接

(v1.10.0) PreCompact 保存工作摘要、活跃文件、待办事项

🚪 智能会话结束

(v1.10.0) 从记录中提取提交、决策、错误修复对

🗑️ 自动噪音清理

(v1.10.0) 自动删除陈旧的观察记忆 (3天以上)

🔍 过往参考检测

(v1.8.0) "上次 X 是怎么做的?" 自动搜索数据库

📝 用户指令提取

(v1.8.0) 从提示词中自动提取 "总是/从不" 规则


Claude Hooks - 自动上下文系统

工作原理

SessionStart 钩子 (npx claude-hook-session-start):

  • 自动检测项目:Monorepo (apps/project-name/) 或单项目 (package.json 根文件夹名)

  • .claude/sessions.db 加载上下文

  • 注入:当前状态、3 个最近的会话(包含提交/决策)、指令、待办任务、过滤后的关键记忆

  • 自动清理陈旧的噪音记忆 (3天以上自动跟踪,14天以上自动压缩)

UserPromptSubmit 钩子 (npx claude-hook-user-prompt):

  • 在每次提交提示词时运行

  • (v1.11.0) 不再调用 loadContext() — 每会话节省 24-60K tokens

  • 注入相关上下文 (过滤:仅限决策、学习、错误)

PostToolUse 钩子 (npx claude-hook-post-tool):

  • 跟踪热点文件路径并更新 active_context.recent_files

  • (v1.12.0) 自动检测 Bash 错误 → 搜索解决方案数据库 → 将过往解决方案注入上下文

  • 不再创建观察记忆 (v1.10.0 — 消除了 [File Change] 噪音)

PreCompact 钩子 (npx claude-hook-pre-compact):

  • 构建结构化的交接上下文:工作摘要、活跃文件、待办动作、关键事实、最近错误

  • 不再存储自动压缩记忆 (v1.10.0)

Stop 钩子 (npx claude-hook-session-end):

  • 从 JSONL 记录中提取提交信息 (git commit -m 模式)

  • 提取错误修复对 (3 条消息内的错误 → 解决方案)

  • (v1.12.0) 自动将错误→修复对记录到解决方案表以供将来重用

  • 提取决策 ("因为"、"而不是"、"选择" 模式)

  • (v1.11.0) 单次遍历记录解析 (4 次 JSONL 读取 → 1 次)

  • 将结构化元数据存储在 sessions.issues 列中 (JSON 格式)

输出示例 (会话开始)

# my-app - Session Resumed

📍 **State**: Implementing signup form
🚧 **Blocker**: OAuth callback URL issue

## Recent Sessions
### 2026-02-28
**Work**: Completed OAuth integration
**Commits**: feat: add OAuth handler; fix: redirect config
**Decisions**: Use Server Actions over API routes
**Next**: Implement form validation

## Directives
- 🔴 Always use Zod for validation

## Pending Tasks
- 🔄 [P8] Implement form validation
- ⏳ [P5] Add error handling

## Key Memories
- 🎯 Decided on App Router, using Server Actions
- ⚠️ OAuth redirect_uri mismatch → check env file

钩子管理

# Check status
npx claude-session-hooks status

# Reinstall
npx claude-session-hooks install

# Remove
npx claude-session-hooks uninstall

# Temporarily disable
export MCP_HOOKS_DISABLED=true

过往参考检测 (v1.8.0)

当您询问过往工作时,UserPromptSubmit 钩子会自动搜索数据库:

You: "저번에 인앱결제 어떻게 했어?"
→ Hook detects "저번에" + extracts keyword "인앱결제"
→ Searches sessions, memories (FTS5), and solutions
→ Injects matching results into context automatically

支持的模式 (韩语和英语):

模式

示例

저번에/전에/이전에 ... 어떻게

"上次 CORS 错误是怎么解决的?"

~했던/만들었던/해결했던

"修改过的登录逻辑"

지난 세션/작업에서

"上个会话中的支付实现"

last time/before/previously

"上次我们是怎么处理认证的?"

did we/did I ... before

"我们之前修复过数据库迁移吗?"

remember when/recall when

"还记得我们设置 CI 的时候吗?"

输出示例:

## Related Past Work (auto-detected from your question)

### Sessions
- [2/14] 카카오 로그인 앱키 수정, 인앱결제 IAP 플로우 수정

### Memories
- 🎯 [decision] 테스트: 인앱결제 상품 등록 완료

### Solutions
- **IAP_BILLING_ERROR**: StoreKit 2 migration으로 해결

为什么使用 npm exec? (v1.4.3+)

旧版本使用绝对路径或 npx

// v1.3.x - absolute paths (broke on multi-project)
"command": "node \"/path/to/project-a/node_modules/.../session-start.js\""

// v1.4.0-1.4.2 - npx (required global install or hit npm registry)
"command": "npx claude-hook-session-start"

现在我们使用 npm exec --

"command": "npm exec -- claude-hook-session-start"

npm exec -- 会优先查找本地 node_modules/.bin,然后回退到全局。无需访问 npm 注册表即可同时支持本地和全局安装。


工具 (v5 API) - 25 个专注工具

1. 会话生命周期 (4) ⭐

// Start of session - auto-loads context
session_start({ project: "my-app", compact: true })

// End of session - auto-saves context
session_end({
  project: "my-app",
  summary: "Completed auth flow",
  modifiedFiles: ["src/auth.ts", "src/login/page.tsx"]
})

// View session history
session_history({ project: "my-app", limit: 5 })

// Semantic search past sessions
search_sessions({ query: "auth work", project: "my-app" })

2. 项目管理 (4)

// Get project status with task stats
project_status({ project: "my-app" })

// Initialize new project
project_init({ project: "my-app" })

// Analyze project tech stack
project_analyze({ project: "my-app" })

// List all projects
list_projects()

3. 任务管理 (4)

// Add a task
task_add({ project: "my-app", title: "Implement signup", priority: 8 })

// Update task status
task_update({ taskId: 1, status: "done" })

// List tasks
task_list({ project: "my-app", status: "pending" })

// Suggest tasks from TODO comments
task_suggest({ project: "my-app" })

4. 解决方案存档 (3)

// Record an error solution
solution_record({
  errorSignature: "TypeError: Cannot read property 'id'",
  solution: "Use optional chaining: user?.id"
})

// Find similar solutions (keyword or semantic)
solution_find({ query: "TypeError property", semantic: true })

// AI-powered solution suggestion
solution_suggest({ errorMessage: "Cannot read property 'email'" })

5. 验证 (3)

// Run build
verify_build({ project: "my-app" })

// Run tests
verify_test({ project: "my-app" })

// Run all (build + test + lint)
verify_all({ project: "my-app" })

6. 记忆系统 (5)

// Store a classified memory
memory_store({
  content: "State management with Riverpod makes testing easier",
  type: "learning",  // observation, decision, learning, error, pattern
  project: "my-app",
  tags: ["flutter", "state-management"],
  importance: 8,
  relatedTo: 23  // Connect to existing memory
})

// Search memories — returns index (id, type, tags, score) for token efficiency
memory_search({
  query: "state management test",
  type: "learning",
  semantic: true,  // Use embedding similarity
  limit: 10
})

// Get full memory content by ID (v1.11.0)
memory_get({ memoryId: 23 })

// Find related memories (graph + semantic)
memory_related({
  memoryId: 23,
  includeGraph: true,
  includeSemantic: true
})

// Get memory statistics
memory_stats({ project: "my-app" })

7. 知识图谱 (2)

// Connect two memories with a typed relation
graph_connect({
  sourceId: 23,
  targetId: 25,
  relation: "solves",  // related_to, causes, solves, depends_on, contradicts, extends, example_of
  strength: 0.9
})

// Explore knowledge graph
graph_explore({
  memoryId: 23,
  depth: 2,
  relation: "all",  // or specific relation type
  direction: "both"  // outgoing, incoming, both
})

记忆类型

类型

描述

使用场景

observation

代码库中发现的模式、结构

"所有屏幕都分离在 features/ 文件夹中"

decision

架构、库的选择

"决定使用 SharedPreferences 进行缓存"

learning

新知识、最佳实践

"Riverpod 更适合测试"

error

发生的错误及解决方案

"Provider.read() 不会重建 → 使用 watch()"

pattern

重复的代码模式、约定

"避免滥用 late 关键字"

关系类型

关系

描述

示例

related_to

一般关系

A 和 B 相关

causes

A 导致 B

缓存决策 → 文件夹结构变更

solves

A 解决 B

Riverpod 学习 → Provider Bug 修复

depends_on

A 依赖 B

文件夹结构 → 缓存决策

contradicts

A 与 B 冲突

两个设计决策冲突

extends

A 扩展 B

late 模式 → 扩展到 Riverpod 学习

example_of

A 是 B 的示例

特定代码是模式的示例


数据存储

SQLite 数据库位于 ~/.claude/sessions.db

用途

memories

分类记忆 (观察、决策、学习、错误、模式)

memories_fts

全文搜索索引 (FTS5)

memory_relations

知识图谱关系

embeddings_v4

语义搜索向量 (multilingual-e5-small, 384d)

project_context

固定项目信息 (技术栈、决策)

active_context

当前工作状态

tasks

任务积压

solutions

错误解决方案存档

sessions

会话历史


环境变量

变量

默认值

描述

WORKSPACE_ROOT

-

工作区根路径 (必需)

MCP_HOOKS_DISABLED

false

禁用 Claude Hooks

LOG_LEVEL

info

日志级别 (debug/info/warn/error)

LOG_FILE

-

可选的日志文件路径


开发

# Clone
git clone https://github.com/leesgit/claude-session-continuity-mcp.git
cd claude-session-continuity-mcp

# Install
npm install

# Build
npm run build

# Test
npm test

# Test with coverage
npm run test:coverage

性能

指标

上下文加载 (缓存)

<5ms

记忆搜索 (FTS)

~10ms

语义搜索

~50ms

构建验证

取决于项目


路线图

  • [x] v2 API (15 个专注工具)

  • [x] v4 API (24 个工具 - 记忆 + 图谱)

  • [x] v5 Claude Hooks (自动捕获)

  • [x] 带有类型关系的知识图谱

  • [x] 记忆分类 (6 种类型)

  • [x] 语义搜索 (嵌入)

  • [x] 多语言模式检测 (韩/英/日)

  • [x] Git 提交集成

  • [x] 111 个测试 (6 个测试套件)

  • [x] GitHub Actions CI/CD

  • [x] 多语言语义搜索 (v1.6.0 - multilingual-e5-small)

  • [x] 跨语言搜索 英↔韩 (v1.6.0)

  • [x] 解决方案语义搜索 (v1.6.0)

  • [x] 修复钩子设置文件路径 (v1.6.1 - settings.json,而非 settings.local.json)

  • [x] 自动迁移旧版钩子 (v1.6.1)

  • [x] 修复 PostToolUse 匹配器格式为字符串 (v1.6.3)

  • [x] 修复新钩子格式的 README 文档 (v1.6.4)

  • [x] 空会话跳过和技术栈保存改进 (v1.7.1)

  • [x] UserPromptSubmit 钩子中的过往参考自动检测 (v1.8.0)

  • [x] 用户指令提取 ("总是/从不" 规则) (v1.8.0)

  • [x] 记忆质量大修 — 不再有 [File Change] 噪音 (v1.10.0)

  • [x] PreCompact 中的结构化交接上下文 (v1.10.0)

  • [x] 智能会话结束:从记录中提取提交/决策/错误修复 (v1.10.0)

  • [x] 自动噪音清理 (3天以上观察,14天以上自动压缩) (v1.10.0)

  • [x] 带有结构化元数据的 3 个最近会话显示 (v1.10.0)

  • [x] Token 效率 — 从 UserPromptSubmit 中移除 loadContext,每会话节省 24-60K tokens (v1.11.0)

  • [x] 单次遍历记录解析,4 次 JSONL 读取 → 1 次 (v1.11.0)

  • [x] 具有类型特定半衰期的记忆评分时间衰减 (v1.11.0)

  • [x] 渐进式披露 — memory_search 返回索引,memory_get 获取完整内容 (v1.11.0)

  • [x] 通过 Jaccard 相似度进行记忆整合 (v1.11.0)

  • [x] 自动错误→解决方案流水线 — PostToolUse 检测 Bash 错误,注入过往解决方案 (v1.12.0)

  • [x] SessionEnd 自动将错误→修复对记录到解决方案表 (v1.12.0)

  • [x] 具有当前项目优先级的跨项目解决方案搜索 (v1.12.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
-
quality - not tested

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/leesgit/claude-session-continuity-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server