Bring! MCP Server
Click on "Install 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 ServerAdd milk to my weekly 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
A small Model Context Protocol server for the Bring! shopping list API.
It exposes Bring! shopping lists to MCP clients such as Claude Desktop, Cursor, or any client that can launch a stdio MCP server.
Available tools
get_lists— list all Bring! shopping lists and their UUIDsget_list— fetch one shopping list and show to-buy plus recently completed itemsadd_item— add or update an item on a listremove_item— remove an item from a listcomplete_item— move an item to Recently Purchased (complete it in Bring!)batch_update— apply bulk operations (ADD,COMPLETE, orREMOVE) to multiple items
Available resources
bring://lists— JSON index of every shopping listbring://lists/{listUuid}— JSON contents of a single list (purchase + recently sections)
Clients such as Claude Desktop expose these in their "attach resource" picker.
Available prompts
meal_plan— plan a meal and stage missing ingredients on a target listweekly_groceries— draft a balanced weekly grocery list and stage it on a target list
Requirements
Python 3.11+
A Bring! account
Environment variables for your Bring! login
Installation
git clone https://github.com/arithmetic-zz/bring-mcp-server.git
cd bring-mcp-server
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txtConfiguration
Set these environment variables:
export BRING_EMAIL="your@email.com"
export BRING_PASSWORD="your-password"Or create a local .env file:
BRING_EMAIL=your@email.com
BRING_PASSWORD=your-password.env is ignored by Git. Do not commit real Bring! credentials.
Run
python3 server.pyThe server communicates over stdio, so it is normally launched by an MCP client instead of being run interactively.
Claude Desktop integration
{
"mcpServers": {
"bring": {
"command": "python",
"args": ["/path/to/bring-mcp-server/server.py"],
"env": {
"BRING_EMAIL": "your@email.com",
"BRING_PASSWORD": "your-password"
}
}
}
}If you use the virtual environment from the installation steps, set command to /path/to/bring-mcp-server/.venv/bin/python.
Development
python3 -m py_compile server.py
python3 -m unittest discover -s tests -vGitHub Actions runs the same compile and unit-test checks on Python 3.11, 3.12, and 3.13 for pushes and pull requests.
Notes
The server keeps one authenticated Bring client per process and reuses the HTTP session.
get_listfollows the currentbring-apiresponse shape: active items are underpurchase, completed/recent items underrecently.save_item(used byadd_item) is an upsert — adding an item that already exists updates it rather than creating a duplicate.complete_itemmoves items to the "Recently Purchased" list; it does not check items off in place.Known Bring/API/input errors are caught, logged, and translated into short user-facing messages.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arithmetic-zz/bring-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server