购物清单管理服务

一个实现MCP协议的服务器,通过与Bring购物清单API集成,允许AI助手通过自然语言管理购物清单。

  • by DavideArena
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 davidearena/bring-mcp-server

使用说明

携带MCP服务器

模型上下文协议(MCP)服务器与Bring Shopping Lists API集成,允许人工智能助手通过自然语言管理购物清单。

免责声明: 此项目使用未公开记录或不受支持的非官方Bring API。这些API可能会在没有通知的情况下更改,从而可能破坏功能。使用风险自负。

概述

该项目在TypeScript中实现了一个全功能的模型上下文协议(MCP)服务器,该服务器连接到Bring Shopping Lists API。它使Claude、ChatGPT等人工智能助手能够通过标准化协议与您的Bring购物清单进行交互。

特性

  • MCP协议支持:实施模型上下文协议,与人工智能助手无缝集成
  • 标准运输:与Claude兼容,适用于桌面和其他启用MCP的客户端
  • 引入API集成:使用以下功能完成Bring Shopping List API集成:
    • 列出所有购物清单
    • 从购物清单中获取商品
    • 将食谱项目添加到购物清单中
    • 删除特定项目或清除整个购物清单
    • 获取列表项的详细信息
    • 查看有权访问购物清单的所有用户

先决条件

  • 携带帐户(电子邮件和密码)
  • 带API密钥

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd bring-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env 项目根目录中的文件,包含以下变量:

    BRING_EMAIL=your_bring_account_email
    BRING_PASSWORD=your_bring_account_password
    BRING_API_KEY=your_bring_api_key
    
  4. 构建项目:

    npm run build
    

用法

启动服务器

使用以下命令启动MCP服务器:

node dist/index.js

服务器将通过stdio连接,使其与Claude for Desktop等MCP客户端兼容。

连接到Claude for Desktop

  1. 配置Claude for Desktop以使用此MCP服务器
  2. 在您的Claude对话中,您现在可以与您的Bring购物清单进行交互

可用的MCP工具

服务器向MCP客户端公开以下工具:

工具名称 描述
get-bring-lists 列出已验证用户的所有购物清单
get-bring-list-items 从特定购物清单中获取所有商品
add-recipe-items-to-bring-list 一次将多个项目添加到购物清单中
remove-item-or-all-from-bring-list 删除特定项目或清除整个列表
get-bring-list-items-details 获取列表中项目的详细信息
get-all-users-from-bring-list 列出有权访问特定列表的所有用户

发展

以开发模式运行

npm run dev

这将启动服务器进行热重新加载以进行开发。

VS代码集成

有关VS代码集成,请参阅 .vscode/mcp.sample.json 文件。此配置允许VS Code直接连接到MCP服务器。

测试

使用以下命令运行完整的测试套件:

npm test

持续集成

该项目使用GitHub Actions进行持续集成。自动测试在每次向主分支推送和拉取请求时运行。

您可以在中查看工作流配置 .github/workflows/test.yml.

测试结构

测试在 test/ 目录:

  • handlers/ -包含每个MCP工具处理程序的测试
  • mocks/ -包含测试中使用的模拟实现

许可证

此项目根据MIT许可证获得许可-请参阅 LICENSE 文件以获取详细信息。


对于功能请求或错误报告,请在项目存储库上打开问题。