使用说明
标题:本地人工智能媒体侦察员-黑客马拉松空间提交 表情符号🎬 颜色来源:绿色 颜色致:蓝色 sdk:毕业 sdk版本:“6.0.0” app_file:app.py 固定:false 标签:
- 构建mcp跟踪消费者
- 打造mcp轨道创意
🎬 本地AI媒体侦察员
隐私优先语义媒体搜索MCP服务器
100%本地和私人: 您的媒体保留在您的机器上。AI在本地运行。零云上传。
🌟 概述
本地AI媒体侦察员 是一个模型上下文协议(MCP)服务器,它让人工智能助手(如克劳德)通过自然语言搜索访问您的本地照片和视频。
与基于云的解决方案不同,此工具完全使用 SigLIP AI模型(比CLIP快2倍)可以理解媒体文件的内容。
非常适合:
- 🔍 使用“海滩日落”或“咖啡收据”等描述查找照片/视频
- 🤖 让Claude Desktop“看到”您当地的媒体库
- 🔒 关心隐私且不想将个人照片上传到云端的用户
✨ 特性
- 语义搜索: 按含义搜索,而不仅仅是文件名(例如,“睡在沙发上的猫”)。
- 多模式: 支持两者 图像 (JPG、PNG、WEBP等)以及 视频 (MP4、MOV、MKV等)。
- 隐私第一: 所有处理(索引和搜索)都在CPU/GPU上进行。
- 双接口:
- 🔌 MCP服务器: 连接到克劳德桌面。
- 🌐 Web用户界面: 内置接口,用于测试和直接使用。
- 高性能: 用途
google/siglip-base-patch16-224FAISS用于快速索引和检索。
🛠️ 安装
先决条件
- Python 3.10或更高版本
- Git
1.克隆存储库
git clone https://github.com/mugdhav/local_media_search_mcp_server.git
cd local_media_search_mcp_server
2.创建虚拟环境
建议使用虚拟环境来管理依赖关系。
窗户:
python -m venv venv
.\venv\Scripts\activate
macOS/Linux:
python3 -m venv venv
source venv/bin/activate
3.安装依赖项
pip install -r requirements.txt
⚙️ 配置
-
创建一个
.env根目录中的文件(可选,将使用默认值):MEDIA_DIR=media INDEX_DIR=indexMEDIA_DIR:包含照片和视频的文件夹(可以是绝对路径)。INDEX_DIR:AI索引文件将存储在何处。
-
添加您的媒体:
- 将您的照片和视频放在
media文件夹(或您配置的任何文件夹)。 - 注意:第一次运行服务器时,它将下载AI模型(~150MB)并为您的文件建立索引。这可能需要几分钟的时间,具体取决于您的库大小。
- 将您的照片和视频放在
🚀 用法
1.启动服务器
运行应用程序:
python app.py
您应该看到指示服务器已启动的输出:
Web UI: http://localhost:7860
MCP Endpoint: http://localhost:7860/gradio_api/mcp/sse
2.连接到克劳德桌面
要在Claude Desktop中使用此功能,您需要将服务器配置添加到MCP设置文件中。
文件位置:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
配置:
{
"mcpServers": {
"media-search": {
"url": "http://localhost:7860/gradio_api/mcp/sse"
}
}
}
保存此文件后重新启动Claude Desktop。
3.使用Web UI
打开 http://localhost:7860 在浏览器中:
- 测试搜索查询。
- 查看索引统计信息。
- 手动触发重新索引。
- 检查文件详细信息。
🤖 可用的MCP工具
连接到Claude后,您可以使用以下工具:
| 工具 | 说明 |
|---|---|
semantic_search |
使用自然语言描述搜索您的媒体。 Args: query (str), media_type (全部/图像/视频), top_k (int) |
get_media_details |
获取特定媒体文件的元数据(大小、类型、路径)。 Args: file_path (str) |
get_index_stats |
查看有关索引库的统计信息(计数、大小等)。 |
reindex_media |
强制服务器重新扫描您的媒体目录。 Args: force (布尔) |
给克劳德的提示示例:
- “给我找我的狗在公园里玩的照片。”
- “我有毕业典礼的视频吗?”
- “显示第一个搜索结果的元数据。”
- “重新索引我的媒体库,我刚刚添加了一些新照片。”
🔧 故障排除
- 首次运行缓慢: 第一次运行下载SigLIP模型。这很正常。
- 视频处理: 索引视频需要更长的时间,因为它提取帧来理解内容。
- “找不到文件”: 确保您的
MEDIA_DIR路径正确.env文件。 - MCP连接错误: 确保服务器正在运行(
python app.py)在打开Claude Desktop之前。
📜 许可证
MIT许可证
专为MCP 1岁生日黑客马拉松而打造🎂