A multimodal local memory MCP for AI agents powered by Gemini Embedding 2.
   
______________________________________________________________________
将您的本地文档、代码、PDF、图像、音频和视频直接连接到 克劳德, 光标,或 VS Code 使用谷歌的 gemini-embedding-2-preview 模型与严格局部 色度数据库 矢量数据库。
与纯文本本地RAG工具不同,此服务器在文本、视觉PDF页面、图像、音频和视频中保留一个本地存储层,然后将确切的文件路径和页面或块上下文返回给您的代理。
为什么这不一样
- 一个跨模态的嵌入空间:从同一存储层搜索代码、PDF、图像、音频和视频。
- 本地优先坚持:你的指数保持不变
~/.gemini_mcp_db,不在宿主矢量数据库中。 - 代理友好检索:搜索结果包括确切的路径、类型、模式和页面感知上下文。
- 默认情况下为零配置:服务器使用内置的护栏和合理的索引默认值,因此大多数用户不需要配置文件。
你可以问什么
Find the PDF page that explains our design tokens.Search my image library for screenshots of dashboards with dark sidebars.Find the audio or video clip where we talked about pricing changes.Search only my work docs folder for onboarding notes about incident response.Give me the surrounding context for result 2 so I can cite the original file correctly.
✨ 主要特点
| 特性 | 描述 |
|---|---|
| 🧠 统一多模式搜索 | 将文本、视觉PDF页面、图像、音频和视频存储在一个本地语义记忆中,以便单个查询可以跨模态检索。 |
| 📄 可视化PDF检索 | 将PDF逐页渲染为Gemini Embedded 2的图像,同时保留提取的文本以供代理阅读引用和上下文。 |
| 🎯 精确检索控制 | 支持范围、路径前缀、类型、扩展和模态的紧凑过滤器,因此代理可以在不进行繁重配置的情况下进行精确搜索。 |
| 👀 索引前预览 | preview_directory() 显示了在扫描运行之前,将按模态和跳过原因对哪些内容进行索引。 |
| 🧾 情境感知结果 | get_result_context() 返回相邻的块或页面,以便代理在搜索后可以检查确切的源材料。 |
| 🛡️ 本地隐私+护栏 | 使用本地ChromaDB存储,默认情况下跳过垃圾文件夹,阻止危险的根扫描,并自动处理重复数据删除和重影文件清理。 |
______________________________________________________________________
🚀 安装和设置
我们支持两种方式来运行此服务器: 零安装 (推荐)或 本地开发人员克隆. 确保你有 uv 安装在您的计算机上(pip install uv).
方法1:零安装(推荐)
你可以让你的AI助手直接从GitHub运行服务器,而无需在本地克隆存储库。 uvx 表现得像 npx 对于Python,在安全的临时环境中自动下载和缓存服务器。
PyPI被配置为标记版本的长期稳定分销渠道。在第一次PyPI发布完成之前,使用下面的固定Git发布标签install。
对于一个 稳定安装,固定到释放标签上:
uvx --from git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@ gemini-embedding-2-mcp例子:
uvx --from git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1 gemini-embedding-2-mcp对于一个 边缘安装,省略标记并跟踪最新 main 分支州。
一旦PyPI发布生效,stable install命令变为:
uvx gemini-embedding-2-mcp-server🔑 获取Gemini API密钥
为了增强嵌入模型,你需要一个来自谷歌的免费API密钥。
- 首选 Google AI 工作室.
- 点击 创建API密钥.
- 复制密钥并在下面的客户端配置中使用它,如下所示
GEMINI_API_KEY.
______________________________________________________________________
🔌 客户端连接指南
🤖 克劳德代码(CLI)
您可以将此服务器连接到 克劳德代码 CLI本机。 在终端中运行以下命令:
claude mcp add gemini-embedding-2-mcp \
--env GEMINI_API_KEY="your-api-key-here" \
-- uvx --from git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1 gemini-embedding-2-mcp🦋 克劳德桌面版
打开Claude Desktop配置文件(通常 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上)并添加:
{
"mcpServers": {
"gemini-embedding-2-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1",
"gemini-embedding-2-mcp"
],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}💻 光标IDE
- 首选 设置 > 特性 > 主控程序
- 点击 +添加新的MCP服务器
- 选择 命令 作为类型。
- 姓名:
gemini-embedding - 命令:
GEMINI_API_KEY="your-api-key" uvx --from git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1 gemini-embedding-2-mcp
🏄♂️ 风浪(喀斯喀特)
打开你的 ~/.codeium/windsurf/mcp_config.json 文件并添加:
{
"mcpServers": {
"gemini-embedding-2-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1",
"gemini-embedding-2-mcp"
],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}⚡ 泽德编辑器
打开你的 ~/.config/zed/settings.json 并附加MCP服务器块:
{
"experimental.mcp": {
"gemini-embedding-2-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1",
"gemini-embedding-2-mcp"
],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}💻 VS代码(带Cline/RooCode)
打开 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json 并附加:
{
"mcpServers": {
"gemini-embedding": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git@v1.2.1",
"gemini-embedding-2-mcp"
],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}______________________________________________________________________
方法2:本地开发者克隆
如果你想修改源代码:
# 1. Clone the repository
git clone https://github.com/AlaeddineMessadi/gemini-embedding-2-mcp-server.git
cd gemini-embedding-2-mcp-server
# 2. Install dependencies
uv sync*(如果使用此方法,可以通过运行以下命令直接将其添加到本地的Claude Code CLI中:)*
claude mcp add gemini-embedding-local --env GEMINI_API_KEY="your-api-key" -- uv --directory "$(pwd)" run gemini-embedding-2-mcp______________________________________________________________________
方法三:Docker
如果您需要一个容器化的MCP服务器进行注册表验证或部署,请构建并运行附带的映像:
docker build -t gemini-embedding-2-mcp-server .
docker run --rm -i \
-e GEMINI_API_KEY="your-api-key-here" \
-v "$HOME/.gemini_mcp_db:/root/.gemini_mcp_db" \
gemini-embedding-2-mcp-server容器与任何其他本地MCP服务器一样通过标准I/O进行通信,并将ChromaDB数据保存在装载的卷中。
______________________________________________________________________
🛠️ 暴露的MCP能力
一旦连接,您的AI助手将立即获得以下工具:
⚙️ 工具
index_directory(path: str, ignore: list = None):扫描并正式将一个全新的本地文件夹嵌入数据库。安全支持通配符ignore模式。preview_directory(path: str, ignore: list = None):模拟扫描,看看哪些内容会被索引,按模态分组,跳过原因。search_my_documents(query: str, limit: int, scope: str = None, types: list[str] = None, path_prefix: str = None, extensions: list[str] = None, modalities: list[str] = None):使用紧凑的检索过滤器运行语义搜索。get_result_context(source: str, locator: str = None, window: int = 1):获取以前索引的结果的附近块或页面上下文。list_indexed_directories():查看AI已经知道的目录根。sync_indexed_directories():自动强制数据库查找新的、更新的或最近删除的(重影)文件并清理向量。remove_directory_from_index(path: str):清除矢量的特定轨迹。
🔎 精密过滤器
默认情况下,主搜索工具保持简单,但在需要精确性时支持一些高价值过滤器:
scope:将匹配限制在广泛的目录范围内,例如/Users/me/workpath_prefix:将匹配限制为更精确的路径前缀types:根据存储的项目类型进行限制,例如text或pdf_visual_pageextensions:按文件扩展名限制,例如.pdf或.mdmodalities:受模式限制,如text,pdf,image,audio,或video
📊 资源
gemini://database-stats:实时可观察性!将ChromaDB中矢量段的精确比例直接暴露给助手的上下文。
______________________________________________________________________
📚 技术文档
📜 许可证
麻省理工学院©Alaeddine Messadi
