数据挖掘课程材料管理服务器

一个用于管理和查询数据挖掘课程材料的Model Context Protocol (MCP)服务器,通过AI工具智能访问讲义、教程、答案和历年试卷。

  • by abhishektang
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 abhishektang/data-mining-mcp-server

使用说明

数据挖掘MCP服务器

用于管理和查询数据挖掘课程材料的模型上下文协议(MCP)服务器。该服务器通过人工智能工具提供对课堂讲稿、教程、教程答案和过去论文的智能访问。

📚 特性

  • 搜索所有材料:通过PDF/DOCX支持对讲座、教程、答案和过去的论文进行全文搜索
  • 基于周的组织:检索任何特定周的所有材料(1-13)
  • 过去的论文访问:快速获取2015-2024年的试卷
  • 课程概述:获取可用材料的完整概述
  • PDF和DOCX支持:使用PyMuPDF和python-docx进行即时文本提取
  • 资源访问:按路径直接访问任何文档

🚀 快速开始

先决条件

  • Node.js 18或更高版本
  • Python 3.10或更高版本
  • npm

安装

  1. 克隆或导航到此目录
  2. 安装Node.js依赖项:
npm install
  1. 设置Python环境:
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install PyMuPDF python-docx
  1. 构建项目:
npm run build

添加课程材料

将您的材料放入 course-materials/ 目录遵循此结构:

course-materials/
├── lectures/week-1/          # Week 1 lecture notes
├── lectures/week-2/          # Week 2 lecture notes
├── ...
├── lectures/week-13/         # Week 13 lecture notes
├── tutorials/week-1/         # Week 1 tutorial questions
├── tutorial-answers/week-1/  # Week 1 tutorial answers
├── additional-resources/     # Supplementary materials
└── past-papers/              # Past year papers by year (2015-2024)
    ├── 2015/
    ├── 2016/
    ├── ...
    ├── 2023/
    └── 2024/

支持的文件格式:

  • PDF(.PDF)-具有即时文本提取功能
  • Word文档(.docx)
  • Markdown(.md)
  • 文本(.txt)
  • 任何基于文本的格式

示例:添加第1周的材料

# Add lecture notes
cp ~/Downloads/week1-classification.pdf course-materials/lectures/week-1/

# Add tutorial
cp ~/Downloads/week1-tutorial.pdf course-materials/tutorials/week-1/

# Add tutorial answers
cp ~/Downloads/week1-answers.docx course-materials/tutorial-answers/week-1/

# Add past papers by year
cp ~/Downloads/2023-midterm.pdf course-materials/past-papers/2023/
cp ~/Downloads/2023-final.pdf course-materials/past-papers/2023/
cp ~/Downloads/2024-exam.pdf course-materials/past-papers/2024/

🔧 使用服务器

使用VS代码GitHub副本(推荐)

  1. 打开VS代码命令面板(Cmd+Shift+P 在macOS上, Ctrl+Shift+P 在Windows/Linux上)
  2. 键入并选择: “MCP:打开用户配置”
  3. 将此配置添加到您的 mcp.json:
{
  "servers": {
    "data-mining": {
      "type": "stdio",
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/Data Mining MCP Server/build/index.js"]
    }
  }
}

替换 /ABSOLUTE/PATH/TO/ 此目录的实际路径。

  1. 保存文件并重新启动VS Code或GitHub Copilot

备注:MCP配置文件位于:

  • macOS/Linux: ~/Library/Application Support/Code/User/mcp.json
  • 视窗: %USERPROFILE%\AppData\Roaming\Code\User\mcp.json

使用克劳德桌面(替代)

如果您更喜欢Claude Desktop,请添加到 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上:

{
  "mcpServers": {
    "data-mining": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/Data Mining MCP Server/build/index.js"]
    }
  }
}

配备MCP检查员(用于测试)

npx @modelcontextprotocol/inspector node build/index.js

🛠️ 可用工具

1. search-materials

按内容或文件名搜索所有课程材料。

参数:

  • query (string):搜索词

例子:

Search for "decision trees" in all materials
Search for "clustering" in materials

2. get-week-materials

检索特定周的所有材料。

参数:

  • week (字符串):周标识符(例如,“第1周”、“第2周”、…、“第13周”)

例子:

Get lecture notes for week 5
Get tutorial answers for week 3

3. list-past-papers

按年份列出所有可用的过去一年的试卷(2015-2024)。

参数: 无

例子:

Show me all past papers
List available exam years

4. get-year-papers

获取特定年份的所有过去论文。

参数:

  • year (string):检索论文的年份(例如,“2015”、“2024”)

例子:

Get all papers from 2024
Show me 2023 exam papers

5. get-course-overview

获取所有可用课程材料的概述。

参数: 无

例子:

Give me an overview of the course
What materials are available?

6. read-file

从PDF或DOCX文件中读取和提取文本。

参数:

  • filePath (string):课程资料文件夹的相对路径
  • maxPages (可选数量):限制从PDF中提取的页面

例子:

Read the week 3 lecture PDF
Extract text from lectures/week-5/decision-trees.pdf

📖 资源

服务器还将文档作为可以直接引用的资源公开:

  • datamining://materials/week-{X} -第X周(1-13)的访问材料
  • datamining://past-papers/{YEAR} -访问特定年份的过去论文

�� 示例工作流程

第三周学习

  1. 问你的人工智能助理:“帮我学习第3周”
  2. AI将使用 get-week-materials 检索讲座、教程和答案
  3. 就“决策树”等具体概念提出后续问题

搜索主题

  1. 提问:“查找有关分类算法的所有材料”
  2. AI将使用 search-materials 查找所有周的相关内容
  3. 直接访问相关文件

考试准备

  1. 问:“帮我准备数据挖掘考试”
  2. AI将:
    • 列出所有过去的论文 list-past-papers
    • 搜索关键概念
    • 帮助您练习问题
    • 根据可用材料制定学习计划

🏗️ 发展

项目结构

.
├── src/
│   └── index.ts          # Main MCP server implementation
├── scripts/
│   └── extract_text.py   # PDF/DOCX text extraction utility
├── course-materials/     # Your course materials
│   ├── lectures/
│   ├── tutorials/
│   ├── tutorial-answers/
│   ├── additional-resources/
│   └── past-papers/
├── build/                # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

进行更改

  1. 编辑 src/index.ts
  2. 重建: npm run build
  3. 重新启动MCP客户端以获取更改

观看模式(用于开发)

npm run watch

当您对源代码进行更改时,这将自动重建。

�� 考试准备技巧

  1. 整理你的材料:按周整理材料,便于检索
  2. 使用描述性文件名:清楚地命名文件(例如。, week3-decision-trees.pdf)
  3. 与AI结合:让人工智能对你进行测验、解释概念或创建学习指南
  4. 高效搜索:使用特定术语查找所有周的相关材料
  5. 练习过去的论文:使用 list-past-papers 用于访问以前考试的工具

🔒 隐私

所有材料都存放在您的机器上。MCP服务器仅通过模型上下文协议提供对AI助手的访问。你的课程材料永远不会离开你的电脑。

📝 许可证

麻省理工学院

🆘 故障排除

服务器无法启动

  • 确保你已经跑过了 npm install 和 npm run build
  • 检查Node.js版本是否为18或更高: node --version
  • 验证Python依赖项是否安装在 .venv/

材料未显示

  • 验证文件是否位于以下位置的正确目录结构中 course-materials/
  • 检查文件权限(文件必须可读)
  • 尝试使用 get-course-overview 工具查看检测到的内容

搜索未找到内容

  • 确保PDF有文本层(没有OCR的扫描图像)
  • 检查文件编码(应为UTF-8)
  • 尝试从文档中搜索精确的单词

PDF/DOCX提取失败

  • 验证Python虚拟环境是否已激活
  • 确保已安装PyMuPDF和python-docx: pip list | grep -E "PyMuPDF|python-docx"
  • 检查您环境中的Python路径

📚 示例材料模板

创建组织良好、命名清晰的材料:

course-materials/
├── lectures/week-1/
│   ├── w1-introduction-to-data-mining.pdf
│   └── w1-lecture-notes.md
├── tutorials/week-1/
│   └── w1-tutorial-questions.pdf
└── tutorial-answers/week-1/
    └── w1-tutorial-solutions.docx

🤝 贡献

这是数据挖掘学生的学习工具。您可以根据自己的需求对其进行定制,或做出改进!

📖 资源


快乐学习! 🎓 使用此工具在数据挖掘考试中取得优异成绩!