Covate

io.github.SunflowersLwtech由 GitHub 账号 SunflowersLwtech 发布v1.2.0更新于 Oct 29, 2026

Learning sidebar for AI coding assistants: quizzes on your changes, debug memory, term explanations

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

面向 AI 编程助手的本地学习侧车:针对代码改动出测验、保存项目调试记忆、查询编程术语。

可以做什么
  • 针对最近的代码改动发起交互式测验,可选逻辑、安全、性能等侧重点,并等待用户完成
  • 在项目调试历史中检索以往对某个错误的解决方案
  • 把调试经验(原因、解决方案、标签)记录到项目知识库
  • 按领域获取编程术语与概念,并记录已展示的术语以免重复
  • 在本地维护间隔复习账本,离线为测验答案计分
适用场景
适合希望真正理解 AI 生成的代码改动、而不只是直接接受的人;也适合助手反复解决同一类错误、需要项目级调试记忆的场景。主要面向使用支持 MCP 的编程 IDE 的开发者。
运行要求
以 stdio 在本地运行;README 列出 Python 3.11+ 或 uv,也可用 Docker。MCP 服务器本身无需账号或 API 密钥。可选的托管学习账本需用 GitHub 登录,并设置 COVATE_SYNC_URL 与 COVATE_SYNC_TOKEN。可选变量 MCP_DEBUG、MCP_TIMEOUT、MAX_MCP_OUTPUT_TOKENS 用于调整日志与限制。
安装前请注意
测验工具会阻塞助手,直到用户完成学习会话。调试工具被描述为在出错时和修复后自动触发,调试上下文会写入项目内的 .mcp-sidecar 目录。可选的同步步骤会用 COVATE_SYNC_TOKEN 把学习会话发送到托管服务,该令牌可查看或轮换。推荐的安装与更新命令会把远程脚本直接通过管道交给 shell 执行。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Covate,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[图片] Covate

English | 简体中文 | 繁體中文

A context-aware Model Context Protocol (MCP) server that acts as a learning sidecar for AI coding assistants. It helps developers learn from AI-generated code changes through interactive quizzes and provides agents with a persistent project-specific debugging memory.

[License: MIT] [Python 3.11+] [MCP Standard] [Docker] [Glama MCP] [DeepWiki]


🌐 Resources

ResourceDescription
Glama MCP MarketplaceOfficial MCP server listing with installation guides
DeepWiki DocumentationAI-generated deep analysis of the codebase
GitHub RepositorySource code, issues, and contributions

🚀 Why Use This?

ForBenefit
DevelopersDon't just accept AI code—understand it. Request a quiz to verify your grasp of the logic, security, or performance implications.
AI AgentsStop solving the same bug twice. The server quietly records debugging solutions and retrieves them automatically when similar errors occur.

☁️ Covate learning ledger (free)

The MCP server in this repo is free and open-source (MIT) — run it locally, no account required. The optional hosted learning ledger is free too: sign in with GitHub, then run COVATE_SYNC_URL=https://covate.org COVATE_SYNC_TOKEN=<your token> python -m covate.platform_sync from a project to push your local sessions up and review them in a browser:

  • ☁️ Sync your learning sessions from any machine
  • 📖 Every synced session, newest first, with its score
  • 📊 Totals — sessions, questions, correct answers, running accuracy
  • 🎯 The topics you answer worst, ranked
  • 🔑 Your sync token — reveal or rotate it whenever you want

Not built yet, so not promised: progress-over-time charts, spaced-repetition study plans, team accounts. There is no paid tier and nothing to buy — the MCP works fully without the ledger, and the ledger costs nothing.


🔁 Spaced review (local, offline)

covate review keeps a small local ledger of concepts and when to ask about them again. It never talks to the network or to a model; your own agent writes the questions and publishes the page (for example with the FoldRender command line).

bash
covate review page questions.json -o page.html   # questions -> a quiz page (answers marked)foldrender publish page.html                      # your agent publishes itfoldrender answers <page> --json | covate review record   # score the first answerscovate review due                                 # what to ask about again todaycovate review status                              # every concept + first-answer accuracy

Only the first pick on each question counts, so changing an answer after seeing the explanation cannot raise the score. (FoldRender shows the explanation during its few-second undo window, so an answer you take back inside that window does not count; one you leave alone does.) A new concept comes back after 1 day, then 7, then 30 days; a wrong answer sends it back to the 1-day step; passing all three means mastered. The ledger lives in the global Covate storage (override with COVATE_REVIEW_LEDGER). questions.json is {"title": ..., "questions": [{"concept", "question", "options": [...], "correct": <0-based index>, "explanation"?}]}.

In Claude Code, install the plugin to get the MCP server plus /covate:review and /covate:review-record, which walk your agent through the steps above (no hooks, nothing runs unless you call it):

/plugin marketplace add SunflowersLwtech/covate/plugin install covate@covate

📦 Available Tools

ToolTypeDescription
learning_session🎓 InteractiveOpens a WebUI quiz based on recent code changes. Blocks until user completes learning.
debug_search🔍 Silent RAGSearches project debug history for relevant past solutions. Auto-triggered on errors.
debug_record📝 SilentRecords debugging experiences to project knowledge base. Auto-triggered after fixes.
term_get📚 ReferenceFetches programming terms/concepts. Tracks shown terms to avoid repetition.

Tool Details

🎓 learning_session - Interactive Learning Card

Trigger: User explicitly requests (e.g., "Quiz me", "Test my understanding")

Parameters:

ParameterTypeDefaultDescription
project_directorystring"."Project directory path
summarystring—Structured summary of Agent's actions
reasoningobjectnull5-Why reasoning (goal, trigger, mechanism, alternatives, risks)
quizzesarrayauto-generated3 quiz questions with options, answer, explanation
focus_areasarray["logic"]Focus areas: logic, security, performance, architecture, syntax
timeoutint600Timeout in seconds (60-7200)

Returns: {"status": "completed", "action": "HALT_GENERATION"}

🔍 debug_search - Search Debug History

Trigger: Auto-called when encountering errors (silent, no UI)

Parameters:

ParameterTypeDefaultDescription
querystring—Error message or description to search
project_directorystring"."Project directory path
error_typestringnullFilter by error type (e.g., ImportError)
tagsarraynullFilter by tags
limitint5Maximum results (1-20)

Returns: {"results": [...], "count": N}

📝 debug_record - Record Debug Experience

Trigger: Auto-called after fixing bugs (silent, background)

Parameters:

ParameterTypeDefaultDescription
contextobject—Error context: {error_type, error_message, file, line}
causestring—Root cause analysis
solutionstring—Solution that worked
project_directorystring"."Project directory path
tagsarraynullTags for categorization

Returns: {"ok": true, "id": "..."}

📚 term_get - Get Programming Terms

Available Domains: programming_basics, data_structures, algorithms, software_design, web_development, version_control, testing, security, databases, devops

Parameters:

ParameterTypeDefaultDescription
project_directorystring"."Project directory path
countint3Number of terms (1-5)
domainstringnullFilter by domain

Returns: {"terms": [...], "count": N, "remaining": N}


🛠️ Installation

One-Line Install (Recommended)

PlatformCommand
macOS / Linux
bash
curl -fsSL https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/install.sh | bash
Windows (PowerShell)
powershell
irm https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/install.ps1 | iex

The installer will:

  1. Auto-detect your Python environment (uv → conda → venv)
  2. Clone the repository to ~/covate
  3. Create virtual environment and install dependencies
  4. Print the exact command to configure your IDE

Manual Installation

Click to expand manual installation steps

Prerequisites: Python 3.11+ or uv

bash
# 1. Clone the repositorygit clone https://github.com/SunflowersLwtech/covate.gitcd covate
# 2. Create virtual environment and install# Using uv (recommended)uv venv --python 3.11 covatesource covate/bin/activate          # macOS/Linux# covate\Scripts\activate           # Windowsuv pip install -e '.[dev]'
# Or using standard venvpython -m venv covatesource covate/bin/activate           # macOS/Linux# covate\Scripts\activate            # Windowspip install -e '.[dev]'

Docker Installation

Click to expand Docker installation steps

Prerequisites: Docker installed on your system

bash
# 1. Pull from Docker Hubdocker pull sunflowerslwtech/covate:latest
# Or build locallygit clone https://github.com/SunflowersLwtech/covate.gitcd covatedocker build -t covate .
# 2. Run with Dockerdocker run -i covate
# 3. Or use Docker Composedocker-compose up -d

For detailed Docker usage, persistent storage, and Claude Desktop integration, see DOCKER.md.


⚙️ IDE Configuration

Claude Code (CLI) — One Command Setup

After installation, configure your AI coding IDE to use this MCP server.

Claude Code

Option 1: CLI (Recommended)

bash
# macOS / Linuxclaude mcp add covate -- ~/covate/covate/bin/covate
# Windowsclaude mcp add covate -- %USERPROFILE%\covate\covate\Scripts\covate.exe

Option 2: Config File

Add to ~/.claude.json:

json
{  "mcpServers": {    "covate": {      "command": "~/covate/covate/bin/covate"    }  }}

For Windows:

json
{  "mcpServers": {    "covate": {      "command": "C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe"    }  }}

Example paths:

  • 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

Path breakdown (Unix example):

  • ~/covate → repository directory
  • covate → virtual environment directory created by uv/venv
  • bin/covate → executable

Cursor

Add to Cursor MCP settings (Settings → MCP → Add Server):

json
{  "covate": {    "command": "~/covate/covate/bin/covate"  }}

For Windows:

json
{  "covate": {    "command": "C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe"  }}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "covate": {      "command": "~/covate/covate/bin/covate"    }  }}

Docker Configuration

To use Docker with any MCP-compatible IDE:

json
{  "mcpServers": {    "covate": {      "command": "docker",      "args": [        "run",        "-i",        "--rm",        "-v",        "/path/to/your/project:/workspace",        "-w",        "/workspace",        "covate"      ]    }  }}

See DOCKER.md for detailed Docker configuration examples for Claude Desktop, Cursor, and other IDEs.

Other IDEs

For any MCP-compatible IDE, use these settings:

  • Command: <install-path>/covate/bin/covate (or covate\Scripts\covate.exe on Windows)
  • Transport: stdio

After configuration, restart your IDE.

Usage

Available Tools

ToolTriggerForReturns
learning_sessionUser explicit requestUser{status, action} - minimal
debug_searchAutomatic (on error)AgentCompact summaries
debug_recordAutomatic (after fix)Agent{ok, id} - minimal

For Users: Learning Session

Say to your AI assistant:

  • "Quiz me on this change"
  • "Test my understanding"
  • "Help me learn about what you did"

The agent will create an interactive learning card and wait until you complete it.

Note: Quiz scores are saved locally for your self-tracking but are NOT returned to the agent - this keeps the context clean.

For Agents: Debug Tools

The debug tools work silently in the background:

  • Search first: When encountering errors, agent searches past solutions
  • Record after: When fixing errors, agent records the solution
  • Progressive disclosure: Returns compact summaries, not full records
  • Fast lookups: Uses inverted index for keyword-based searches

Updating

One-Line Update (Recommended)

The remote update script automatically detects your installation and works with any path format (including Chinese/non-ASCII paths):

macOS / Linux
bash
curl -fsSL https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/update.sh | bash
Windows (PowerShell)
powershell
irm https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/update.ps1 | iex

The update script will:

  1. Auto-detect your installation location (supports multiple installations)
  2. Pull the latest changes from the repository
  3. Force-reinstall dependencies to ensure version synchronization
  4. Verify installation integrity and report any issues
  5. Detect if MCP server is in use and provide clear instructions

Why remote update?

  • ✅ Works with Chinese/non-ASCII paths without cd navigation
  • ✅ Always uses the latest update logic from the repository
  • ✅ Auto-detects installation location even if you forgot where it is
  • ✅ Handles multiple installations gracefully

Local Update (Alternative)

macOS / Linux:

bash
~/covate/scripts/update.sh

Windows (PowerShell):

powershell
~\covate\scripts\update.ps1

Manual Update

Click to expand manual update steps
bash
# Navigate to installation directorycd ~/covate  # or your custom installation path
# Pull latest changesgit pull origin main
# Update dependencies# Using uvsource covate/bin/activate          # macOS/Linux# covate\Scripts\activate           # Windowsuv pip install -e '.[dev]' --upgrade
# Or using standard venvsource covate/bin/activate           # macOS/Linux# covate\Scripts\activate            # Windowspip install -e '.[dev]' --upgrade

🖼️ Screenshots

Learning Session WebUI

[WebUI Preview]


🔒 Security & Privacy

AspectDetails
Local FirstAll data stored in .mcp-sidecar/ directory within your project
No TelemetryZero data sent to external servers
Full ControlDelete .mcp-sidecar/ anytime to reset all data

🔮 Roadmap

We're building toward a Personalized Learning Center that grows with you. Here's what's coming:

🔍 Advanced Search & Indexing (v1.3)

FeatureDescription
SQLite FTS5Full-text search with Chinese support, prefix matching, and boolean queries
BM25 RankingIndustry-standard relevance scoring for better search results
Semantic SearchVector embeddings for meaning-based matching (e.g., "权限错误" finds "permission denied")
Cross-project SearchSearch debug experiences across all your projects

📱 Mobile App (v2.0)

FeatureDescription
Learning History SyncAccess your quiz history and learning progress on mobile
Spaced RepetitionSmart review scheduling based on forgetting curves
Offline ModeLearn anywhere, sync when connected
Push NotificationsGentle reminders to review concepts you're forgetting

🎯 Personalized Learning Center (v2.5)

FeatureDescription
Knowledge GraphVisual map of concepts you've learned and their connections
Weakness AnalysisAI identifies areas where you struggle and suggests focused practice
Learning StreaksGamification to keep you motivated
Team Insights(Optional) Share anonymized learning patterns with your team

🤖 AI Enhancements (v3.0)

FeatureDescription
Adaptive QuizzesQuestions adjust difficulty based on your performance
Code Pattern RecognitionLearn from patterns in your own codebase
Multi-language SupportExplanations in your preferred language
Voice Interface"Hey Claude, quiz me on what we did yesterday"

Want to influence the roadmap? Open an issue or join the discussion!


🔧 Environment Variables

VariableDefaultDescription
MCP_DEBUGfalseEnable debug logging (true, 1, yes, on)
MCP_TIMEOUT120000MCP server startup timeout in ms
MAX_MCP_OUTPUT_TOKENS25000Maximum tokens for MCP output

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Install dev dependencies: uv pip install -e '.[dev]'
  4. Make changes and run tests: pytest
  5. Submit a Pull Request

See CONTRIBUTING.md for detailed guidelines.


📬 Contact

ChannelAddress
Email[email protected]
Email[email protected]
GitHub IssuesOpen an Issue

📄 License

This project is licensed under the MIT License.


Built with FastMCP • MCP Standard • Glama MCP

来源:README.md,提交 5203713

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.2.0最新Oct 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分