bring-mcp

Wolfieeewolf/bring-mcp

3.2

If you are the rightful owner of bring-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Bring! Shopping List MCP Server is a Model Context Protocol server that allows AI assistants to interact with Bring! shopping lists through a standardized interface.

Tools
  1. bring_get_lists

    Get all available shopping lists

  2. bring_get_list_items

    View items in a specific list

  3. bring_add_item

    Add an item to a shopping list

  4. bring_add_multiple_items

    Add multiple items at once

  5. bring_complete_item

    Mark an item as completed/purchased

  6. bring_remove_item

    Remove an item from a list

  7. bring_search_items

    Search for items across all lists

Bring! Shopping List MCP Server

A Model Context Protocol (MCP) server that provides access to Bring! shopping lists. This server allows AI assistants like Claude to interact with your Bring! shopping lists through a standardized interface.

License: MIT Python 3.10+

โœจ Features

๐Ÿ› ๏ธ Tools

  • bring_get_lists - Get all available shopping lists
  • bring_get_list_items - View items in a specific list
  • bring_add_item - Add an item to a shopping list
  • bring_add_multiple_items - Add multiple items at once
  • bring_complete_item - Mark an item as completed/purchased
  • bring_remove_item - Remove an item from a list
  • bring_search_items - Search for items across all lists

๐Ÿ”’ Security

  • Environment variables for secure credential storage
  • No third-party data sharing
  • Direct communication with official Bring! API

๐Ÿš€ Installation

Prerequisites

  • Python 3.10 or higher
  • A Bring! account with shopping lists
  • Claude Desktop or compatible MCP client

Recommended Installation

Install directly from GitHub for automatic updates:

pip install git+https://github.com/Wolfieeewolf/bring-mcp.git

Update to latest version:

pip install --upgrade git+https://github.com/Wolfieeewolf/bring-mcp.git

This method ensures you always get the latest features and bug fixes.

โš™๏ธ Configuration

Step 1: Set Environment Variables

Windows:

set BRING_EMAIL=your.email@example.com
set BRING_PASSWORD=yourpassword

macOS/Linux:

export BRING_EMAIL=your.email@example.com
export BRING_PASSWORD=yourpassword

Step 2: Configure Claude Desktop

Add to your Claude Desktop configuration file:

Windows: %APPDATA%\\Claude\\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "bring": {
      "command": "bring-mcp",
      "env": {
        "BRING_EMAIL": "your.email@example.com",
        "BRING_PASSWORD": "yourpassword"
      }
    }
  }
}

Step 3: Restart Claude Desktop

After adding the configuration, restart Claude Desktop for the changes to take effect.

๐Ÿงช Testing Your Setup

Before configuring Claude Desktop, verify your installation:

# Test authentication
python -c "
import asyncio
import os
from bring_mcp.server import create_bring_client

async def test():
    try:
        os.environ['BRING_EMAIL'] = 'your.email@example.com'
        os.environ['BRING_PASSWORD'] = 'yourpassword'
        bring, session = await create_bring_client()
        await session.close()
        print('โœ… Authentication successful!')
    except Exception as e:
        print(f'โŒ Authentication failed: {e}')

asyncio.run(test())
"

๐Ÿ’ฌ Usage Examples

Once configured, you can ask Claude:

  • "What's on my shopping list?"
  • "Add milk and bread to my grocery list"
  • "Add organic tomatoes (2kg) to my main list"
  • "Mark bread as completed"
  • "Remove milk from my shopping list"
  • "Search for items containing 'cheese'"

๐Ÿ› ๏ธ Development

Local Development Setup

# Clone the repository
git clone https://github.com/Wolfieeewolf/bring-mcp.git
cd bring-mcp

# Install in development mode
pip install -e ".[dev]"

Project Structure

bring-mcp/
โ”œโ”€โ”€ bring_mcp/               # Main package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ server.py            # MCP server implementation
โ”‚   โ””โ”€โ”€ cli.py               # CLI entry point
โ”œโ”€โ”€ tests/                   # Test files
โ”œโ”€โ”€ pyproject.toml          # Package configuration
โ”œโ”€โ”€ README.md               # This file
โ””โ”€โ”€ LICENSE                 # MIT License

Running Tests

# Run tests
pytest

# Format code
black bring_mcp/
isort bring_mcp/

# Type checking
mypy bring_mcp/

Testing with MCP Inspector

npx @modelcontextprotocol/inspector bring-mcp

๐Ÿ“š API Reference

bring_get_lists

Returns all available Bring! shopping lists.

Parameters: None

bring_get_list_items

Get items from a specific shopping list.

Parameters:

  • list_uuid (optional): UUID of the shopping list
  • list_name (optional): Name of the shopping list

bring_add_item

Add a single item to a shopping list.

Parameters:

  • item_name (required): Name of the item
  • specification (optional): Additional details (e.g., "2kg", "organic")
  • list_uuid (optional): UUID of the shopping list
  • list_name (optional): Name of the shopping list

bring_add_multiple_items

Add multiple items to a shopping list at once.

Parameters:

  • items (required): Array of items with name and optional specification
  • list_uuid (optional): UUID of the shopping list
  • list_name (optional): Name of the shopping list

bring_complete_item

Mark an item as completed/purchased.

Parameters:

  • item_name (required): Name of the item to complete
  • list_uuid (optional): UUID of the shopping list
  • list_name (optional): Name of the shopping list

bring_remove_item

Remove an item from a shopping list.

Parameters:

  • item_name (required): Name of the item to remove
  • list_uuid (optional): UUID of the shopping list
  • list_name (optional): Name of the shopping list

bring_search_items

Search for items across all shopping lists.

Parameters:

  • search_term (required): Term to search for

๐Ÿ› Troubleshooting

Common Issues

Authentication Failed

  • Verify BRING_EMAIL and BRING_PASSWORD are set correctly
  • Check credentials work in the Bring! app

"bring-mcp command not found"

pip install --upgrade git+https://github.com/your-username/bring-mcp.git

"Tool not found in Claude"

  • Restart Claude Desktop after config changes
  • Check config file syntax is valid JSON
  • Verify command path in configuration

Debug Mode

Enable debug logging:

export MCP_LOG_LEVEL=debug

๐Ÿค Contributing

We welcome contributions! Please see our for details.

๐Ÿ“„ License

MIT License - see file for details.

๐Ÿ”— Related Projects


Note: This is an unofficial integration. Not affiliated with Bring! Labs AG.