Tempera
What it does
Persistent episodic memory for AI coding: capture, retrieve, brief, dream cycle, cross-project.
- Connects 在你的电脑上运行
- Account or key No key needed
- Category 搜索与 AI 记忆
安装
选择你使用的 AI 应用,然后复制设置。
通过 3/3 项检查 · 在你的电脑上运行
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude,但需要先准备
需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
打开电脑版 Claude 应用的设置文件
SettingsDeveloperEdit Config
粘贴这些设置并保存文件
{ "mcpServers": { "tempera": { "command": "npx", "args": [ "-y", "@astudioplus/tempera-mcp" ] } } }退出 Claude 再重新打开
试一试
用 Tempera 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 Tempera,或回答中出现 Tempera 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
ChatGPT 暂时无法连接 Tempera
Tempera 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器
你可以改用这些方式
A · 使用能连接 Tempera 的应用
- 需要先在电脑上安装 Node.js(只需一次) · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
- 需要先在电脑上安装 Node.js(只需一次)
- 需要先在电脑上安装 Node.js(只需一次)
- 需要先在电脑上安装 Node.js(只需一次)
B · 搜索与 AI 记忆 类中能连接 ChatGPT 的其他服务器
从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的
- Context7✓ ChatGPT
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
可连接 Claude Code,但需要先准备
需要先在电脑上安装 Node.js(只需一次)
打开终端
Mac:按 Command+空格,输入 Terminal · Windows:打开 PowerShell
粘贴这条命令并按 Enter
claude mcp add --scope user tempera -- npx -y @astudioplus/tempera-mcp在 Claude Code 中输入 /mcp
应能看到 Tempera 在列表中并显示已连接
试一试
用 Tempera 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude Code 说正在使用 Tempera,或回答中出现 Tempera 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
可连接 Cursor,但需要先准备
需要先在电脑上安装 Node.js(只需一次)
在 Cursor 中以 Agent 模式打开 AI 聊天
试一试
用 Tempera 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Cursor 说正在使用 Tempera,或回答中出现 Tempera 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Cursor 帮助页面核实 · 你的界面可能因版本略有不同
可连接 VS Code,但需要先准备
需要先在电脑上安装 Node.js(只需一次)
在 VS Code 中以 Agent 模式打开 AI 聊天
试一试
用 Tempera 告诉我你能帮我做什么,然后做一件给我看✓ 如果 VS Code 说正在使用 Tempera,或回答中出现 Tempera 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 VS Code 帮助页面核实 · 你的界面可能因版本略有不同
开发者专用:终端命令和 JSON 设置
安装在电脑上
Claude Code
claude mcp add --scope user tempera -- npx -y @astudioplus/tempera-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"tempera": {
"command": "npx",
"args": [
"-y",
"@astudioplus/tempera-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"tempera": {
"command": "npx",
"args": [
"-y",
"@astudioplus/tempera-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"tempera": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@astudioplus/tempera-mcp"
]
}
}
}这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
一览
哪些应用可以使用它
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月12日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 anvanster 验证,该账户拥有此仓库
- ✓ 通过
仍在维护
代码最后更新于6个月前
- ✓ 通过
有许可证
使用 Apache-2.0
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
讨论
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
用户评价
还没有评价
与“搜索与 AI 记忆”中的其他服务器比较i
- 星标数多于此分类中其他 5998 个服务器的 89%
- 发布到注册中心的时间比此分类中其他 5998 个服务器的 14% 更新
- 基础检查结果等于或优于此分类中其他 5998 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Tempera 安全吗?
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于6个月前,最新版本(0.4.29)于6个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
有什么可以替代它?
同一分类中有:Context7, Codebase Memory, Ruflo
同类别的其他选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Tempera - Persistent Memory for Claude Code
Tempera gives Claude Code a persistent memory that learns from experience. Instead of starting fresh each session, Claude can recall past solutions, learn what works, and get smarter over time.
Why Tempera?
The Problem: Claude Code forgets everything between sessions. You solve the same problems repeatedly, and Claude can't learn from past successes or failures.
The Solution: Tempera captures coding sessions as "episodes", indexes them for semantic search, and uses reinforcement learning to surface the most valuable memories when relevant.
Without Tempera: With Tempera:
┌─────────────┐ ┌─────────────┐ │ Session 1 │ ──forgotten──> │ Session 1 │ ──captured──┐ └─────────────┘ └─────────────┘ │ ┌─────────────┐ ┌─────────────┐ ▼ │ Session 2 │ ──forgotten──> │ Session 2 │ ◄──recalls──┤ └─────────────┘ └─────────────┘ │ ┌─────────────┐ ┌─────────────┐ │ │ Session 3 │ ──forgotten──> │ Session 3 │ ◄──recalls──┘ └─────────────┘ └─────────────┘ │ │ ▼ ▼ No learning Continuous improvement
How It Works
The Learning Loop
┌────────────────────────────────────────────────────────────────┐
│ 1. START TASK │ │ User: "Fix the login redirect bug" │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ 2. RETRIEVE MEMORIES │ │ Claude searches: "login redirect bug" │ │ Finds: "Fixed similar issue by sanitizing return URLs" │ │ + Session context: related episodes from the same task │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ 3. SOLVE FASTER │ │ Claude uses past experience to solve the problem │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ 4. CAPTURE SESSION │ │ Claude saves: what was done, what worked, what failed │ │ Auto-links to current session for multi-step tasks │ └────────────────────────────────────────────────────────────────┘ │ ▼ ┌────────────────────────────────────────────────────────────────┐ │ 5. LEARN FROM FEEDBACK │ │ User: "That memory was helpful!" │ │ → Episode utility increases │ │ → Multi-hop Bellman propagation spreads value │ │ → Session-linked episodes get boosted │ │ → Unhelpful memories fade over time │ └────────────────────────────────────────────────────────────────┘
What Makes It "Learn"
| Mechanism | What It Does |
|---|---|
| Feedback | Helpful episodes gain utility score |
| Multi-hop Bellman Propagation | Value spreads through the similarity graph across multiple hops |
| Session Chaining | Related episodes in multi-step tasks are linked and boost each other |
| Temporal Credit | Episodes before successes get credit (even across session boundaries) |
| Recency Boost | Fresh episodes can be weighted higher in retrieval (opt-in) |
| Scope-aware Decay | Project-bound claims fade in ~70 days; language-level facts last ~3 years; universal truths never decay |
| Verification State | Captures advance from Untested → TestsPass → Merged → StableNoRevert; later states weigh more |
| Calibration | Per-(task, project) verified vs. declared ratio surfaces overconfidence |
| Dream Cycle | Nightly reflection, pattern detection, contradiction probing, and template extraction |
| Self-Improvement Log | Tracks corrections, missed questions, and queues clarifying questions for next session |
| Cross-Project Transfer | Claims marked language / crate / domain / forever-scoped surface across projects |
Over time, frequently helpful knowledge rises to the top, while stale or unhelpful memories fade away — and the system itself accumulates a per-project picture of where it tends to be wrong.
The bigger surfaces (v0.6 onward)
Beyond the basic capture/retrieve loop, Tempera ships several higher-order surfaces. Each is opt-in but all flow through the same MCP tools — Claude can use them without any custom client code.
- Grounded capture (v0.6): Every captured claim carries a
falsifiabilityscore, acategory, and aValidityScope(Forever / Language / Crate / Domain / Workaround / Project). Decay rates are per-scope — universal truths never expire, project-specific conventions fade in months, workarounds expire when the underlying issue closes. - Dream cycle (v0.7): A budgeted nightly pipeline that runs
verify_advance → decay → reflect → patterns → contradict → templates. Reflections turn high-signal days into prose; patterns surface themes that keep recurring; contradict probes pairs of frequently-retrieved episodes for factual disagreements; templates extract reusable step sequences from successful task clusters. - Self-improvement (v0.8): Calibration tracks the ratio of declared vs. verified successes per (task, project). Mistakes log records corrections the agent made. Should-have-asked log records questions it realized it should have asked first. Ask-backs are clarifying questions the *system itself* drafts via Haiku when a capture ends in failure with vague intent — queued for the next session in that project.
- Brief surface (v0.9): One MCP call joins all of the above against the file set the agent is about to touch.
tempera_brief(files, task_type?, domain?)returns pending ask-backs, the matching reasoning template, top correction categories for those files, should-have-asked triggers, and a calibration warning if the agent's track record on this kind of task is shaky. - Cross-project learning (v0.10):
tempera_retrieveandtempera_briefboth acceptcross_project=true. Transferable claims (anything not project-scoped) surface across projects; Project-scoped knowledge stays bound to its codebase. Legacy captures default to non-transferable until reclassified.
Installation
Build from Source
# Clone and build
git clone https://github.com/anvanster/tempera.git cd tempera cargo build --release
Two binaries are created:
- target/release/tempera (CLI tool)
- target/release/tempera-mcp (MCP server for Claude Code)
Install from crates.io
cargo install tempera
First Run - Model Download
On first use, Tempera downloads the BGE-Small embedding model (~128MB) for semantic search. This happens automatically and only once:
# Initialize and trigger model download
tempera init
Output:
🔄 Loading embedding model (this may download the model on first run)...
✅ Embedding model loaded
The model is cached globally at ~/.tempera/models/ and shared across all projects.
Setup with Claude Code
1. Add the MCP Server
claude mcp add tempera --scope user -- /path/to/Tempera/target/release/tempera-mcp
The --scope user flag makes it available across all your projects.
2. Restart Claude Code
Exit and restart Claude Code to load the new MCP server.
3. Verify
Run /mcp in Claude Code. You should see tempera with 12 tools.
MCP Tools
Once connected, Claude has access to these 12 tools, grouped by purpose:
Session warmup (call at task start)
| Tool | When to Use |
|---|---|
tempera_session_start | Call ONCE at the very start. Returns any clarifying question tempera drafted after a previous failed/partial session in this project. |
tempera_brief | Call once the file set is known. Joins pending ask-back, reasoning template, top correction categories for these files, should-have-asked triggers, and calibration warning into one response. Pass task_type + domain for richer output. Set cross_project=true to supplement with rows from other projects. |
tempera_retrieve | Search for similar past episodes. Set scope="cross-project" to include transferable claims from other projects. |
tempera_template | Pull the reasoning template stored for a (task_type, domain) pair. The step sequence past wins followed. |
During task
| Tool | When to Use |
|---|---|
tempera_log_correction | When the user corrects an assumption / decision / piece of code. Categorized log; the brief surface uses it. |
tempera_log_should_have_asked | When you realize mid-task you should have asked a question up front. Records the trigger context, the question, and the eventual answer. |
End of task
| Tool | When to Use |
|---|---|
tempera_capture | Save session as an episode. Auto-detects session links and runs propagation. The intent-extraction LLM call also suggests a ValidityScope for cross-project routing. |
tempera_feedback | Mark retrieved episodes as helpful or not. Drives the utility-learning loop. |
Diagnostics + maintenance
| Tool | When to Use |
|---|---|
tempera_status | Per-project memory health snapshot. |
tempera_stats | Statistics + trend analytics (helpfulness over time, domain growth, learning curve). |
tempera_propagate | Multi-hop Bellman propagation with convergence tracking. Periodic maintenance. |
tempera_review | Consolidate similar BKMs, cleanup. Run after related task series. |
Standard warmup pattern
tempera_session_start # is anything queued from last session?
tempera_brief(files, ...) # what does tempera know about this exact change? tempera_retrieve(query) # then deep-dive into specific episodes
Key Lifecycle Behaviors
Start of session: Call tempera_session_start first to consume any pending ask-back, then tempera_brief once the file set is known.
End of task: Capture successful sessions with tempera_capture — don't wait to be asked. Capture also drafts an ask-back via Haiku if the outcome was Failure/Partial with vague intent, so the next session in this project sees the gap.
Session chaining: Episodes captured within 2 hours of each other in the same project are automatically linked. Multi-step tasks share utility and context.
Cross-project routing: New captures get a ValidityScope suggestion from the intent-extraction LLM (v0.10.3). Project-scoped claims stay bound to one codebase; Language / Crate / Domain / Workaround / Forever claims surface across projects when retrieval opts in.
tempera_retrieve Modes
Search: tempera_retrieve(query: "authentication bug")
List all: tempera_retrieve(all: true) Show details: tempera_retrieve(query: "abc12345") # episode ID Cross-project: tempera_retrieve(query: "sqlx ordering", scope: "cross-project")
Example Conversation
User: Fix the login redirect vulnerability
Claude: [Calls tempera_session_start()] No pending ask-back — proceeding.
[Calls tempera_brief(files: ["src/auth.rs", "src/router.rs"], task_type: "bugfix", domain: "auth-middleware")]
🔴 PENDING ASK-BACK Ask the user first: "Should auth run before o