文件管理器MCP服务器
模型上下文协议(MCP)服务器,使用Google的Gemini Vision API分析文件列表/课程内容的屏幕截图,并根据提取的顺序自动组织文件。
特性
- 截图分析:使用Gemini Vision API从截图中提取文件组织顺序
- 智能文件组织:按提取顺序匹配文件,并用数字前缀重命名
- 描述性文件夹:根据内容类型创建特定于部分的文件夹
- AI/OCR处理:对常见OCR变体(如AI与Al)的稳健处理
- 撤消支持:可以将有组织的文件恢复到原始状态
先决条件
- Python 3.13+
- Visual Studio Code
- Gemini Vision API的Google API密钥
- VS代码的MCP扩展
uv包管理器(推荐)或pip
设置
- 克隆存储库:
git clone https://github.com/mutaician/file-organizer-MCP-Server.git
cd file-organizer-mcp- 使用uv创建和激活虚拟环境:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt- 安装VS代码MCP扩展:
- 打开VS代码 - 转到扩展(Ctrl+Shift+X) - 安装GitHub Copilot扩展(或任何支持MCP服务器的扩展)。
- 配置VS代码工作区:
- 创建 .vscode 文件夹(如果不存在) - 添加 mcp.json 内容如下:
{
"inputs": [
{
"type": "promptString",
"id": "gemini-key",
"description": "Gemini API Key",
"password": true
}
],
"servers": {
"File Organizer": {
"type": "stdio",
"command": "${workspaceFolder}/.venv/bin/python",
"args": ["${workspaceFolder}/src/server.py"],
"env": {
"GOOGLE_API_KEY": "${input:gemini-key}"
}
}
}
}VS代码中的用法
- 启动MCP服务器:
- 打开命令面板(Ctrl+Shift+P) - 类型“MCP:列出服务器” - 选择“文件管理器” - 提示时输入Gemini API密钥 - 现在,您应该看到您的服务器及其工具在Copilot Chat/Agent模式下可用。
- 在Copilot聊天中,您可以通过以下方式组织文件:
- 首先,分析屏幕截图以获取文件顺序:
Could you analyze the screenshot at "/path/to/screenshot.jpg"?- 然后使用提取的顺序组织文件:
Could you organize the files in "/path/to/section" using this order?- 服务器将自动: - 根据节标题创建描述性子文件夹 - 根据文件顺序对其进行编号 - 处理AI/OCR变化
- 其他命令:
- 列出目录中的文件:
Could you list the files in "/path/to/directory"?- 撤消组织:
Could you undo the organization from "/path/to/organized" back to "/path/to/source"?- 最佳实践:
- 保持屏幕截图清晰明亮,以获得更好的OCR - 每次操作后验证组织结果 - 如果需要,请在重试之前使用撤消功能
关键概念
- 屏幕截图分析:
- 截取所需文件组织的屏幕截图(例如,课程内容列表) - 使用Gemini Vision提取顺序和层次结构 - 处理编号列表和各种格式
- 文件组织:
- 将文件与提取顺序匹配 - 添加数字前缀(例如“01\_”、“02\_”) - 根据内容类型创建描述性子文件夹 - 保留前缀后的原始文件名
- 智能匹配:
- 处理OCR文本的变化(AI与Al) - 忽略区分大小写 - 删除可能会干扰的特殊字符 - 在适当的时候匹配部分名称
故障排除
- 如果文件不匹配:
- 检查文件名中的特殊字符 - 验证屏幕截图文本清晰易读 - 确保文件扩展名正确
- 如果服务器无法启动:
- 验证Gemini API密钥是否有效 - 检查Python虚拟环境是否已激活 - 确保安装了所有依赖项
依赖项
mcp-sdk:模型上下文协议实现google-generativeai:Gemini AI API客户端pillow:屏幕截图的图像处理
