Covate agent

Turn AI-assisted coding into real understanding — an MCP server that quizzes you on the code your AI just wrote, plus a hosted learning ledger at covate.org

by SunflowersLwtech·MIT license·★ 8 Stars on the repo·GitHub ↗

Files of Covate

SunflowersLwtech/main1 file
README.md
Show the full text570 lines

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

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=<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.


📦 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)

Parameters:

Parameter Type Default Description
context object — Error context: {error_type, error_message, file, line}
cause string — Root cause analysis
solution string — Solution that worked
project_directory string "." Project directory path
tags array null Tags 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:

Parameter Type Default Description
project_directory string "." Project directory path
count int 3 Number of terms (1-5)
domain string null Filter by domain

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


🛠️ Installation

Platform Command
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/install.sh | bash
Windows (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

# 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 Installation
Click to expand Docker installation steps

Prerequisites: Docker installed on your system

# 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

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)

# macOS / Linux
claude mcp add covate -- ~/covate/covate/bin/covate

# Windows
claude mcp add covate -- %USERPROFILE%\covate\covate\Scripts\covate.exe

Option 2: Config File

Add to ~/.claude.json:

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

For Windows:

{
  "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):

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

For Windows:

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

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

{
  "mcpServers": {
    "covate": {
      "command": "~/covate/covate/bin/covate"
    }
  }
}
Docker Configuration

To use Docker with any MCP-compatible IDE:

{
  "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
Tool Trigger For Returns
learning_session User explicit request User {status, action} - minimal
debug_search Automatic (on error) Agent Compact summaries
debug_record Automatic (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

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

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/update.sh | bash
Windows (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:

~/covate/scripts/update.sh

Windows (PowerShell):

~\covate\scripts\update.ps1
Manual Update
Click to expand manual update steps
# 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

🖼️ Screenshots

Learning Session WebUI

WebUI Preview


🔒 Security & Privacy

Aspect Details
Local First All data stored in .mcp-sidecar/ directory within your project
No Telemetry Zero data sent to external servers
Full Control Delete .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.2)
Feature Description
SQLite FTS5 Full-text search with Chinese support, prefix matching, and boolean queries
BM25 Ranking Industry-standard relevance scoring for better search results
Semantic Search Vector embeddings for meaning-based matching (e.g., "权限错误" finds "permission denied")
Cross-project Search Search debug experiences across all your projects
📱 Mobile App (v2.0)
Feature Description
Learning History Sync Access your quiz history and learning progress on mobile
Spaced Repetition Smart review scheduling based on forgetting curves
Offline Mode Learn anywhere, sync when connected
Push Notifications Gentle reminders to review concepts you're forgetting
🎯 Personalized Learning Center (v2.5)
Feature Description
Knowledge Graph Visual map of concepts you've learned and their connections
Weakness Analysis AI identifies areas where you struggle and suggests focused practice
Learning Streaks Gamification to keep you motivated
Team Insights (Optional) Share anonymized learning patterns with your team
🤖 AI Enhancements (v3.0)
Feature Description
Adaptive Quizzes Questions adjust difficulty based on your performance
Code Pattern Recognition Learn from patterns in your own codebase
Multi-language Support Explanations 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

Variable Default Description
MCP_DEBUG false Enable debug logging (true, 1, yes, on)
MCP_TIMEOUT 120000 MCP server startup timeout in ms
MAX_MCP_OUTPUT_TOKENS 25000 Maximum 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

Channel Address
Email [email protected]
Email [email protected]
GitHub Issues Open an Issue

📄 License

This project is licensed under the MIT License.


Built with FastMCP • MCP Standard • Glama MCP

1# <img src="assets/favicon.png" width="48" height="48" align="top" style="margin-right: 10px;"> Covate
2 
3[English](README.md) | [简体中文](README_zh-CN.md) | [繁體中文](README_zh-TW.md)
4 
5A 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**.
6 
7[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
9[![MCP Standard](https://img.shields.io/badge/MCP-Standard-green.svg)](https://modelcontextprotocol.io/)
10[![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker&logoColor=white)](https://github.com/SunflowersLwtech/covate/blob/main/DOCKER.md)
11[![Glama MCP](https://img.shields.io/badge/Glama-MCP%20Server-blue)](https://glama.ai/mcp/servers/@SunflowersLwtech/covate)
12[![DeepWiki](https://img.shields.io/badge/DeepWiki-Documentation-purple)](https://deepwiki.com/SunflowersLwtech/covate)
13 
14---
15 
16## 🌐 Resources
17 
18| Resource | Description |
19|----------|-------------|
20| [**Glama MCP Marketplace**](https://glama.ai/mcp/servers/@SunflowersLwtech/covate) | Official MCP server listing with installation guides |
21| [**DeepWiki Documentation**](https://deepwiki.com/SunflowersLwtech/covate) | AI-generated deep analysis of the codebase |
22| [**GitHub Repository**](https://github.com/SunflowersLwtech/covate) | Source code, issues, and contributions |
23 
24---
25 
26## 🚀 Why Use This?
27 
28| For | Benefit |
29|-----|---------|
30| **Developers** | Don't just accept AI code—understand it. Request a quiz to verify your grasp of the logic, security, or performance implications. |
31| **AI Agents** | Stop solving the same bug twice. The server quietly records debugging solutions and retrieves them automatically when similar errors occur. |
32 
33---
34 
35## ☁️ Covate learning ledger (free)
36 
37The MCP server in this repo is free and open-source (MIT) — run it locally, no account required.
38The optional hosted **[learning ledger](https://covate.org/dashboard)** is free too: sign in with
39GitHub, then run `COVATE_SYNC_URL=https://covate.org COVATE_SYNC_TOKEN=<your token> python -m
40covate.platform_sync` from a project to push your local sessions up and review them in a browser:
41 
42- ☁️ **Sync** your learning sessions from any machine
43- 📖 **Every synced session**, newest first, with its score
44- 📊 **Totals** — sessions, questions, correct answers, running accuracy
45- 🎯 **The topics you answer worst**, ranked
46- 🔑 **Your sync token** — reveal or rotate it whenever you want
47 
48Not built yet, so not promised: progress-over-time charts, spaced-repetition study plans, team
49accounts. There is **no paid tier and nothing to buy** — the MCP works fully without the ledger,
50and the ledger costs nothing.
51 
52---
53 
54## 📦 Available Tools
55 
56| Tool | Type | Description |
57|------|------|-------------|
58| `learning_session` | 🎓 Interactive | Opens a WebUI quiz based on recent code changes. **Blocks** until user completes learning. |
59| `debug_search` | 🔍 Silent RAG | Searches project debug history for relevant past solutions. Auto-triggered on errors. |
60| `debug_record` | 📝 Silent | Records debugging experiences to project knowledge base. Auto-triggered after fixes. |
61| `term_get` | 📚 Reference | Fetches programming terms/concepts. Tracks shown terms to avoid repetition. |
62 
63### Tool Details
64 
65<details>
66<summary><b>🎓 learning_session</b> - Interactive Learning Card</summary>
67 
68**Trigger**: User explicitly requests (e.g., "Quiz me", "Test my understanding")
69 
70**Parameters**:
71| Parameter | Type | Default | Description |
72|-----------|------|---------|-------------|
73| `project_directory` | string | `"."` | Project directory path |
74| `summary` | string | — | Structured summary of Agent's actions |
75| `reasoning` | object | null | 5-Why reasoning (goal, trigger, mechanism, alternatives, risks) |
76| `quizzes` | array | auto-generated | 3 quiz questions with options, answer, explanation |
77| `focus_areas` | array | `["logic"]` | Focus areas: logic, security, performance, architecture, syntax |
78| `timeout` | int | 600 | Timeout in seconds (60-7200) |
79 
80**Returns**: `{"status": "completed", "action": "HALT_GENERATION"}`
81 
82</details>
83 
84<details>
85<summary><b>🔍 debug_search</b> - Search Debug History</summary>
86 
87**Trigger**: Auto-called when encountering errors (silent, no UI)
88 
89**Parameters**:
90| Parameter | Type | Default | Description |
91|-----------|------|---------|-------------|
92| `query` | string | — | Error message or description to search |
93| `project_directory` | string | `"."` | Project directory path |
94| `error_type` | string | null | Filter by error type (e.g., ImportError) |
95| `tags` | array | null | Filter by tags |
96| `limit` | int | 5 | Maximum results (1-20) |
97 
98**Returns**: `{"results": [...], "count": N}`
99 
100</details>
101 
102<details>
103<summary><b>📝 debug_record</b> - Record Debug Experience</summary>
104 
105**Trigger**: Auto-called after fixing bugs (silent, background)
106 
107**Parameters**:
108| Parameter | Type | Default | Description |
109|-----------|------|---------|-------------|
110| `context` | object | — | Error context: `{error_type, error_message, file, line}` |
111| `cause` | string | — | Root cause analysis |
112| `solution` | string | — | Solution that worked |
113| `project_directory` | string | `"."` | Project directory path |
114| `tags` | array | null | Tags for categorization |
115 
116**Returns**: `{"ok": true, "id": "..."}`
117 
118</details>
119 
120<details>
121<summary><b>📚 term_get</b> - Get Programming Terms</summary>
122 
123**Available Domains**: programming_basics, data_structures, algorithms, software_design, web_development, version_control, testing, security, databases, devops
124 
125**Parameters**:
126| Parameter | Type | Default | Description |
127|-----------|------|---------|-------------|
128| `project_directory` | string | `"."` | Project directory path |
129| `count` | int | 3 | Number of terms (1-5) |
130| `domain` | string | null | Filter by domain |
131 
132**Returns**: `{"terms": [...], "count": N, "remaining": N}`
133 
134</details>
135 
136---
137 
138## 🛠️ Installation
139 
140### One-Line Install (Recommended)
141 
142<table>
143<tr>
144<th>Platform</th>
145<th>Command</th>
146</tr>
147<tr>
148<td><b>macOS / Linux</b></td>
149<td>
150 
151```bash
152curl -fsSL https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/install.sh | bash
153```
154 
155</td>
156</tr>
157<tr>
158<td><b>Windows (PowerShell)</b></td>
159<td>
160 
161```powershell
162irm https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/install.ps1 | iex
163```
164 
165</td>
166</tr>
167</table>
168 
169The installer will:
1701. Auto-detect your Python environment (uv → conda → venv)
1712. Clone the repository to `~/covate`
1723. Create virtual environment and install dependencies
1734. Print the exact command to configure your IDE
174 
175### Manual Installation
176 
177<details>
178<summary>Click to expand manual installation steps</summary>
179 
180**Prerequisites**: Python 3.11+ or [uv](https://docs.astral.sh/uv/)
181 
182```bash
183# 1. Clone the repository
184git clone https://github.com/SunflowersLwtech/covate.git
185cd covate
186 
187# 2. Create virtual environment and install
188# Using uv (recommended)
189uv venv --python 3.11 covate
190source covate/bin/activate # macOS/Linux
191# covate\Scripts\activate # Windows
192uv pip install -e '.[dev]'
193 
194# Or using standard venv
195python -m venv covate
196source covate/bin/activate # macOS/Linux
197# covate\Scripts\activate # Windows
198pip install -e '.[dev]'
199```
200 
201</details>
202 
203### Docker Installation
204 
205<details>
206<summary>Click to expand Docker installation steps</summary>
207 
208**Prerequisites**: Docker installed on your system
209 
210```bash
211# 1. Pull from Docker Hub
212docker pull sunflowerslwtech/covate:latest
213 
214# Or build locally
215git clone https://github.com/SunflowersLwtech/covate.git
216cd covate
217docker build -t covate .
218 
219# 2. Run with Docker
220docker run -i covate
221 
222# 3. Or use Docker Compose
223docker-compose up -d
224```
225 
226For detailed Docker usage, persistent storage, and Claude Desktop integration, see **[DOCKER.md](DOCKER.md)**.
227 
228</details>
229 
230---
231 
232## ⚙️ IDE Configuration
233 
234### Claude Code (CLI) — One Command Setup
235 
236After installation, configure your AI coding IDE to use this MCP server.
237 
238### Claude Code
239 
240**Option 1: CLI (Recommended)**
241```bash
242# macOS / Linux
243claude mcp add covate -- ~/covate/covate/bin/covate
244 
245# Windows
246claude mcp add covate -- %USERPROFILE%\covate\covate\Scripts\covate.exe
247```
248 
249**Option 2: Config File**
250 
251Add to `~/.claude.json`:
252```json
253{
254 "mcpServers": {
255 "covate": {
256 "command": "~/covate/covate/bin/covate"
257 }
258 }
259}
260```
261 
262For Windows:
263```json
264{
265 "mcpServers": {
266 "covate": {
267 "command": "C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe"
268 }
269 }
270}
271```
272 
273Example paths:
274- Unix (uv): `~/covate/covate/bin/covate`
275- Windows (uv): `C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe`
276- Windows (conda): `C:\\Users\\YourName\\anaconda3\\envs\\covate\\Scripts\\covate.exe`
277 
278Path breakdown (Unix example):
279- `~/covate` → repository directory
280- `covate` → virtual environment directory created by uv/venv
281- `bin/covate` → executable
282 
283### Cursor
284 
285Add to Cursor MCP settings (Settings → MCP → Add Server):
286 
287```json
288{
289 "covate": {
290 "command": "~/covate/covate/bin/covate"
291 }
292}
293```
294 
295For Windows:
296```json
297{
298 "covate": {
299 "command": "C:\\Users\\YourName\\covate\\covate\\Scripts\\covate.exe"
300 }
301}
302```
303 
304### Windsurf
305 
306Add to `~/.codeium/windsurf/mcp_config.json`:
307 
308```json
309{
310 "mcpServers": {
311 "covate": {
312 "command": "~/covate/covate/bin/covate"
313 }
314 }
315}
316```
317 
318### Docker Configuration
319 
320To use Docker with any MCP-compatible IDE:
321 
322```json
323{
324 "mcpServers": {
325 "covate": {
326 "command": "docker",
327 "args": [
328 "run",
329 "-i",
330 "--rm",
331 "-v",
332 "/path/to/your/project:/workspace",
333 "-w",
334 "/workspace",
335 "covate"
336 ]
337 }
338 }
339}
340```
341 
342See **[DOCKER.md](DOCKER.md)** for detailed Docker configuration examples for Claude Desktop, Cursor, and other IDEs.
343 
344### Other IDEs
345 
346For any MCP-compatible IDE, use these settings:
347- **Command:** `<install-path>/covate/bin/covate` (or `covate\Scripts\covate.exe` on Windows)
348- **Transport:** stdio
349 
350**After configuration, restart your IDE.**
351 
352## Usage
353 
354### Available Tools
355 
356| Tool | Trigger | For | Returns |
357|------|---------|-----|---------|
358| `learning_session` | User explicit request | **User** | `{status, action}` - minimal |
359| `debug_search` | Automatic (on error) | **Agent** | Compact summaries |
360| `debug_record` | Automatic (after fix) | **Agent** | `{ok, id}` - minimal |
361 
362### For Users: Learning Session
363 
364Say to your AI assistant:
365- "Quiz me on this change"
366- "Test my understanding"
367- "Help me learn about what you did"
368 
369The agent will create an interactive learning card and **wait** until you complete it.
370 
371> **Note**: Quiz scores are saved locally for your self-tracking but are NOT returned to the agent - this keeps the context clean.
372 
373### For Agents: Debug Tools
374 
375The debug tools work silently in the background:
376- **Search first**: When encountering errors, agent searches past solutions
377- **Record after**: When fixing errors, agent records the solution
378- **Progressive disclosure**: Returns compact summaries, not full records
379- **Fast lookups**: Uses inverted index for keyword-based searches
380 
381## Updating
382 
383### One-Line Update (Recommended)
384 
385The remote update script automatically detects your installation and works with **any path format** (including Chinese/non-ASCII paths):
386 
387<table>
388<tr>
389<td><b>macOS / Linux</b></td>
390<td>
391 
392```bash
393curl -fsSL https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/update.sh | bash
394```
395 
396</td>
397</tr>
398<tr>
399<td><b>Windows (PowerShell)</b></td>
400<td>
401 
402```powershell
403irm https://raw.githubusercontent.com/SunflowersLwtech/covate/main/scripts/update.ps1 | iex
404```
405 
406</td>
407</tr>
408</table>
409 
410The update script will:
4111. **Auto-detect** your installation location (supports multiple installations)
4122. **Pull** the latest changes from the repository
4133. **Force-reinstall** dependencies to ensure version synchronization
4144. **Verify** installation integrity and report any issues
4155. Detect if MCP server is in use and provide clear instructions
416 
417> **Why remote update?**
418> - ✅ Works with Chinese/non-ASCII paths without `cd` navigation
419> - ✅ Always uses the latest update logic from the repository
420> - ✅ Auto-detects installation location even if you forgot where it is
421> - ✅ Handles multiple installations gracefully
422 
423### Local Update (Alternative)
424 
425**macOS / Linux:**
426```bash
427~/covate/scripts/update.sh
428```
429 
430**Windows (PowerShell):**
431```powershell
432~\covate\scripts\update.ps1
433```
434 
435### Manual Update
436 
437<details>
438<summary>Click to expand manual update steps</summary>
439 
440```bash
441# Navigate to installation directory
442cd ~/covate # or your custom installation path
443 
444# Pull latest changes
445git pull origin main
446 
447# Update dependencies
448# Using uv
449source covate/bin/activate # macOS/Linux
450# covate\Scripts\activate # Windows
451uv pip install -e '.[dev]' --upgrade
452 
453# Or using standard venv
454source covate/bin/activate # macOS/Linux
455# covate\Scripts\activate # Windows
456pip install -e '.[dev]' --upgrade
457```
458 
459</details>
460 
461---
462 
463## 🖼️ Screenshots
464 
465### Learning Session WebUI
466 
467![WebUI Preview](assets/webui.png)
468 
469---
470 
471## 🔒 Security & Privacy
472 
473| Aspect | Details |
474|--------|---------|
475| **Local First** | All data stored in `.mcp-sidecar/` directory within your project |
476| **No Telemetry** | Zero data sent to external servers |
477| **Full Control** | Delete `.mcp-sidecar/` anytime to reset all data |
478 
479---
480 
481## 🔮 Roadmap
482 
483We're building toward a **Personalized Learning Center** that grows with you. Here's what's coming:
484 
485### 🔍 Advanced Search & Indexing (v1.2)
486 
487| Feature | Description |
488|---------|-------------|
489| **SQLite FTS5** | Full-text search with Chinese support, prefix matching, and boolean queries |
490| **BM25 Ranking** | Industry-standard relevance scoring for better search results |
491| **Semantic Search** | Vector embeddings for meaning-based matching (e.g., "权限错误" finds "permission denied") |
492| **Cross-project Search** | Search debug experiences across all your projects |
493 
494### 📱 Mobile App (v2.0)
495 
496| Feature | Description |
497|---------|-------------|
498| **Learning History Sync** | Access your quiz history and learning progress on mobile |
499| **Spaced Repetition** | Smart review scheduling based on forgetting curves |
500| **Offline Mode** | Learn anywhere, sync when connected |
501| **Push Notifications** | Gentle reminders to review concepts you're forgetting |
502 
503### 🎯 Personalized Learning Center (v2.5)
504 
505| Feature | Description |
506|---------|-------------|
507| **Knowledge Graph** | Visual map of concepts you've learned and their connections |
508| **Weakness Analysis** | AI identifies areas where you struggle and suggests focused practice |
509| **Learning Streaks** | Gamification to keep you motivated |
510| **Team Insights** | (Optional) Share anonymized learning patterns with your team |
511 
512### 🤖 AI Enhancements (v3.0)
513 
514| Feature | Description |
515|---------|-------------|
516| **Adaptive Quizzes** | Questions adjust difficulty based on your performance |
517| **Code Pattern Recognition** | Learn from patterns in your own codebase |
518| **Multi-language Support** | Explanations in your preferred language |
519| **Voice Interface** | "Hey Claude, quiz me on what we did yesterday" |
520 
521> **Want to influence the roadmap?** [Open an issue](https://github.com/SunflowersLwtech/covate/issues) or join the discussion!
522 
523---
524 
525## 🔧 Environment Variables
526 
527| Variable | Default | Description |
528|----------|---------|-------------|
529| `MCP_DEBUG` | `false` | Enable debug logging (`true`, `1`, `yes`, `on`) |
530| `MCP_TIMEOUT` | `120000` | MCP server startup timeout in ms |
531| `MAX_MCP_OUTPUT_TOKENS` | `25000` | Maximum tokens for MCP output |
532 
533---
534 
535## 🤝 Contributing
536 
537We welcome contributions! Please follow these steps:
538 
5391. Fork the repository
5402. Create a feature branch: `git checkout -b feature/amazing-feature`
5413. Install dev dependencies: `uv pip install -e '.[dev]'`
5424. Make changes and run tests: `pytest`
5435. Submit a Pull Request
544 
545See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
546 
547---
548 
549## 📬 Contact
550 
551| Channel | Address |
552|---------|---------|
553| **Email** | [email protected] |
554| **Email** | [email protected] |
555| **GitHub Issues** | [Open an Issue](https://github.com/SunflowersLwtech/covate/issues) |
556 
557---
558 
559## 📄 License
560 
561This project is licensed under the [MIT License](LICENSE).
562 
563---
564 
565<p align="center">
566 Built with <a href="https://github.com/jlowin/fastmcp">FastMCP</a> •
567 <a href="https://modelcontextprotocol.io">MCP Standard</a> •
568 <a href="https://glama.ai/mcp/servers/@SunflowersLwtech/covate">Glama MCP</a>
569</p>
570 

Discussion

Alternatives