Token导航 LogoToken导航TokenDH.com
Learning Coach MCP Server logo
文档知识stdio官方级别未说明来源级核验

Learning Coach MCP Server

MCP Server

一个基于MCP协议的个人AI学习教练服务器,通过RAG技术跟踪学习进度、获取相关内容并生成个性化每日学习见解。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude文档处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Pevansh

提供方

Pevansh

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

学习教练MCP服务器

MCP(模型上下文协议)服务器,充当您的个人AI学习教练。跟踪您的学习进度,获取相关内容,并使用RAG(检索增强生成)生成个性化的日常学习见解。

特性

1.内容管理

  • 存储来自可信来源(博客、RSS提要、Reddit)的学习内容
  • 跟踪您当前正在学习的周和主题
  • 存储您的学习偏好和目标

2.每日学习摘要

  • 每天生成5-7个个性化学习见解
  • 使用RAG从您的来源中查找相关内容
  • 根据你当前的一周调整难度

3.面向LLM客户的MCP工具(Claude App)

  • generate_daily_digest:创建当今的个性化学习见解
  • add_content_source:添加新的内容源(RSS/博客)
  • update_progress:更新你本周的学习主题
  • search_insights:搜索过去的学习见解
  • get_progress:查看当前学习进度
  • ingest_content_from_sources:手动触发内容摄取
  • get_today_insights:检索今天生成的见解

4.语义搜索

  • 使用向量嵌入来查找相关内容
  • 将内容与您当前的学习主题相匹配
  • 使用RAGAS启发的指标对每个见解的相关性进行评分

技术栈

  • FastMCP:用于构建MCP服务器
  • Supabase:带pgvector扩展名的PostgreSQL数据库
  • 抱抱脸:用于嵌入的开源句子转换器
  • 格罗克:快速LLM推理(Llama 3.3 70B),用于生成个性化见解
  • python:编程语言

项目结构

learning-coach-mcp/
├── src/
│   ├── server.py                    # Main MCP server with tools
│   ├── rag/
│   │   └── digest_generator.py      # RAG pipeline
│   ├── ingestion/
│   │   └── content_fetcher.py       # RSS feed & blog scraper
│   └── utils/
│       ├── database.py              # Supabase client
│       └── openai_client.py         # OpenAI client
├── .env.example                      # Environment variables template
├── requirements.txt                  # Python dependencies
└── README.md

安装说明

1.克隆和安装依赖项

# Install Python dependencies
pip install -r requirements.txt

2.建立数据库

创建一个Supabase项目并运行以下SQL来设置架构:

-- Enable pgvector extension
CREATE EXTENSION IF NOT EXISTS vector;

-- Content sources table
CREATE TABLE content_sources (
    id SERIAL PRIMARY KEY,
    source_url TEXT NOT NULL UNIQUE,
    source_type TEXT NOT NULL, -- 'rss', 'blog', 'reddit'
    tags TEXT[],
    created_at TIMESTAMP DEFAULT NOW()
);

-- Learning content with embeddings
CREATE TABLE learning_content (
    id SERIAL PRIMARY KEY,
    title TEXT NOT NULL,
    content TEXT NOT NULL,
    source_url TEXT,
    embedding VECTOR(384), -- dimension for all-MiniLM-L6-v2
    metadata JSONB,
    created_at TIMESTAMP DEFAULT NOW()
);

-- Create index for vector similarity search
CREATE INDEX ON learning_content USING ivfflat (embedding vector_cosine_ops);

-- User progress tracking
CREATE TABLE user_progress (
    id SERIAL PRIMARY KEY,
    user_id TEXT NOT NULL UNIQUE,
    current_week INTEGER NOT NULL,
    current_topics TEXT[],
    learning_goals TEXT,
    updated_at TIMESTAMP DEFAULT NOW()
);

-- Daily insights
CREATE TABLE daily_insights (
    id SERIAL PRIMARY KEY,
    user_id TEXT NOT NULL,
    insight TEXT NOT NULL,
    content_id INTEGER REFERENCES learning_content(id),
    relevance_score FLOAT,
    week INTEGER,
    created_at TIMESTAMP DEFAULT NOW()
);

-- Function for vector similarity search
CREATE OR REPLACE FUNCTION match_learning_content(
    query_embedding VECTOR(384),
    match_threshold FLOAT,
    match_count INT
)
RETURNS TABLE (
    id INT,
    title TEXT,
    content TEXT,
    source_url TEXT,
    metadata JSONB,
    similarity FLOAT
)
LANGUAGE SQL STABLE
AS $$
    SELECT
        id,
        title,
        content,
        source_url,
        metadata,
        1 - (embedding  query_embedding) AS similarity
    FROM learning_content
    WHERE 1 - (embedding  query_embedding) > match_threshold
    ORDER BY similarity DESC
    LIMIT match_count;
$$;

3.配置环境变量

复制 .env.example.env 并填写您的凭据:

cp .env.example .env

编辑 .env:

SUPABASE_URL=your_supabase_project_url
SUPABASE_KEY=your_supabase_anon_key
GROQ_API_KEY=your_groq_api_key
DEFAULT_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2
MAX_DAILY_INSIGHTS=7

4.运行MCP服务器

# Run the server
python -m src.server

使用Claude Desktop

将此添加到您的Claude Desktop MCP配置中:

{
  "mcpServers": {
    "learning-coach": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/newsletter_mcp"
    }
  }
}

工作流示例

  1. 设置您的学习档案:
   Use update_progress to set:
   - current_week: 1
   - current_topics: ["Python", "Machine Learning", "RAG"]
   - learning_goals: "Build production ML applications"
  1. 添加内容源:
   Use add_content_source to add:
   - RSS feeds from tech blogs
   - Popular ML newsletters
   - Reddit threads
  1. 生成每日摘要:
   Use generate_daily_digest to get 5-7 personalized insights
   based on your topics and learning level
  1. 搜索过去的见解:
   Use search_insights to find specific topics or concepts
   you've learned before

注: 这是一个单用户系统。所有数据都存储在默认用户配置文件下。

截图

alt text alt text alt text alt text

运作原理

  1. 内容物摄入:从RSS提要和博客中获取内容,使用句子转换器生成嵌入
  2. 存储:使用pgvector将带有向量嵌入的内容存储在Supabase中
  3. 检索:使用语义搜索查找与当前主题相关的内容
  4. 生成:Groq(Llama 3.3 70B)根据您的学习环境生成个性化见解
  5. 评分:受RAGAS启发的指标对每个见解的相关性进行评分

目录标签

目录标签

PythonClaude文档处理AI学习助手本地部署个性化学习RAG技术学习进度跟踪内容管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP