Weaviate HTTP服务器

一个用于连接Weaviate Cloud和远程MCP客户端的HTTP服务器,支持快速部署和多种搜索功能。

  • by cienco
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cienco/weaviate-openai-mcp

使用说明

编织MCP服务器(HTTP)——渲染就绪

每个collegare的服务器MCP HTTP(流式HTTP) 编织云 客户端MCP远程(例如克劳德)。

快速部署到 Render

  1. 构建一个本地React应用程序 (见 构建.md):

    cd weaviate-image-app
    npm install
    npm run build
    git add weaviate-image-app/dist/
    git commit -m "Add built React app"
    git push
    
  2. 创建一个新的 Web服务 在此仓库/文件夹中的 Render 上。

  3. Render将自动使用Python(而不是Docker)。

  4. 设置环境变量 :

    • WEAVIATE_URL (或 WEAVIATE_CLUSTER_URL) - 强制
    • WEAVIATE_API_KEY - 强制
    • (备注) MCP_PATH (默认值 /mcp/)
    • (备注) PORT (默认值 10000)
  5. 部署。

  6. 检查 : GET https://<service>.onrender.com/health → {"status":"ok",...}.

通过Claude连接(远程MCP)

添加一个 自定义/远程MCP服务器 con URL:

https://<service>.onrender.com/mcp/

或者(没有最后斜线):

https://<service>.onrender.com/mcp

可用工具

配置和诊断:

  • get_config() - 显示Weaviate配置和API密钥状态
  • check_connection() - 检查连接到Weaviate
  • get_instructions() - 返回为服务器配置的指令/提示符
  • reload_instructions() - 从环境变量或文件重新加载指令
  • diagnose_vertex() Vertex AI 身份验证状态报告

孕甾体集合:

  • list_collections() 列出所有可用的收藏
  • get_schema(collection) - 获取特定集合的布局

搜索 :

  • keyword_search(collection, query, limit=10) -基于Ricerca关键字(BM25)
  • semantic_search(collection, query, limit=10) 语义向量搜索(near_text)
  • hybrid_search(collection, query, limit=10, alpha=0.8, query_properties=None, image_id=None, image_url=None) 混合搜索(BM25+矢量)
    • 备注如果配置为 WindBilance 向导,则自动强制使用“WindBilance”集合
    • 支持图像搜索 image_id (首选)或 image_url
    • 转换为 base64 由服务器自动处理
  • image_search_vertex(collection, image_id=None, image_url=None, caption=None, limit=10) - 使用Vertex AI图像矢量搜索
    • 备注如果配置为 WindBilance 向导,则自动强制使用“WindBilance”集合
    • 支持 image_id (首选)或 image_url
    • 转换为 base64 由服务器自动处理

图像管理 :

  • upload_image(image_url=None, image_path=None) - 上传图像并返回一个 image_id 有效期 1 小时
    • image_url公共图像 URL (首选项)
    • image_path服务器上的本地文件路径
    • 备注不接受 image_b64 直接 - 使用 HTTP 端点进行直接上传
  • insert_image_vertex(collection, image_id=None, image_url=None, caption=None, id=None) - 在集合中嵌入Vertex AI图像
    • image_idID 取自 upload_image 哦 /upload-image (最爱)
    • image_url公共图像网址(自动下载)
    • 转换为 base64 由服务器自动处理
    • 备注不要直接传递字符串base64 - 使用 image_id 哦 image_url

上传图片

服务器支持两种方式上传图像:

  1. 工具MCP upload_image:

    • 接受 image_url (公共 URL - 首选项) 或 image_path (服务器上的本地文件)
    • 服务器自动下载/转换为 base64
    • 返回一个 image_id 有效期 1 小时
    • 不接受 image_b64 直接 使用HTTP端点进行直接上传
  2. **端点HTTP POST /upload-image**要直接上传二进制文件:

    • 接受 multipart/form-data 匹配字段 image (文件binario)
    • 或 JSON 与 image_b64 (字符串base64)
    • 还原 {"image_id": "...", "expires_in": 3600}

    Curl的例子:

    curl -X POST https://<service>.onrender.com/upload-image \
      -F "image=@/path/to/image.jpg"
    

    使用JSON:

    curl -X POST https://<service>.onrender.com/upload-image \
      -H "Content-Type: application/json" \
      -d '{"image_b64": "base64_string_here"}'
    

Limage_id 返回可用于 hybrid_search 哦 image_search_vertex 以避免每次都要传递图像。

支持的格式:JPEG、PNG、天才、webp
最大尺寸:10 MB
有效性1小时(自动清理过期图像)

备注

  • Weaviate 云 URL+neneneba API密钥.
  • 服务器正在监听 0.0.0.0:$PORT (Render兼容,默认端口10000)。
  • 健康检查可在 /health.
  • OpenAI嵌入支持:设置 OPENAI_API_KEY 哦 OPENAI_APIKEY 要使用 text2vec-openai 在Weaviate。
  • 您可以自定义服务器名称/描述/提示符:
    • MCP_SERVER_NAME (默认值 weaviate-mcp-http)
    • MCP_DESCRIPTION 对于一个简短的描述
    • MCP_PROMPT / MCP_INSTRUCTIONS 与客户端共享的文本提示符
  • 或者,您可以将邮件版本化为文件,并使用以下方式对其进行定位:
    • MCP_PROMPT_FILE 哦 MCP_INSTRUCTIONS_FILE (es。 prompts/instructions.md)
    • MCP_DESCRIPTION_FILE (es。 prompts/description.txt)
  • 如果没有配置任何内容,服务器将自动加载默认提示符。 prompts/instructions.md (如有)。
  • 工具 get_instructions 随时返回活动提示符。
  • 美国 reload_instructions 在不重新启动服务器的情况下重新读取文件。

Vertex AI 认证

该服务器支持三种Vertex AI身份验证方法:

  1. API关键统计设置: VERTEX_APIKEY (无自动刷新)
  2. 持有者代币设置: VERTEX_BEARER_TOKEN 已在外部获得的 OAuth 令牌
  3. OAuth 自动刷新设置: VERTEX_USE_OAUTH=true 并提供一个 服务帐户:
    • GOOGLE_APPLICATION_CREDENTIALS_JSON 用chiaro编写JSON 或者
    • GOOGLE_APPLICATION_CREDENTIALS 控制文件路径 或者
    • VERTEX_SA_PATH (默认值 /etc/secrets/weaviate-sa.json非常适合 Render)
    • 服务器会自动检测到 project_id dal服务帐户
    • 令牌每 ~55 分钟(或到期前)重新生成一次,并插入 REST 标头(X-Goog-Vertex-Api-Key, X-Goog-User-Project)sia-nei元数据gRPC

备注对于 OAuth,服务器还支持通过应用程序默认凭据 (ADC) 自动发现 GCP 项目。

位置顶点AI: 可配置为 VERTEX_LOCATION (默认值: us-central1)

WindBalance 设置助手

如果设置为默认提示符(prompts/instructions.md服务器会自动强制:

  • 使用“WindBilance”集合 hybrid_search e image_search_vertex
  • 使用 hybrid_search 作为主要研究方法
  • 针对多模式搜索优化的默认参数(图像+文本)