Wolfieeewolf/bring-mcp
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.
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
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.
โจ 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 listlist_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 itemspecification
(optional): Additional details (e.g., "2kg", "organic")list_uuid
(optional): UUID of the shopping listlist_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 withname
and optionalspecification
list_uuid
(optional): UUID of the shopping listlist_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 completelist_uuid
(optional): UUID of the shopping listlist_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 removelist_uuid
(optional): UUID of the shopping listlist_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
andBRING_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
- Model Context Protocol - Official MCP documentation
- Claude Desktop - AI assistant with MCP support
- Bring! API - Python API for Bring! shopping lists
Note: This is an unofficial integration. Not affiliated with Bring! Labs AG.