数据挖掘MCP服务器
用于管理和查询数据挖掘课程材料的模型上下文协议(MCP)服务器。该服务器通过人工智能工具提供对课堂讲稿、教程、教程答案和过去论文的智能访问。
📚 特性
- 搜索所有材料:通过PDF/DOCX支持对讲座、教程、答案和过去的论文进行全文搜索
- 基于周的组织:检索任何特定周的所有材料(1-13)
- 过去的论文访问:快速获取2015-2024年的试卷
- 课程概述:获取可用材料的完整概述
- PDF和DOCX支持:使用PyMuPDF和python-docx进行即时文本提取
- 资源访问:按路径直接访问任何文档
🚀 快速开始
先决条件
- Node.js 18或更高版本
- Python 3.10或更高版本
- npm
安装
- 克隆或导航到此目录
- 安装Node.js依赖项:
npm install- 设置Python环境:
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install PyMuPDF python-docx- 构建项目:
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副本(推荐)
- 打开VS代码命令面板(
Cmd+Shift+P在macOS上,Ctrl+Shift+P在Windows/Linux上) - 键入并选择: “MCP:打开用户配置”
- 将此配置添加到您的
mcp.json:
{
"servers": {
"data-mining": {
"type": "stdio",
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/Data Mining MCP Server/build/index.js"]
}
}
}替换 /ABSOLUTE/PATH/TO/ 此目录的实际路径。
- 保存文件并重新启动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 materials2. get-week-materials
检索特定周的所有材料。
参数:
week(字符串):周标识符(例如,“第1周”、“第2周”、…、“第13周”)
例子:
Get lecture notes for week 5
Get tutorial answers for week 33. list-past-papers
按年份列出所有可用的过去一年的试卷(2015-2024)。
参数: 无
例子:
Show me all past papers
List available exam years4. get-year-papers
获取特定年份的所有过去论文。
参数:
year(string):检索论文的年份(例如,“2015”、“2024”)
例子:
Get all papers from 2024
Show me 2023 exam papers5. 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}-访问特定年份的过去论文
�� 示例工作流程
第三周学习
- 问你的人工智能助理:“帮我学习第3周”
- AI将使用
get-week-materials检索讲座、教程和答案 - 就“决策树”等具体概念提出后续问题
搜索主题
- 提问:“查找有关分类算法的所有材料”
- AI将使用
search-materials查找所有周的相关内容 - 直接访问相关文件
考试准备
- 问:“帮我准备数据挖掘考试”
- 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进行更改
- 编辑
src/index.ts - 重建:
npm run build - 重新启动MCP客户端以获取更改
观看模式(用于开发)
npm run watch当您对源代码进行更改时,这将自动重建。
�� 考试准备技巧
- 整理你的材料:按周整理材料,便于检索
- 使用描述性文件名:清楚地命名文件(例如。,
week3-decision-trees.pdf) - 与AI结合:让人工智能对你进行测验、解释概念或创建学习指南
- 高效搜索:使用特定术语查找所有周的相关材料
- 练习过去的论文:使用
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🤝 贡献
这是数据挖掘学生的学习工具。您可以根据自己的需求对其进行定制,或做出改进!
📖 资源
______________________________________________________________________
快乐学习! 🎓 使用此工具在数据挖掘考试中取得优异成绩!
