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 分