🐍 🏠 🍎 🪟 🐧 - Learning sidecar for AI coding assistants: quizzes developers on AI-generated changes and gives…
Covate
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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**.
---
🌐 Resources
| Resource | Description |
|----------|-------------|
| **Glama MCP Marketplace** | Official MCP server listing with installation guides |
| **DeepWiki Documentation** | AI-generated deep analysis of the codebase |
| **GitHub Repository** | Source code, issues, and contributions |
---
🚀 Why Use This?
| For | Benefit |
|-----|---------|
| **Developers** | Don't just accept AI code—understand it. Request a quiz to verify your grasp of the logic, security, or performance implications. |
| **AI Agents** | Stop 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= 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.
---
📦 Available Tools
| Tool | Type | Description |
|------|------|-------------|
| learning_session | 🎓 Interactive | Opens a WebUI quiz based on recent code changes. **Blocks** until user completes learning. |
| debug_search | 🔍 Silent RAG | Searches project debug history for relevant past solutions. Auto-triggered on errors. |
| debug_record | 📝 Silent | Records debugging experiences to project knowledge base. Auto-triggered after fixes. |
| term_get | 📚 Reference | Fetches 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**:
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| project_directory | string | "." | Project directory path |
| summary | string | — | Structured summary of Agent's actions |
| reasoning | object | null | 5-Why reasoning (goal, trigger, mechanism, alternatives, risks) |
| quizzes | array | auto-generated | 3 quiz questions with options, answer, explanation |
| focus_areas | array | ["logic"] | Focus areas: logic, security, performance, architecture, syntax |
| timeout | int | 600 | Timeout 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**:
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| query | string | — | Error message or description to search |
| project_directory | string | "." | Project directory path |
| error_type | string | null | Filter by error type (e.g., ImportError) |
| tags | array | null | Filter by tags |
| limit | int | 5 | Maximum results (1-20) |
**Returns**: {"results": [...], "count": N}
📝 debug_record - Record Debug Experience
**Trigger**: Auto-called after fixing bugs (silent, background)