Paprika MCP 服务器

使用说明内容(Markdown格式)

Paprika MCP 服务器使用说明

项目简介

Paprika MCP 服务器是一个基于 MCP(Model Context Protocol)的后端服务。它把 Paprika Recipe Manager 的数据以标准化的方式暴露给大语言模型(LLM) 客户端,提供资源的托管与访问、可注册执行的工具,以及可渲染的提示模板。服务器通过 JSON-RPC 与客户端通信,支持会话管理、能力声明,并以便于扩展的方式实现。

主要功能点

  • 资源管理
    • 加载、检索和列出 Paprika 食谱数据,支持本地文件系统加载器。
  • 工具注册与执行
    • 提供若干工具(示例:列出分类、获取单个食谱、按查询搜索等),可被 LLM 调用以获取结构化数据。
  • 提示模板
    • 定义并渲染提示模板,帮助 LLM 以推荐的工作流程与工具组合进行交互。
  • 多传输协议与运行方式
    • 当前实现通过 Stdio 传输与 MCP 服务端交互,便于在本地或管道中与 LLM 集成,后续可扩展到 SSE/WebSocket 等传输方式。
  • 会话与能力声明
    • 服务端声明版本、服务器名称等信息,负责会话管理和工具注册。
  • 数据存储与并发
    • 使用 RxDB 内存存储实现数据存储,具备并发加载与去重等机制,确保稳定运行。

安装步骤

  • 安装依赖并构建
    • 使用包管理工具安装依赖并构建产物(如 pnpm install、pnpm build)。
  • 准备食谱数据
    • 将 Paprika 导出的 .paprikarecipes 解压,得到单独的 JSON 文件,放置到一个目录中(例如名为 recipes 的目录)。
  • 启动服务器
    • 使用构建产物启动服务器,并传入包含食谱 JSON 文件的目录:
      • 运行:node dist/index.js mcp --recipes-dir ./recipes
    • 说明:实际打包输出路径可能为 dist/index.js 或 dist/index.cjs,具体以构建产物为准。构建完成后可直接通过上述命令启动。

服务器配置(MCP 客户端使用的配置信息说明)

说明:下面给出配置格式的描述,便于理解 MCP 客户端在对接时需要的关键信息。客户端本身不需要直接修改服务器端代码。

{ "mcpServers": { "paprika": { "type": "stdio", "command": "node", "args": [ "/path/to/paprika-mcp-server/dist/index.js", // 入口执行文件(实际路径以部署为准) "mcp", "--recipes-dir", "/path/to/your/recipes" // 你解压后的食谱 JSON 文件所在目录 ] } } }

字段说明

  • serverName(在调用命令行参数中为 --server-name,示例中默认值为 paprika)
  • command(服务器入口执行命令,通常为 node)
  • args(服务器入口的参数,包含子命令 mcp、 recipes-dir 等,用于告知服务器要加载的食谱目录)

重要说明

  • MCP 客户端需要的只是服务器名称与可连接的传输方式信息,以上配置用于 MCP 客户端来描述如何启动与连接服务器。实际客户端通常不需要修改此配置,而是在集成时通过模型对话框或调用来使用 MCP 提供的工具与提示。

基本使用方法

  • 准备阶段
    • 确保食谱数据已经放在指定的目录中,并正确解包为单独的 JSON 文件。
    • 启动 Paprika MCP 服务器,确保输出日志显示服务器已就绪。
  • 使用流程
    • LLM 客户端通过 MCP 协议调用已注册的工具,如:
      • 列出分类(list-categories)
      • 根据查询搜索(search-recipes)
      • 获取单个食谱详情(get-recipe)
      • 浏览食谱列表(list-recipes)
    • 通过服务器提供的提示模板,LLM 可以在对话中获取结构化数据并继续交互。
  • 典型场景
    • 用户问“有什么鸡肉食谱?” -> 调用 list-categories 检索分类 -> 调用 search-recipes 查找相关食谱
    • 用户需要某个具体食谱的详细信息 -> 调用 get-recipe 获取 UID 对应的完整数据

注意

  • MCP 服务器的扩展性在于可注册的新工具和新的提示模板,当前实现包含了多种常用食谱相关工具及一个帮助提示。

服务器信息