语义搜索服务器

使用Google Gemini和Supabase进行语义搜索的MCP服务器,适用于FastMCP Cloud部署的搜索工具。

  • by JpAboytes
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 JpAboytes/jpAboytesMCP

使用说明

jpAboytesMCP-快速MCP服务器

使用Google Gemini和Subase进行语义搜索的MCP服务器,准备在FastMCP云上部署。

🚀 部署FastMCP云

1.安装FastMCP命令行界面

pip install fastmcp

2. 认证

fastmcp login

3.部署

fastmcp deploy

该命令自动检测您的服务器并将其上传到FastMCP云。

⚙️ 配置

创建新文件 .env 在项目的根源上:

SUPABASE_URL=https://tu-proyecto.supabase.co
SUPABASE_SERVICE_ROLE_KEY=tu-service-role-key
GEMINI_API_KEY=tu-gemini-api-key
GEMINI_MODEL=gemini-2.5-flash
GEMINI_EMBED_MODEL=models/text-embedding-004
EMBED_DIM=768
SIMILARITY_THRESHOLD=0.6
TOPK_DOCUMENTS=6

🎯 与克劳德桌面一起使用

添加到您的克劳德桌面配置文件:

窗户: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "fiscai-search": {
      "command": "python",
      "args": ["-m", "src.main"],
      "cwd": "C:\\Users\\TuUsuario\\path\\to\\jpAboytesMCP",
      "env": {
        "SUPABASE_URL": "https://tu-proyecto.supabase.co",
        "SUPABASE_SERVICE_ROLE_KEY": "tu-key",
        "GEMINI_API_KEY": "tu-key"
      }
    }
  }
}

🔧 可用的工具

search_documents

使用语义搜索来搜索类似的文档。

参数:

  • query (字符串,必填):自然语言查询
  • limit (数字,可选):最大结果数(默认值:6)
  • threshold (数字,可选):相似性阈值0-1(默认值:0.6)

generate_embedding

为文本生成矢量嵌入。

参数:

  • text (字符串,必需):生成嵌入的文本

🧪 验证

# Verificar que el servidor se importa correctamente
python -c "from src.main import app; print('✅ OK')"

📝 项目结构

jpAboytesMCP/
├── src/
│   ├── __init__.py
│   ├── main.py              # Servidor MCP
│   ├── config.py            # Configuración
│   ├── gemini.py            # Cliente Gemini
│   └── supabase_client.py   # Cliente Supabase
├── .env                     # Variables de entorno (no incluir en git)
├── .gitignore
├── pyproject.toml
└── README.md

🐛 解决问题

错误:“无法导入名称'gemini_client'”

确保安装了所有依赖项:

uv sync

错误:“Gemini_API_Key未配置”

检查您的存档 .env 它存在并包含正确的凭据。

服务器没有在克劳德桌面上启动

  1. 验证路由 claude_desktop_config.json
  2. 确保使用绝对路径
  3. 更改设置后重新启动Claude Desktop

📄 许可证

麻省理工学院

👤 作者

Jp Aboytes