食谱搜索服务器

一个基于MCP协议的服务器,通过语义向量搜索在食谱数据库中查找匹配的食谱。

  • by tubadsouza
  • JavaScript
  • 混合部署
  • 更新于
在 GitHub 查看 tubadsouza/recipe-mcp-server

使用说明

配方搜索MCP服务器

MCP(模型上下文协议)服务器,使Claude能够使用语义向量搜索来搜索配方数据库。

运作原理

  1. 收到克劳德的搜索查询(例如“亚洲辣面条”)
  2. 使用Google Gemini将查询转换为768维嵌入(gemini-embedding-001)
  3. 使用pgvector余弦相似度搜索Supabase PostgreSQL数据库
  4. 将格式化的配方结果返回给Claude

设置

先决条件

安装

npm install

配置

创建一个 .env 文件:

GOOGLE_AI_API_KEY=your_google_ai_api_key
SUPABASE_URL=your_supabase_project_url
SUPABASE_KEY=your_supabase_api_key

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "recipe-search": {
      "command": "node",
      "args": ["/path/to/recipe-mcp-server/index.js"],
      "env": {
        "GOOGLE_AI_API_KEY": "your_key",
        "SUPABASE_URL": "your_url",
        "SUPABASE_KEY": "your_key"
      }
    }
  }
}

Vercel部署

您可以将此服务器部署到Vercel,以便使用Streamable HTTP传输通过HTTP访问。

部署

  1. 安装 Vercel命令行界面 并登录:

    npm i -g vercel
    vercel login
    
  2. 在Vercel上设置环境变量:

    vercel env add GOOGLE_AI_API_KEY
    vercel env add SUPABASE_URL
    vercel env add SUPABASE_KEY
    
  3. 部署:

    vercel --prod
    

连接到已部署的服务器

使用任何支持Streamable HTTP传输的MCP客户端,并将其指向:

https://<your-app>.vercel.app/mcp

例如,在Claude Desktop的 claude_desktop_config.json:

{
  "mcpServers": {
    "recipe-search": {
      "type": "streamable-http",
      "url": "https://<your-app>.vercel.app/mcp"
    }
  }
}

工具

search_recipes

使用语义相似性搜索食谱。

参数 类型 必填 说明
query string 是 搜索查询(配料、菜名、菜系、烹饪方法或描述性短语)
match_threshold number No 最小相似性得分(-1到1)。默认值:-0.1
match_count number 否 要返回的最大结果(1-50)。默认值:10

配方字段已返回

每个结果包括:菜肴名称、相似性得分、菜肴/风格、摘要、主要成分、次要成分、烹饪技巧和视频URL。