AnyList 餐饮计划服务

一个用于管理餐饮计划和购物清单的MCP服务器,支持通过Claude集成进行餐饮计划、购物清单和食谱管理。

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

使用说明

mcp任意列表

MCP服务器,用于AnyList膳食计划和购物清单。

快速开始

1.安装并验证

npx mcp-anylist --setup

这将提示您输入AnyList电子邮件和密码,然后安全地存储您的凭据。

2.添加到克劳德

Claude Code(CLI或桌面)——推荐

添加到您的项目 .mcp.json (针对特定项目)或 ~/.claude/settings.json (全球):

{
  "mcpServers": {
    "anylist": {
      "command": "npx",
      "args": ["mcp-anylist"]
    }
  }
}

这非常适合于在项目中有控制文档(偏好、主食等)的膳食计划项目 CLAUDE.md.

克劳德桌面版

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "anylist": {
      "command": "npx",
      "args": ["mcp-anylist"]
    }
  }
}

3.重启克劳德

重新启动克劳德代码或克劳德桌面。就是这样!现在,您可以让克劳德管理您的膳食和购物清单。

可用工具

膳食计划

工具 说明
anylist_get_meal_planning_events 获取日历事件(可选日期筛选器)
anylist_create_meal_planning_event 在日历中添加一顿饭
anylist_update_meal_planning_event 更新现有膳食
anylist_delete_meal_planning_event 从日历中删除一顿饭

标签

工具 说明
anylist_get_labels 获取所有标签(早餐、午餐、晚餐等)
anylist_create_label 创建新标签
anylist_update_label 更新标签的名称或颜色
anylist_delete_label 删除标签

食谱

工具 说明
anylist_get_recipes 搜索/列出食谱
anylist_get_recipe_collections 列出食谱集合

购物单

工具 说明
anylist_get_lists 获取所有购物清单
anylist_get_list_items 从列表中获取项目
anylist_add_list_item 向列表中添加项目
anylist_remove_list_item 从列表中删除项目

示例用法

配置后,您可以询问Claude:

  • “在我周五的晚餐计划中加入‘意大利面Carbonara’”
  • “我下周打算吃什么?”
  • “给我看看我的鸡肉食谱”
  • “把牛奶和鸡蛋加到我的购物清单上”

高级配置

重新验证

如果您需要更改帐户或刷新凭据:

npx mcp-anylist --setup

环境变量(可选)

对于高级用户或CI环境,您可以使用环境变量而不是setup命令:

变量 描述
ANYLIST_EMAIL 您的AnyList帐户电子邮件
ANYLIST_PASSWORD 您的AnyList帐户密码
ANYLIST_CREDENTIALS_FILE 凭据的自定义路径(默认值: ~/.mcp-anylist-credentials)

发展

# Clone and install
git clone https://github.com/avanrossum/mcp-anylist.git
cd mcp-anylist
npm install

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Run with MCP Inspector
npx @modelcontextprotocol/inspector node src/index.js

开发方法学

mcp-anylist是使用人工智能辅助开发和结构化工程实践构建的。每个功能都遵循一个完整的软件开发生命周期:需求被捕获在一个动态的路线图中,架构决策和经验教训被记录在会话上下文文件中,一组共享的设计标准(编码约定、风格指南和测试标准)管理着项目之间的一致性。人工智能工具加速了实施,但工程严谨性是人为驱动的:明确的规范、增量提交、提取和测试的纯逻辑、CI/CD门(每次推送时进行lint+test),以及在任何构建发布之前强制进行质量检查的发布脚本。该方法将人工智能视为在明确定义的约束下运行的合作者,而不是自主代理——标准、架构文档和积累的项目记忆使人工智能辅助开发在规模上有效。

平台支持

该项目是在 macOS。它应该在Linux上工作,但Windows兼容性尚未经过测试。

如果您在不同的平台上遇到问题,或者想为平台特定的改进做出贡献,请分叉并提交PR。欢迎贡献!

免责声明

此项目使用 任意列表api,一个非官方的反向引擎API包装器。它不隶属于AnyList或得到AnyList的认可。

作者与AnyList团队讨论了逆向工程API的使用。虽然他们没有明确批准这个项目,但他们表示不打算故意破坏兼容性。

注: 此程序包目前依赖于 anylist api的分支 它添加了日历标签CRUD和配方收集支持。PR已提交到上游存储库。一旦合并,这个依赖关系将切换到官方的npm包。

使用风险自负。

许可证

麻省理工学院

关于

建造于 Alex van Rossum.