Skip to main content
Glama
Bring! MCP Server

Bring! MCP Server

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-KEY header 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

bring_get_lists

List all Bring! shopping lists of the account (name and UUID)

bring_get_list_items

Get all items of a list (items to buy and recently purchased items)

bring_add_item

Add one or more items to a list (with an optional specification, e.g. a quantity)

bring_complete_item

Mark an item as purchased and remove it from the active list

bring_remove_item

Remove an item from the list completely (without marking it as purchased)

bring_smart_add

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 tests

Configuration

Environment variables

Copy .env.example to .env and enter your Bring! credentials:

BRING_EMAIL=your.email@example.com
BRING_PASSWORD=your_password_here

Variable

Required

Description

BRING_EMAIL

yes

Email address of your Bring! account

BRING_PASSWORD

yes

Password of your Bring! account

BRING_STORE_MAPPINGS

no

Path to the store mappings file (default: store_mappings.json in the project root)

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_stores and _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.json

  • Linux: ~/.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 tools
bring_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

    A3.7/5.0

    Scored across 6 tools

    Disambiguation4/5

    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.

    Naming Consistency5/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI assistants to read and manage your Bring! shopping lists through natural language commands like adding items, marking purchases, and retrieving list contents.
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      MCP server that writes items to a Bring! shopping list, enabling Claude to add recipe ingredients directly to your list via natural language.
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables LLM clients to read, add to, and manage Bring! shopping lists, including adding items with notes and completing or removing items.
      5
      MIT