About Open Food Facts
Open Food Facts is an MCP server in the Search category: search and contribute to the Open Food Facts database.
Install
claude mcp add open-food-facts -- npx -y openfoodfacts-mcpnpx -y openfoodfacts-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (9)
add_or_edit_productAdd or update a product
Parameters not published.
autocompleteAutocomplete brands, categories, labels, etc.
Parameters not published.
call_apiCall any OFF API endpoint directly
Parameters not published.
get_api_docsGet OFF API documentation
Parameters not published.
get_productGet product info by barcode
Parameters not published.
search_products_luceneSearch with Lucene syntax, negation, and boolean logic
Parameters not published.
search_products_standardSearch with structured filters (brand, category, Nutri-Score)
Parameters not published.
select_imageSelect, crop, and rotate an image
Parameters not published.
upload_imageUpload a product image
Parameters not published.
Ask AI
Ask AI about Open Food Facts
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
openfoodfacts-mcp
MCP server for the Open Food Facts API - search, read, and contribute to the world's largest open food database.
Use Cases
Look up a product by name: "How many calories in a Sainsbury's buffalo chicken wrap?" -> searches by name, finds the product, and returns nutrition data.
Look up a product by barcode: "What's in this product with barcode 3017620422003?" -> fetches Nutella's ingredients, Nutri-Score, and nutrition data.
Find healthy options: "Search for breakfast cereals with Nutri-Score A" -> searches with category and nutrition grade filters.
Contribute data: "Add the product name and brand for barcode 12345678" -> creates or updates a product entry on Open Food Facts.
Explore the database: "What brands of organic chocolate are in the database?" -> uses autocomplete and search to explore.
Setup
claude mcp add openfoodfacts-mcp -e OFF_USER_AGENT="openfoodfacts-mcp/1.2.0 (you@example.com)" -- npx -y openfoodfacts-mcp
For write operations (adding/editing products, uploading images), also set:
claude mcp add openfoodfacts-mcp \
-e OFF_USER_AGENT="openfoodfacts-mcp/1.2.0 (you@example.com)" \
-e OFF_USER_ID="your-username" \
-e OFF_PASSWORD="your-password" \
-- npx -y openfoodfacts-mcp
Or with HTTP transport:
# Start the server
MCP_TRANSPORT=http PORT=3000 OFF_USER_AGENT="openfoodfacts-mcp/1.2.0 (you@example.com)" npx -y openfoodfacts-mcp
# Add to Claude
claude mcp add --transport http openfoodfacts-mcp http://localhost:3000/mcp
Environment Variables
| Variable | Required | Description |
|---|---|---|
OFF_USER_AGENT |
Yes | User-Agent string, e.g. "AppName/1.0 (email@example.com)" |
OFF_USER_ID |
No | Open Food Facts username (for write operations) |
OFF_PASSWORD |
No | Open Food Facts password (for write operations) |
OFF_COUNTRY |
No | Country subdomain (default: world) |
Tools
| Tool | Description | Auth |
|---|---|---|
get_product |
Get product info by barcode | No |
search_products_standard |
Search with structured filters (brand, category, Nutri-Score) | No |
search_products_lucene |
Search with Lucene syntax, negation, and boolean logic | No |
autocomplete |
Autocomplete brands, categories, labels, etc. | No |
add_or_edit_product |
Add or update a product | Yes |
upload_image |
Upload a product image | Yes |
select_image |
Select, crop, and rotate an image | Yes |
call_api |
Call any OFF API endpoint directly | Depends |
get_api_docs |
Get OFF API documentation | No |
Contributing
Pull requests are welcomed on GitHub! To get started:
- Install Git and Node.js
- Clone the repository
- Install dependencies with
npm install - Run
npm run testto run tests - Build with
npm run build
Releases
Versions follow the semantic versioning spec.
To release:
- Use
npm version <major | minor | patch>to bump the version - Run
git push --follow-tagsto push with tags - Wait for GitHub Actions to publish to the NPM registry.
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.