mcpField
P
Picnic

Picnic

本地服务
github.com商业与营销16 天前更新

关于 Picnic

Picnic 是面向 Picnic 在线超市购物场景的非官方 MCP 服务,供 AI 助手使用。它支持查找商品、管理购物车、选择配送时段和处理食谱,但不能下单。

主要功能

  1. 01搜索商品并查看详情
  2. 02添加、调整和移除购物车商品
  3. 03查看并选择配送时段
  4. 04浏览促销和常购商品
  5. 05搜索食谱并添加食材

适用场景

  1. 01查找商品并比较可选项
  2. 02准备购物车并选择配送时间
  3. 03将食谱所需食材加入购物车

MCP 相关

通过 stdio 或 HTTP 向 MCP 客户端提供 Picnic 购物、配送、商品发现和食谱工具。它不能下单。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
npmpicnic-mcp1.0.0
mcpbpicnic-mcp.mcpb

工具

10

收录的工具列表 · 更新于 6 天前

参数类型必填说明
querystring是要搜索的商品,使用荷兰语。

详细介绍

picnic-mcp

一个用于在线超市 Picnic 的 MCP 服务。它可以让模型搜索 Picnic 的商品、填充购物车、选择配送时段、查看促销和你常买的商品,以及使用食谱。它无法下单。

非官方项目:并非由 Picnic 制作或支持。基于 picnic-api 构建。已使用荷兰账户进行测试;德国和法国账户应该也能使用,但尚未经过测试。

系列项目

picnic-api、picnic-web 和 picnic-mcp 一同开发和发布。Picnic 应用获取数据的方式发生变化时,picnic-api 会随之更新,picnic-web 和 picnic-mcp 也会在同一次变更中更新,因此它们的最新版本始终可以协同工作。

项目简介
picnic-api npm用于 Picnic API 的 Node.js 库:商品、购物车、配送时段、配送和食谱。
picnic-webPicnic 的网页界面,可通过浏览器购物。访问 picnic.maartenvandenhoven.com。
picnic-mcp npmMCP 服务,让 AI 助手可以搜索商品、填充购物车并选择配送时段。

工具

这些工具分为多个组。cart、slots、product 和 discover 默认启用;使用 PICNIC_MCP_TOOLS 开启或关闭工具组(参见设置)。

分组工具功能
cartsearch_products搜索商品。如果有一款商品符合要求(通常是你之前买过的商品),则返回 bestMatch;否则返回 2 或 3 个 choices 供你选择。
add_to_cart根据商品 ID 将一个或多个商品加入购物车。返回购物车中每件商品的数量、添加失败的商品、购物车总额,以及无法配送的商品的替代品。
set_cart_quantity设置购物车中某件商品的数量;设为 0 即可将其移除。
remove_from_cart根据商品 ID 将其从购物车中移除。
get_cart显示购物车内容:商品、数量、价格、总额和配送时间段,以及无法配送的商品的替代品。
slotsget_delivery_slots按每次两天或指定日期列出配送时间段。
select_delivery_slot选择购物车的配送时间段。
productget_product显示商品的配料、过敏原、营养成分、储存信息、促销信息和价格。
discoverget_promotions按专区(例如按类别)列出本周促销、某个专区的所有促销,或某项促销中的商品。
get_favorites按货架列出你购买过的商品,就像应用中的「Favorieten」标签页一样。用于「添加我常买的杂货」。
deliveriesget_deliveries显示即将到来的配送(时间段、商品数量、总额,以及司机在途时预计的送达时间)或最近已完成的配送。也可选择显示商品,例如以便再次订购相同商品。
recipessearch_recipes搜索 Picnic 的食谱。
get_saved_recipes列出你在应用中保存的食谱。
get_recipe显示食谱的配料、过敏原和步骤。食谱工具也接受从 Picnic 应用分享的食谱链接。
add_recipe_to_cart按份数将食谱所需的配料加入购物车。
remove_recipe_from_cart从购物车中移除食谱及其配料。
save_recipe在应用中保存食谱。
unsave_recipe从已保存的食谱中移除食谱。
输出为精简 JSON,仅包含模型需要的信息。不包含你的姓名、地址、付款详情、订单号及其他账户信息。请注意,工具返回的任何内容都会发送给 MCP 客户端所使用的模型。

如果搜索没有明确匹配项,且你的 MCP 客户端可以显示表单(征询),你可以直接在客户端中选择商品,而不必让模型在聊天中询问你。

设置

需要 Node.js 20 或更高版本。

1. 获取身份验证密钥
npx picnic-mcp login

它会询问你的国家/地区、电子邮件和密码,以及你的账户启用双重身份验证时 Picnic 发给你的验证码。它会显示身份验证密钥,且不会存储任何内容。请妥善保管该密钥:它可以访问你的 Picnic 账户。

2. 将服务添加到 MCP 客户端

**Claude Desktop 和其他 MCPB 客户端:**从最新版本下载 picnic-mcp.mcpb,打开它并填写身份验证密钥。

其他客户端可使用如下配置:

{
  "mcpServers": {
    "picnic": {
      "command": "npx",
      "args": ["-y", "picnic-mcp"],
      "env": {
        "PICNIC_AUTH_KEY": "<your auth key>",
        "PICNIC_COUNTRY_CODE": "NL"
      }
    }
  }
}

PICNIC_COUNTRY_CODE 为 NL、DE 或 FR(默认值为 NL)。若要选择工具组,请添加 PICNIC_MCP_TOOLS,并提供以逗号分隔的列表,例如 "cart,slots,product,discover,deliveries,recipes"(默认值为 cart,slots,product,discover)。使用较少的工具有助于较小的模型选对工具。服务通过 stdio 运行;如需通过网络访问,请参阅 HTTP。

该服务也已列入 MCP Registry,名称为 io.github.MRVDH/picnic-mcp。

密钥过期时,工具会提示你;请再次运行 npx picnic-mcp login。

HTTP

picnic-mcp http 会在 /mcp 路径上通过 HTTP 提供相同的工具,供连接到 URL 的客户端使用。它需要客户端通过 Authorization: Bearer <token> 发送令牌;请使用以下命令生成令牌:

openssl rand -hex 32
PICNIC_AUTH_KEY=<auth key> PICNIC_MCP_HTTP_TOKEN=<token> npx picnic-mcp http
变量
PICNIC_MCP_HTTP_TOKEN必填,至少 32 个字符。任何持有该令牌的人都可以更改你的购物车,因此请妥善保管。
PICNIC_MCP_HTTP_HOST监听地址。默认值为 127.0.0.1,因此只有本机可以连接。
PICNIC_MCP_HTTP_PORT默认值为 3000。
PICNIC_MCP_HTTP_ALLOWED_HOSTS除 localhost 外允许的主机名,以逗号分隔,例如前置反向代理的名称。带有其他 Host 或 Origin 标头的请求会被拒绝。

该服务不提供 HTTPS。若要从另一台机器使用,请将其置于启用了 HTTPS 的反向代理后,并将代理的主机名添加到 PICNIC_MCP_HTTP_ALLOWED_HOSTS。

在自己的代码中使用

createServer 会返回 MCP 服务,不会读取环境变量或文件,因此你可以在自己的进程中运行它,并将其连接到任意 MCP 传输:

import { createServer } from "picnic-mcp";

const server = createServer({ authKey: "<auth key>", countryCode: "NL" });
await server.connect(transport);

传入 tools 可选择工具组(例如 tools: ["cart", "recipes"]);传入 client 而非 authKey 可使用你已有的 picnic-api 客户端;传入 onError 可自行处理 Picnic 返回的错误(默认情况下,错误会记录到 stderr)。

商品图片

列出商品的结果(搜索结果、购物车、已添加的商品、促销活动、收藏夹、商品详情)会在 _meta["picnic-mcp/images"] 中按商品 ID 携带这些商品的图片 URL。MCP 客户端不会将 _meta 传递给模型,因此图片不会消耗令牌;你自己的代码可以使用这些图片,例如展示商品照片。图片无需授权密钥。该密钥以 IMAGES_META_KEY 导出。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。