Skip to main content
Glama
zsc140217

Learning System MCP Server

by zsc140217

Learning System - AI-Powered Learning Assistant

AI驱动的学习成长系统 - 基于MCP 2026-07-28协议的Multi-Agent知识管理平台

System Architecture

项目概述

这是一个面向用户的学习应用,专为技术学习面试准备设计。通过完整实现MCP 2026-07-28协议(MRTR、Tasks、Apps、Cache),结合多智能体架构知识图谱,提供智能化、上下文感知的学习辅助。

核心价值

  • 知识图谱可视化 - D3.js交互式图谱,探索概念间的关系

  • 多智能体协作 - 6个专职Agent通过事件总线协同工作

  • MCP协议完整实现 - MRTR二次确认、长任务管理、UI组件返回、三层缓存

  • 技能驱动工作流 - LLM基于Markdown技能文档动态编排原子工具

  • 语义搜索 - PostgreSQL + pgvector实现向量检索

  • 实时通信 - WebSocket双向聊天,延迟<100ms

Related MCP server: Obsidian MCP Learning System

为什么选择MCP?

MCP(Model Context Protocol)解决了AI应用的三大核心问题:

1. 上下文隔离

传统方式分析50个文件会污染主对话上下文10MB+,MCP通过Sub-Agent模式实现上下文隔离:

主Agent(干净上下文)
  -> 启动Sub-Agent(分析50个文件)
  -> 返回JSON结果(10KB)
  -> Sub-Agent上下文销毁

2. AI-First架构

核心理念:服务端只提供原子能力,不包含业务逻辑

# 错误方式:硬编码工作流
@server.tool("track_project")
def track_project(path):
    framework = detect_framework()  # 步骤1
    structure = scan_structure()    # 步骤2
    # 工作流固定在代码中

# 正确方式:原子化工具 + Skill文档
@server.tool("project/detect_framework")  # 只做框架检测
@server.tool("project/scan_structure")    # 只做结构扫描

# 工作流由Skill markdown定义,LLM动态编排

优势:

  • 工作流与实现分离(修改Skill文档即可调整流程)

  • 可复用ECC生态的Skills和MCP Servers

  • LLM根据用户需求灵活组合工具

3. MCP 2026四大特性

  • MRTR(多轮往返请求) - 危险操作二次确认(JWT + Nonce防重放)

  • Tasks(长任务管理) - 5-10分钟异步任务,支持进度追踪和取消

  • Apps(UI组件返回) - 服务端返回可视化组件(知识图谱、分析报告)

  • Cache(三层缓存) - public/user/session三级缓存,命中率60%+

技术架构

多智能体系统

6个专职Agent通过事件驱动总线协作:

Agent

职责

触发条件

SessionAnalyzer

从对话中提取知识点

会话结束、空闲60秒

MemoryManager

持久化到PostgreSQL知识图谱

知识保存事件

LearningCoach

生成间隔重复复习计划

会话结束、每日检查

ProjectAgent

追踪项目经验用于面试

项目分析请求

InterviewAgent

生成STAR格式面试材料

面试准备请求

ProjectAnalyzer

深度项目分析(Sub-Agent模式)

工具调用

知识图谱

基于PostgreSQL + pgvector实现:

  • 实体(Entities) - 概念、技术、项目,带向量embeddings

  • 关系(Relations) - 语义关系(uses、implements、depends-on)

  • 多图谱支持 - 前端、后端、面试准备独立图谱

  • 语义搜索 - pgvector余弦相似度 + DeepSeek embeddings

技术栈

前端

  • React 18.2 + TypeScript 5.2

  • Vite 5.0(构建工具)

  • Tailwind CSS 3.3(样式)

  • Zustand 4.4(状态管理)

  • D3.js 7.8(知识图谱可视化)

  • Recharts 2.10(统计图表)

后端

  • Python 3.x

  • FastMCP 3.4.5(MCP协议实现)

  • FastAPI 0.104(HTTP/WebSocket服务)

  • asyncpg 0.29(PostgreSQL驱动)

  • Redis 5.0(缓存层)

  • DeepSeek API(LLM聊天 + embeddings)

数据库

  • PostgreSQL with pgvector扩展

  • Redis三层缓存

项目结构

learning-system/
├── client/
│   ├── backend/              # Python WebSocket服务器
│   │   ├── websocket_server.py   # WebSocket入口
│   │   ├── mcp_http_client.py    # MCP HTTP客户端
│   │   ├── skill_executor.py     # Skill执行引擎
│   │   ├── state.py              # 会话状态管理
│   │   └── task_manager.py       # 长任务管理
│   └── frontend/             # React + TypeScript UI
│       └── src/
│           ├── components/   # ChatInterface、KnowledgeGraphView等
│           ├── services/     # API客户端
│           └── stores/       # Zustand状态
├── mcp-server/              # MCP服务器实现
│   ├── server.py            # 主服务器(32个工具)
│   ├── http_server.py       # HTTP传输层(端口8080)
│   ├── config.py            # 配置
│   ├── src/
│   │   ├── agents/          # 6个专职Agent
│   │   ├── protocol/        # MCP协议层(MRTR、Tasks、Apps)
│   │   ├── storage/         # PostgreSQL + Memory MCP适配器
│   │   ├── tools/           # MCP工具实现
│   │   ├── cache/           # Redis缓存装饰器
│   │   └── llm/             # DeepSeek LLM集成
│   ├── migrations/          # 数据库Schema
│   └── skills/              # Skill定义(.md)
├── docs/                    # 文档
│   ├── mcp-features-mapping.md          # MCP 2026特性映射
│   ├── ARCHITECTURE_CORRECTION.md       # 架构决策
│   ├── learning-system-optimization-plan.md  # ECC启发设计
│   └── system-completion-plan.md        # 实现路线图
└── imgs/                    # 截图

快速开始

前置要求

  • Python 3.9+

  • Node.js 18+

  • PostgreSQL 14+ with pgvector扩展

  • Redis 5+

安装

  1. 克隆仓库

git clone <repository-url>
cd learning-system
  1. 后端设置

cd mcp-server
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑.env,配置PostgreSQL、Redis、DeepSeek API密钥

# 运行数据库迁移
psql -U postgres -d learning_system -f migrations/001_add_knowledge_graphs.sql
  1. 前端设置

cd client/frontend
npm install

# 配置环境变量
cp .env.example .env
# 编辑.env,配置WebSocket服务器URL
  1. 启动服务

终端1 - MCP服务器:

cd mcp-server
python http_server.py
# 运行在 http://localhost:8080

终端2 - WebSocket后端:

cd client/backend
python websocket_server.py
# 运行在 ws://localhost:8765

终端3 - 前端:

cd client/frontend
npm run dev
# 运行在 http://localhost:5173

快速启动脚本

# 使用提供的批处理脚本(Windows)
cd client
start.bat

使用方式

聊天界面

交互式提问和学习:

你:"MCP 2026的核心特性是什么?"
AI:"MCP 2026有四大核心特性:MRTR用于多轮确认..."

每次会话后,知识点自动提取并保存到图谱。

知识图谱可视化

  • 查看 - 点击"显示知识图谱"可视化关系

  • 交互 - 拖动节点、缩放/平移、点击查看详情

  • 搜索 - 双击节点触发语义搜索

项目追踪

追踪项目用于面试准备:

你:"分析E:/Desktop/learning-system项目"
AI:[使用Sub-Agent运行深度分析,保存到知识图谱]

系统提取:

  • 技术栈(FastAPI、PostgreSQL、React)

  • 框架模式

  • 面试技术亮点

面试准备

生成STAR格式材料:

你:"为learning-system项目准备面试材料"
AI:[生成项目介绍、技术亮点、常见问题]

MCP工具(32个可用)

知识管理

  • save_knowledge - 保存提取的知识点

  • search_knowledge - 使用embeddings语义搜索

  • get_knowledge_graph - 通过节点名检索图谱

  • ui_knowledge_graph - 返回可视化UI组件

  • delete_knowledge - 删除节点(需MRTR确认)

项目分析

  • track_project - 追踪项目用于面试

  • analyze_project_deep - 深度分析(长任务,5-10分钟)

  • delete_project - 从图谱移除项目

学习

  • analyze_session - 从对话提取知识

  • explore_technology - 深入研究技术主题

  • research_technology_deep - 全面研究(长任务)

文件操作

  • read_filewrite_filelist_directorysearch_filesget_file_info

系统

  • get_cache_statsinvalidate_cache - 缓存管理

  • tasks/gettasks/listtasks/cancel - 长任务控制

Skills系统

Skills以markdown格式定义工作流,LLM读取Skill并动态编排工具调用。

可用Skills:

  • codebase-onboarding.md - 分析新代码库

  • interview-prep.md - 生成面试材料

  • tech-deep-dive.md - 6阶段学习路径

  • summarize-knowledge.md - 提取关键概念

  • summarize.md - 通用总结

Skills存储在mcp-server/skills/,运行时加载。

从ECC学到的设计理念

  1. AI-First架构 - 服务端提供原子工具,工作流用markdown定义

  2. Sub-Agent模式 - 在独立Agent中隔离上下文密集操作

  3. 事件驱动多Agent - 解耦的Agent通过事件总线通信

  4. Skill系统 - LLM编排的可复用工作流定义

  5. MCP协议 - AI-工具通信的标准化接口

面试谈资要点

讨论此项目时的技术亮点:

技术特色:

  • 实现完整MCP 2026协议(MRTR、Tasks、Apps、Cache)

  • 事件驱动的多智能体架构

  • 知识图谱 + 语义搜索(PostgreSQL + pgvector)

  • Sub-Agent模式实现上下文隔离

  • 三层缓存策略(命中率60%+)

为什么用MCP? "MCP解决了AI应用的上下文污染问题。传统方式将用户对话和文件分析混在一起,导致上下文不可读。MCP通过Sub-Agent隔离分析,返回干净的JSON结果。"

为什么用多Agent? "每个Agent单一职责(SessionAnalyzer提取知识、MemoryManager持久化、LearningCoach生成复习计划)。它们通过事件通信,添加新Agent无需修改现有Agent。"

为什么用知识图谱? "支持基于关系的学习。准备面试时,我可以查询'learning-system使用了哪些技术?',得到FastAPI、PostgreSQL、MCP及其关系,而不是扁平列表。"

开发路线图

已完成(INT-1到INT-4)

  • PostgreSQL知识图谱集成

  • 32个工具的MCP服务器

  • 多Agent事件总线

  • WebSocket实时通信

  • D3.js图谱可视化

  • Skill执行引擎

进行中

  • 知识图谱视觉增强(配色方案、节点大小)

  • 统一设计令牌的设计系统

  • 500+节点性能优化(WebGL目标)

计划中

  • 高级图谱交互(右键菜单、多选)

  • 侧边栏详情面板

  • 完整interview-prep和tech-deep-dive工作流

  • 前端动画系统

  • 性能监控仪表板

  • 跨页面刷新的会话持久化

配置

MCP服务器(mcp-server/config.py

POSTGRES_HOST = "localhost"
POSTGRES_DB = "learning_system"
REDIS_HOST = "localhost"
DEEPSEEK_API_KEY = "your-api-key"
HTTP_SERVER_PORT = 8080

前端(client/frontend/.env

VITE_WEBSOCKET_URL=ws://localhost:8765

许可证

MIT License - 详见LICENSE文件

致谢

  • 设计模式灵感来自ECC(Embodied Coding Coach)生态系统

  • MCP协议规范来自Anthropic

  • 知识图谱概念来自Memory MCP


构建技术: FastMCP, FastAPI, React, PostgreSQL, D3.js, DeepSeek API
开发状态: 🟢 生产就绪(核心功能完成)
面试重点: MCP协议实现、多Agent架构、知识图谱语义搜索

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server with real AI capabilities (OpenAI/Anthropic) for natural language understanding, multi-step planning, and autonomous task execution, enabling intelligent file analysis, weather-based planning, and more.
    247
    ISC
  • F
    license
    Not graded
    quality
    D
    maintenance
    This MCP server provides LLMs with a live, curated knowledge base of AI agent research, world models, and source-code reviews, enabling personalized and context-aware responses. Users can either connect to the hosted knowledge or build and host their own vault.

View all related MCP servers

Related MCP Connectors

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zsc140217/learning-system'

If you have feedback or need assistance with the MCP directory API, please join our Discord server