MCP服务器自带!购物
该项目在TypeScript中实现了一个本地模型上下文协议(MCP)服务器,该服务器公开了Bring!API购物清单。它使Claude Desktop等应用程序能够与您的Bring!进行交互!使用标准化MCP工具的购物清单。
服务器集成了 bring-shopping Bring!的npm包!API访问和利用 @modelcontextprotocol/sdk 以提供符合MCP的服务器接口。
免责声明:\ 这是一个个人项目。我不属于Bring!无论如何,Labs AG。\ 此项目使用 非官方带来!API,其可能随时更改或被阻止。\ 这可能会导致MCP服务器在没有事先通知的情况下停止运行。
______________________________________________________________________
🧩 建议的Claude桌面配置
通过以下方式在Claude Desktop中使用此服务器 npx,将以下内容插入您的 claude_desktop_config.json 文件:
{
"mcpServers": {
"bring-mcp": {
"command": "npx",
"args": ["-y", "bring-mcp@latest"],
"env": {
"MAIL": "your_bring_email@example.com",
"PW": "YOUR_BRING_PASSWORD_HERE"
}
}
}
}这是推荐的最便携的配置。它确保您始终使用发布到npm的最新版本,而无需本地安装。
______________________________________________________________________
🚀 特性
- 自动身份验证:无需手动登录-首次API调用时自动进行身份验证
- 曝光带!API作为MCP工具发挥作用:
- 🧾 加载购物清单 - 🛒 获取和修改项目(添加、删除、移动) - 📦 批量操作(保存多个项目、删除多个项目) - 🖼 保存/删除项目图像 - 👥 管理列表用户 - 🎯 获取默认购物清单UUID - 🌐 加载翻译和目录 - 📨 检索待处理的邀请
- 通过STDIO进行通信(用于Claude Desktop或MCP Inspector)
- 支持带来!凭证通过
.env文件或注入的环境变量
可用工具
loadLists:从Bring!加载所有购物清单!getItems:从特定购物清单中获取所有商品getItemsDetails:获取列表中项目的详细信息saveItem:使用可选规格将商品保存到购物清单中saveItemBatch:在一次操作中将多个项目保存到购物清单中removeItem:从特定购物清单中删除商品moveToRecentList:将项目移动到最近使用的项目列表中deleteMultipleItemsFromList:按名称从列表中删除多个项目saveItemImage:为购物清单上的商品保存图像removeItemImage:从项目中删除图像getAllUsersFromList:获取与购物清单关联的所有用户getUserSettings:获取已验证用户的设置getDefaultList:获取默认购物清单的UUID(当用户未指定清单时使用)loadTranslations:为Bring!加载翻译!接口loadCatalog:装载行李!商品目录getPendingInvitations:获取加入购物清单的待定邀请
______________________________________________________________________
⚙️ 设置和安装
- 克隆仓库(或获取文件)
- 导航到项目目录:
cd path/to/bring-mcp- 安装依赖项:
npm install- 创建
.env文件(如果不直接注入ENV):
MAIL=your_email@example.com
PW=your_password- 构建项目:
npm run build- 使脚本可执行(Unix上可选):
chmod +x build/src/index.js______________________________________________________________________
🏃 运行服务器
使用以下命令启动MCP服务器:
node build/src/index.js如果成功,您将看到: MCP server for Bring! API is running on STDIO (on stderr).
______________________________________________________________________
🧪 MCP检验员测试
- 确保
npm run build已被执行。
- 确保
.env存在有效凭据。
- 运行检查器:
npx @modelcontextprotocol/inspector node /ABS/PATH/bring-mcp/build/src/index.js______________________________________________________________________
🧩 Claude桌面集成(手动本地设置)
或者,如果您更喜欢本地构建和安装的版本:
{
"mcpServers": {
"mcp-bring": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/bring-mcp/build/src/index.js"],
"env": {
"MAIL": "your_bring_email@example.com",
"PW": "YOUR_BRING_PASSWORD_HERE"
}
}
}
}______________________________________________________________________
🔧 发展
测试
使用以下工具运行测试:
npm run test此命令使用覆盖率报告运行格式化、linting和Jest测试。
对于CI测试:
npm run test:ci建筑
构建项目:
npm run build关键依赖关系
@modelcontextprotocol/sdk:用于MCP服务器实施@modelcontextprotocol/inspector:用于测试和调试MCP服务器bring-shopping:Bring!的Node.js包装器!APIzod:用于模式定义和验证dotenv:用于管理环境变量
______________________________________________________________________
✅ 最后说明
- 🔒 避免承诺
.env文件。 - 🧼 将凭据置于版本控制之外。
- 🛠 MCP检查器对于调试来说是无价的。
- 🔄 身份验证是自动处理的,不需要手动登录。
- 📦 在处理多个项目时,使用批处理操作以提高效率。
使用MCP和Bring编码快乐! 🎉
