Open Food Facts
Search and contribute to the Open Food Facts database.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
openfoodfacts-mcpclaude mcp add open-food-facts -e 'OFF_USER_AGENT=<OFF_USER_AGENT>' -e 'OFF_USER_ID=<OFF_USER_ID>' -e 'OFF_PASSWORD=<your off_password>' -e 'OFF_COUNTRY=<OFF_COUNTRY>' -- npx -y openfoodfacts-mcp@2.6.0
{
"mcpServers": {
"open-food-facts": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp@2.6.0"
],
"env": {
"OFF_USER_AGENT": "<OFF_USER_AGENT>",
"OFF_USER_ID": "<OFF_USER_ID>",
"OFF_PASSWORD": "<your off_password>",
"OFF_COUNTRY": "<OFF_COUNTRY>"
}
}
}
}
Environment variables
OFF_USER_AGENTrequired User-Agent string in format 'AppName/Version (email)'. Required by the Open Food Facts API.OFF_USER_IDOpen Food Facts user ID (optional, needed for write operations).OFF_PASSWORDsecret Open Food Facts password (optional, needed for write operations).OFF_COUNTRYCountry subdomain (default: 'world').
openfoodfacts-mcpclaude mcp add open-food-facts -e 'MCP_TRANSPORT=<MCP_TRANSPORT>' -e 'OFF_USER_AGENT=<OFF_USER_AGENT>' -e 'OFF_USER_ID=<OFF_USER_ID>' -e 'OFF_PASSWORD=<your off_password>' -e 'OFF_COUNTRY=<OFF_COUNTRY>' -- npx -y openfoodfacts-mcp@2.6.0
{
"mcpServers": {
"open-food-facts": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp@2.6.0"
],
"env": {
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"OFF_USER_AGENT": "<OFF_USER_AGENT>",
"OFF_USER_ID": "<OFF_USER_ID>",
"OFF_PASSWORD": "<your off_password>",
"OFF_COUNTRY": "<OFF_COUNTRY>"
}
}
}
}
Environment variables
MCP_TRANSPORTrequired Transport type.OFF_USER_AGENTrequired User-Agent string in format 'AppName/Version (email)'. Required by the Open Food Facts API.OFF_USER_IDOpen Food Facts user ID (optional, needed for write operations).OFF_PASSWORDsecret Open Food Facts password (optional, needed for write operations).OFF_COUNTRYCountry subdomain (default: 'world').
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
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
Follow the instructions on install-mcp, which generates the right config for your MCP client (Claude Code, Claude Desktop, Cursor, Cline, VS Code, and more).
Set OFF_USER_AGENT to identify your app (e.g. openfoodfacts-mcp/1.2.0 (you@example.com)). For write operations (adding/editing products, uploading images), also set OFF_USER_ID and OFF_PASSWORD.
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.
Frequently asked questions
What is Open Food Facts?
Search and contribute to the Open Food Facts database.
How do I install Open Food Facts?
It runs on your machine. In Claude Code: claude mcp add open-food-facts -e 'OFF_USER_AGENT=<OFF_USER_AGENT>' -e 'OFF_USER_ID=<OFF_USER_ID>' -e 'OFF_PASSWORD=<your off_password>' -e 'OFF_COUNTRY=<OFF_COUNTRY>' -- npx -y openfoodfacts-mcp@2.6.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Open Food Facts need an API key?
Yes. It expects OFF_USER_AGENT, OFF_PASSWORD, MCP_TRANSPORT, which you set in its configuration.
Is Open Food Facts open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains Open Food Facts?
It is published by domdomegg. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.