AnyList MCP 服务器

一个连接AI助手与AnyList的MCP服务器,提供购物清单、食谱和膳食计划管理功能。

  • by davidashman
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 davidashman/anylist-mcp

使用说明

AnyList MCP服务器

A. 模型上下文协议 将AI助手连接到的(MCP)服务器 任意列表 --让他们可以访问你的购物清单、食谱和膳食计划。

特性

  • 购物单 --查看列表、检查项目、添加自由形式的项目或配方成分
  • 食谱 --搜索和检索完整的食谱详细信息,包括配料和步骤
  • 膳食计划 --在AnyList日历上查看和安排用餐
  • 杂货店助手 --将一个或多个食谱中的配料添加到重复处理的列表中

先决条件

  • Node.js>=18
  • AnyList帐户(电子邮件/密码)

设置

  1. 克隆此存储库:

    git clone <this-repo> anylist-mcp
    cd anylist-mcp
    
  2. 安装依赖项:

    npm install
    
  3. 构建:

    npm run build
    

配置

服务器需要您的AnyList凭据作为环境变量:

变量 描述
ANYLIST_EMAIL 您的AnyList帐户电子邮件
ANYLIST_PASSWORD 您的AnyList帐户密码

克劳德桌面版

添加到您的Claude桌面配置(claude_desktop_config.json):

{
  "mcpServers": {
    "anylist": {
      "command": "node",
      "args": ["/path/to/anylist-mcp/dist/index.js"],
      "env": {
        "ANYLIST_EMAIL": "your-email@example.com",
        "ANYLIST_PASSWORD": "your-password"
      }
    }
  }
}

其他MCP客户端

通过stdio传输运行服务器:

ANYLIST_EMAIL=you@example.com ANYLIST_PASSWORD=secret node dist/index.js

或用于开发:

ANYLIST_EMAIL=you@example.com ANYLIST_PASSWORD=secret npm run dev

工具

列表

工具 说明
get_lists 列出所有包含商品数量的购物清单
get_list_items 获取特定列表中的所有项目
add_item_to_list 将自由形式的项目添加到列表中(带重复检查)
add_ingredient_to_list 将配方成分添加到具有适当分类的列表中

食谱

工具 说明
get_recipes 列出所有食谱,可选择按名称筛选
get_recipe_details 获取完整的食谱细节,包括配料和步骤

食品杂货

工具 说明
add_recipe_ingredients_to_list 将食谱中的所有配料添加到列表中
add_ingredients_to_list 将多个食谱中的配料批量添加到列表中

膳食计划

工具 说明
get_meal_plan 获取某一日期范围内的膳食计划事件(默认为本周)
add_meal_plan_event 在特定日期安排食谱或活动

工具详情

add_item_to_list

将自由形式的商品添加到购物清单中。如果该项目已存在并已勾选,则将取消勾选,而不是重复。

  • item_name (必填)--项目名称
  • list_name (必填)--目标列表名称
  • quantity (可选)——例如“2磅”、“3磅”

add_ingredient_to_list

将食谱中的特定成分添加到购物清单中。使用AnyList的成分处理程序进行适当的分类,并与现有或最近使用的项目进行匹配。

  • recipe_name 或 recipe_id (需要一个)——从中提取的食谱
  • ingredient_name (必填)--成分名称(不区分大小写,部分匹配)
  • list_name (可选,默认:“杂货”)--目标列表

add_recipe_ingredients_to_list

将单一食谱中的所有配料添加到列表中。处理重复项:跳过已存在的项目,取消选中以前已勾选的项目。

  • recipe_name 或 recipe_id (需要一个)
  • list_name (可选,默认:“杂货”)

add_ingredients_to_list

批量版本——一次添加多个食谱中的配料。跨食谱重复。

  • recipe_names 或 recipe_ids (需要一个,数组)
  • list_name (可选,默认:“杂货”)

get_recipe_details

获取完整的食谱详细信息,包括配料(包括名称、数量和注释)和准备步骤。

  • recipe_name 或 recipe_id (需要一个)

add_meal_plan_event

在用餐计划日历上安排一个食谱或有标题的活动。

  • date (必填)--YYYY-MM-DD格式
  • recipe_name 或 recipe_id (可选)--要安排的配方
  • title (可选)--事件标题(如果没有配方,则使用,或作为覆盖)
  • label (可选)--例如“早餐”、“午餐”、“晚餐”

许可证

ISC