关于 Covate
Covate 是面向 AI 编码助手的 MCP 服务,帮助开发者理解代码变更,并为 Agent 保存项目专属的调试记忆。它结合互动测验、历史修复检索和编程术语解释。
主要功能
- 01测验近期代码变更
- 02检索项目调试记录
- 03记录修复以便复用
- 04解释编程术语
- 05本地间隔复习记录
适用场景
- 01检查对 AI 生成变更的理解
- 02复用项目中反复出现的错误修复
- 03按间隔计划复习概念
MCP 相关
Covate 向 MCP 客户端提供学习、调试和术语工具。调试工具可检索项目解决方案并记录新修复。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/sunflowerslwtech/covate:1.2.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/sunflowerslwtech/covate:1.2.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Covate
一个具备上下文感知能力的 Model Context Protocol (MCP) 服务,作为 AI 编码助手的学习伴侣。它通过交互式测验帮助开发者从 AI 生成的代码变更中学习,并为 Agent 提供持久的项目专属调试记忆。
🌐 资源
| 资源 | 说明 |
|---|---|
| Glama MCP Marketplace | 官方 MCP 服务列表,附带安装指南 |
| DeepWiki Documentation | AI 生成的代码库深度分析 |
| GitHub Repository | 源代码、问题反馈和贡献 |
🚀 为什么要使用?
| 面向对象 | 优势 |
|---|---|
| 开发者 | 不要只是接受 AI 代码,还要理解它。请求一次测验,验证自己对其逻辑、安全性或性能影响的掌握程度。 |
| AI Agents | 不要重复解决同一个 Bug。服务会静默记录调试方案,并在出现类似错误时自动检索。 |
☁️ Covate 学习记录簿(免费)
此代码库中的 MCP 服务免费且开源(MIT),可在本地运行,无需账户。
可选的托管版**学习记录簿**同样免费:使用
GitHub 登录,然后在项目中运行 COVATE_SYNC_URL=https://covate.org COVATE_SYNC_TOKEN=<your token> python -m covate.platform_sync,即可将本地会话推送到云端,并在浏览器中查看:
- ☁️ 同步来自任意设备的学习会话
- 📖 查看每个已同步的会话,按最新时间排序,并显示得分
- 📊 总计数据——会话数、问题数、正确答案数、累计准确率
- 🎯 答得最差的主题,按排名显示
- 🔑 你的同步令牌——可随时查看或轮换
目前尚未开发、因此不作承诺的功能:随时间变化的进度图表、间隔重复学习计划、团队账户。没有付费层级,也没有任何需要购买的内容——MCP 无需记录簿也能完整运行,记录簿也完全免费。
🔁 间隔复习(本地、离线)
covate review 会在本地维护一份简短的概念记录,记录何时再次提问。它绝不会连接网络或调用模型;问题由你自己的 Agent 编写,页面也由它发布(例如使用 FoldRender 命令行)。
covate review page questions.json -o page.html # questions -> a quiz page (answers marked)
foldrender publish page.html # your agent publishes it
foldrender answers <page> --json | covate review record # score the first answers
covate review due # what to ask about again today
covate review status # every concept + first-answer accuracy
每道题只有第一次作答计入,因此看过解析后再修改答案也不会提高分数。(FoldRender 会在几秒钟的撤销窗口内显示解析,因此在该窗口内撤回的答案不计入;未撤回的答案则会计入。)一个新概念会在 1 天后再次出现,然后是 7 天,再然后是 30 天;答错会让它退回到 1 天这一步;全部通过这三个阶段即表示已掌握。
记录保存在全局 Covate 存储中(可通过 COVATE_REVIEW_LEDGER 覆盖)。
questions.json 的格式为 {"title": ..., "questions": [{"concept", "question", "options": [...], "correct": <0-based index>, "explanation"?}]}。
在 Claude Code 中,安装插件即可获得 MCP 服务以及 /covate:review 和
/covate:review-record,它们会引导你的 Agent 完成上述步骤(没有钩子;只有在你调用时才会运行):
/plugin marketplace add SunflowersLwtech/covate
/plugin install covate@covate
📦 可用工具
| 工具 | 类型 | 描述 |
|---|---|---|
learning_session | 🎓 交互式 | 打开一个基于近期代码更改的 WebUI 测验。会阻塞,直到用户完成学习。 |
debug_search | 🔍 静默 RAG | 搜索项目调试历史,查找相关的过往解决方案。发生错误时自动触发。 |
debug_record | 📝 静默 | 将调试经验记录到项目知识库。修复问题后自动触发。 |
term_get | 📚 参考 | 获取编程术语和概念。跟踪已展示的术语以避免重复。 |
工具详情
🎓 learning_session - 交互式学习卡片
触发条件:用户明确提出请求(例如:“考考我”“测试一下我是否理解”)
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
project_directory | string | "." | 项目目录路径 |
summary | string | — | Agent 操作的结构化摘要 |
reasoning | object | null | 5-Why 推理(目标、触发因素、机制、替代方案、风险) |
quizzes | array | 自动生成 | 3 道测验题,包含选项、答案和解析 |
focus_areas | array | ["logic"] | 关注领域:逻辑、安全、性能、架构、语法 |
timeout | int | 600 | 超时时间(秒,60-7200) |
返回值:{"status": "completed", "action": "HALT_GENERATION"}
🔍 debug_search - 搜索调试历史
触发条件:遇到错误时自动调用(静默,无界面)
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
query | string | — | 要搜索的错误消息或描述 |
project_directory | string | "." | 项目目录路径 |
error_type | string | null | 按错误类型筛选(例如 ImportError) |
tags | array | null | 按标签筛选 |
limit | int | 5 | 最大结果数(1-20) |
返回值:{"results": [...], "count": N}
📝 debug_record - 记录调试经验
触发条件:修复错误后自动调用(静默,在后台运行)
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
context | object | — | 错误上下文:{error_type, error_message, file, line} |
cause | string | — | 根因分析 |
solution | string | — | 有效的解决方案 |
project_directory | string | "." | 项目目录路径 |
tags | array | null | 用于分类的标签 |
返回值:{"ok": true, "id": "..."}
📚 term_get - 获取编程术语
可用领域:编程基础、数据结构、算法、软件设计、Web 开发、版本控制、测试、安全、数据库、DevOps
参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
project_directory | string | "." | 项目目录路径 |
count | int | 3 | 术语数量(1-5) |
domain | string | null | 按领域筛选 |
返回值:{"terms": [...], "count": N, "remaining": N}
🛠️ 安装
一键安装(推荐)
| 平台 | 命令 |
|---|---|
| macOS / Linux |
|
| Windows(PowerShell) |
|
安装程序将:
- 自动检测 Python 环境(uv → conda → venv)
- 将仓库克隆到
~/covate - 创建虚拟环境并安装依赖项
- 输出用于配置 IDE 的准确命令
手动安装
点击展开手动安装步骤
前置条件:Python 3.11+ 或 uv
# 1. Clone the repository
git clone https://github.com/SunflowersLwtech/covate.git
cd covate
# 2. Create virtual environment and install
# Using uv (recommended)
uv venv --python 3.11 covate
source covate/bin/activate # macOS/Linux
# covate\Scripts\activate # Windows
uv pip install -e '.[dev]'
# Or using standard venv
python -m venv covate
source covate/bin/activate # macOS/Linux
# covate\Scripts\activate # Windows
pip install -e '.[dev]'
Docker 安装
点击展开 Docker 安装步骤
前置条件:系统已安装 Docker
# 1. Pull from Docker Hub
docker pull sunflowerslwtech/covate:latest
# Or build locally
git clone https://github.com/SunflowersLwtech/covate.git
cd covate
docker build -t covate .
# 2. Run with Docker
docker run -i covate
# 3. Or use Docker Compose
docker-compose up -d
有关 Docker 的详细用法、持久化存储以及 Claude Desktop 集成,请参阅 DOCKER.md。
⚙️ IDE 配置
Claude Code(CLI)— 一条命令完成设置
安装完成后,配置你的 AI 编码 IDE 以使用此 MCP 服务。
Claude Code
选项 1:CLI(推荐)
# macOS / Linux
claude mcp add covate -- ~/covate/covate/bin/covate
# Windows
claude mcp add covate -- %USERPROFILE%\covate\covate\Scripts\covate.exe
选项 2:配置文件
添加到 ~/.claude.json:
{
"mcpServers": {
"covate": {
"command": "~/covate/covate/bin/covate"
}
}
}
Windows:
{
"mcpServers": {
"covate": {
"command": "C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe"
}
}
}
路径示例:
- Unix(uv):
~/covate/covate/bin/covate - Windows(uv):
C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe - Windows(conda):
C:\\Users\\YourName\\anaconda3\\envs\\covate\\Scripts\\covate.exe
路径说明(Unix 示例):
~/covate→ 仓库目录covate→ 由 uv/venv 创建的虚拟环境目录bin/covate→ 可执行文件
Cursor
在 Cursor MCP 设置中添加(Settings → MCP → Add Server):
{
"covate": {
"command": "~/covate/covate/bin/covate"
}
}
Windows:
{
"covate": {
"command": "C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe"
}
}
Windsurf
添加到 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"covate": {
"command": "~/covate/covate/bin/covate"
}
}
}
Docker 配置
如需在任何兼容 MCP 的 IDE 中使用 Docker:
{
"mcpServers": {
"covate": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/path/to/your/project:/workspace",
"-w",
"/workspace",
"covate"
]
}
}
}
有关 Claude Desktop、Cursor 和其他 IDE 的详细 Docker 配置示例,请参阅 DOCKER.md。
其他 IDE
对于任何兼容 MCP 的 IDE,请使用以下设置:
- 命令:
<install-path>/covate/bin/covate(Windows 上使用covate\Scripts\covate.exe) - 传输方式: stdio
完成配置后,重启 IDE。
使用方法
可用工具
| 工具 | 触发条件 | 面向对象 | 返回内容 |
|---|---|---|---|
learning_session | 用户明确请求 | 用户 | {status, action} - 最简信息 |
debug_search | 自动(发生错误时) | Agent | 精简摘要 |
debug_record | 自动(修复后) | Agent | {ok, id} - 最简信息 |
面向用户:学习会话
对 AI 助手说:
- “测验我对这项更改的理解”
- “测试一下我是否理解了”
- “帮我学习你做了什么”
Agent 将创建一张交互式学习卡片,并等待你完成。
注意:测验分数会保存在本地,供你自行跟踪,但不会返回给 Agent——这样可以保持上下文简洁。
面向 Agent:调试工具
调试工具会在后台静默运行:
- 先搜索:遇到错误时,Agent 会搜索以往的解决方案
- 修复后记录:修复错误时,Agent 会记录解决方案
- 渐进式披露:返回精简摘要,而非完整记录
- 快速查找:使用倒排索引进行基于关键词的搜索
更新
一行命令更新(推荐)
远程更新脚本会自动检测你的安装,并且适用于任何路径格式(包括中文/非 ASCII 路径):
| macOS / Linux |
|
| Windows(PowerShell) |
|
更新脚本将:
- 自动检测安装位置(支持多个安装)
- 拉取仓库中的最新更改
- 强制重新安装依赖项,确保版本同步
- 验证安装完整性并报告任何问题
- 检测 MCP 服务是否正在使用,并提供清晰的说明
为什么使用远程更新?
- ✅ 无需通过
cd导航,即可支持中文/非 ASCII 路径- ✅ 始终使用仓库中的最新更新逻辑
- ✅ 即使忘记安装位置,也能自动检测
- ✅ 妥善处理多个安装
本地更新(替代方案)
macOS / Linux:
~/covate/scripts/update.sh
Windows(PowerShell):
~\covate\scripts\update.ps1
手动更新
点击展开手动更新步骤
# Navigate to installation directory
cd ~/covate # or your custom installation path
# Pull latest changes
git pull origin main
# Update dependencies
# Using uv
source covate/bin/activate # macOS/Linux
# covate\Scripts\activate # Windows
uv pip install -e '.[dev]' --upgrade
# Or using standard venv
source covate/bin/activate # macOS/Linux
# covate\Scripts\activate # Windows
pip install -e '.[dev]' --upgrade
🖼️ 截图
学习会话 WebUI

🔒 安全与隐私
| 方面 | 详情 |
|---|---|
| 本地优先 | 所有数据均存储在项目内的 .mcp-sidecar/ 目录中 |
| 无遥测 | 不会向外部服务发送任何数据 |
| 完全可控 | 随时删除 .mcp-sidecar/ 即可重置所有数据 |
🔮 路线图
我们正在打造一个伴随你不断成长的个性化学习中心。以下是即将推出的内容:
🔍 高级搜索与索引(v1.3)
| 功能 | 描述 |
|---|---|
| SQLite FTS5 | 支持中文的全文搜索、前缀匹配和布尔查询 |
| BM25 Ranking | 行业标准的相关性评分,带来更好的搜索结果 |
| 语义搜索 | 使用向量嵌入进行基于含义的匹配(例如,“权限错误”可找到“permission denied”) |
| 跨项目搜索 | 跨所有项目搜索调试经验 |
📱 移动应用(v2.0)
| 功能 | 描述 |
|---|---|
| 学习历史同步 | 在移动设备上查看测验历史和学习进度 |
| 间隔重复 | 根据遗忘曲线智能安排复习 |
| 离线模式 | 随时随地学习,联网后同步 |
| 推送通知 | 温和提醒你复习正在遗忘的概念 |
🎯 个性化学习中心(v2.5)
| 功能 | 描述 |
|---|---|
| 知识图谱 | 以可视化方式展示你学过的概念及其关联 |
| 薄弱项分析 | AI 识别你感到困难的领域,并推荐有针对性的练习 |
| 学习连续记录 | 通过游戏化机制让你保持动力 |
| 团队洞察 | (可选)与团队分享匿名化的学习模式 |
🤖 AI 增强功能(v3.0)
| 功能 | 描述 |
|---|---|
| 自适应测验 | 根据你的表现调整问题难度 |
| 代码模式识别 | 从你自己的代码库中的模式进行学习 |
| 多语言支持 | 使用你偏好的语言进行讲解 |
| 语音界面 | “嘿,Claude,考考我昨天做的内容” |
想影响路线图? 提交 issue 或参与讨论!
🔧 环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_DEBUG | false | 启用调试日志(true、1、yes、on) |
MCP_TIMEOUT | 120000 | MCP 服务启动超时时间,单位为 ms |
MAX_MCP_OUTPUT_TOKENS | 25000 | MCP 输出的最大 token 数 |
🤝 贡献
欢迎贡献!请按照以下步骤操作:
- Fork 此代码库
- 创建功能分支:
git checkout -b feature/amazing-feature - 安装开发依赖:
uv pip install -e '.[dev]' - 修改代码并运行测试:
pytest - 提交 Pull Request
详细指南请参阅 CONTRIBUTING.md。
📬 联系方式
| 渠道 | 地址 |
|---|---|
| 电子邮件 | [email protected] |
| 电子邮件 | [email protected] |
| GitHub Issues | 提交 Issue |
📄 许可证
本项目采用 MIT License 授权。
使用 FastMCP • MCP Standard • Glama MCP 构建
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。