About Open Food Facts
Open Food Facts is an MCP server for searching and contributing to the Open Food Facts food database. It supports product lookups, filtered searches, and authenticated data edits.
Key features
- 01Look up products by barcode
- 02Search with structured filters or Lucene
- 03Autocomplete brands and categories
- 04Add or edit product entries
- 05Upload and adjust product images
- 06Access API endpoints and documentation
Use cases
- 01Check nutrition for a named product
- 02Find ingredients using a barcode
- 03Search cereals by Nutri-Score
- 04Add product details or an image
MCP support
Open Food Facts exposes product search, lookup, editing, image, and API-documentation tools to MCP clients. Write operations require credentials.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y openfoodfacts-mcpOFF_USER_AGENTUser-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_PASSWORDSecretOpen Food Facts password (optional, needed for write operations).OFF_COUNTRYCountry subdomain (default: 'world').MCP_TRANSPORTTransport type.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEopenfoodfacts-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 ([email protected])). 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 protected])" |
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.