Bring! MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bring! MCP Server Add milk, butter, and eggs to my shopping list."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bring! MCP Server
An MCP (Model Context Protocol) server that connects Claude to the Bring! shopping list app. Claude can read shopping lists, add items, check them off and sort them into the right store automatically.
Disclaimer: This is an unofficial project. It is not affiliated with, endorsed by or supported by Bring! Labs AG. It uses the undocumented Bring! API, which can change without notice and may break this server at any time. The
X-BRING-API-KEYheader value in the code is the public client key that ships with the Bring! apps; it is not a personal secret. Use at your own risk.
Purpose
Bring! is a popular shopping list app, but it has no official API for third-party integrations. This MCP server uses the unofficial Bring! API and lets Claude manage your shopping lists directly: dictate items while you shop, look up a list, or sort items by store automatically, all from the chat.
Related MCP server: mcp-bring
Available tools
Tool | Description |
| List all Bring! shopping lists of the account (name and UUID) |
| Get all items of a list (items to buy and recently purchased items) |
| Add one or more items to a list (with an optional specification, e.g. a quantity) |
| Mark an item as purchased and remove it from the active list |
| Remove an item from the list completely (without marking it as purchased) |
| Add items smartly: assigns each item to the right store list automatically (based on the store mappings file) |
Requirements
Python 3.12+
An active Bring! account (free at getbring.com)
The shopping lists you want to use must already exist in the Bring! app
Installation
git clone https://github.com/AndreClaassen1/bring-mcp-server.git
cd bring-mcp-server
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e . # or: pip install -e ".[dev]" for testsConfiguration
Environment variables
Copy .env.example to .env and enter your Bring! credentials:
BRING_EMAIL=your.email@example.com
BRING_PASSWORD=your_password_hereVariable | Required | Description |
| yes | Email address of your Bring! account |
| yes | Password of your Bring! account |
| no | Path to the store mappings file (default: |
Store mappings (optional)
The store mappings file defines which items belong to which store. This lets the bring_smart_add tool put each item on the right list automatically. Each store name must match the name of a list in your Bring! account.
Your personal mappings live in store_mappings.json. That file is ignored by git so your own data never ends up in the repository. To get started, copy the template:
cp store_mappings.example.json store_mappings.json{
"include_stores": ["Supermarket", "Discounter", "Drugstore"],
"stores": {
"Discounter": ["Milch", "Butter", "Eier", "Mehl"],
"Supermarket": ["Avocado", "Mozzarella", "Pesto"],
"Drugstore": ["Zahnpasta", "Shampoo"]
},
"default_store": "Supermarket",
"_learned": {
"last_run": null,
"items": []
}
}stores: maps each store (list name) to the items bought there.default_store: list used for items that have no mapping.include_storesand_learned: not read by the server; reserved for external tooling that maintains the file. They can stay as in the template.
To keep the file somewhere else, set BRING_STORE_MAPPINGS to its absolute path. If the file does not exist, bring_smart_add has no mappings and no default store, so it reports every item as unmapped instead of adding it. Items whose store has no matching list in your Bring! account are reported as unmapped as well.
The server recognises common German singular and plural forms automatically (e.g. "Ei" also matches "Eier").
Claude Desktop integration
{
"mcpServers": {
"bring": {
"command": "/path/to/bring-mcp-server/.venv/bin/python",
"args": ["-m", "bring_mcp.server"],
"env": {
"BRING_EMAIL": "your.email@example.com",
"BRING_PASSWORD": "your_password_here"
}
}
}
}Add "BRING_STORE_MAPPINGS": "/path/to/store_mappings.json" to env if your mappings file lives outside the project root.
The configuration file is located at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
See QUICKSTART.md for a step by step setup.
Example prompts
Add milk, butter and eggs to my shopping list.Show me all items on my supermarket list.I bought the milk, please check it off.Status and limitations
Working. The server uses the unofficial Bring! API (api.getbring.com). Because the API is undocumented, endpoints and behaviour can change without notice, and the server may stop working until it is adapted. The store matching is tuned for German item names.
Contributing
See CONTRIBUTING.md.
License
MIT, see LICENSE.
The name and any logo/icon are not covered by the license.
Available Tools
6 toolsbring_add_itemC
Add one or more items to a Bring! shopping list. Can add multiple items in a single call.
Inputs: items (required), list_uuid (required).
bring_complete_itemB
Mark an item as purchased/completed and remove it from the shopping list.
Inputs: item_name (required), list_uuid (required).
bring_get_list_itemsA
Get all items from a specific Bring! shopping list. Returns items to purchase and recently purchased items.
Inputs: list_uuid (required).
bring_get_listsA
Get all available Bring! shopping lists for the authenticated user. Returns list names and UUIDs.
Inputs: no named parameters.
bring_remove_itemA
Completely remove an item from a shopping list (without marking as purchased).
Inputs: item_name (required), list_uuid (required).
bring_smart_addA
Smart-add items to Bring! shopping lists based on stored store preferences. Automatically routes each item to the correct store list (e.g. Aldi, Rewe) based on store_mappings.json. Items without a mapping are reported back. Use this instead of bring_add_item when you don't know which list an item belongs to.
Inputs: items (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Most tools target distinct actions on distinct resources (lists vs items, add vs complete vs remove). The only potential overlap is bring_add_item vs bring_smart_add, but the smart_add description explicitly clarifies when to use each, so misselection risk is low.
All six tools follow a consistent bring_verb_noun pattern (bring_get_lists, bring_add_item, bring_complete_item, etc.). The prefix and verb style are uniform throughout, making the set predictable.
Six tools is well-scoped for a shopping-list integration: two read tools, two item mutations, and two add variants. Each tool earns its place with no redundant surface area.
Item lifecycle is well covered (get, add, complete, remove) and lists can be enumerated. Minor gaps exist—no create/delete list, no quantity/update-item operation—but core shopping workflows are achievable.
Maintenance
Related MCP Connectors
Read and edit your Kori grocery lists: add, check off, edit and remove items.
Lets Claude, ChatGPT, and Muse read and update your beckett tasks, notes, calendar, and lists.
Manage Superlist tasks and lists in plain language from any MCP-compatible AI agent.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables interaction with Bring! shopping lists through natural language, allowing users to manage shopping items, lists, and collaborate with other users via the unofficial Bring! API.153 npm35MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to read and manage your Bring! shopping lists through natural language commands like adding items, marking purchases, and retrieving list contents.MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that writes items to a Bring! shopping list, enabling Claude to add recipe ingredients directly to your list via natural language.MIT
- AlicenseAqualityCmaintenanceEnables LLM clients to read, add to, and manage Bring! shopping lists, including adding items with notes and completing or removing items.5MIT