npm openfoodfacts-mcpstdioMITupdated 27d ago
MCP server for the Open Food Facts API - search, read, and contribute to the world's largest open food database.
What can you do with Open Food Facts?
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.
Install
Add Open Food Facts to your client. Pick the one you use.
claude mcp add openfoodfacts-mcp -- npx -y openfoodfacts-mcpcodex mcp add openfoodfacts-mcp -- npx -y openfoodfacts-mcpamp mcp add openfoodfacts-mcp -- npx -y openfoodfacts-mcp{
"mcpServers": {
"openfoodfacts-mcp": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"openfoodfacts-mcp": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"openfoodfacts-mcp","command":"npx","args":["-y","openfoodfacts-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"openfoodfacts-mcp": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"openfoodfacts-mcp": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"openfoodfacts-mcp": {
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"openfoodfacts-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"openfoodfacts-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"openfoodfacts-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y openfoodfacts-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
8 tools
Open Food Facts exposes 8 tools to a connected agent.
- get_product
- Get product info by barcode
- search_products_standard
- Search with structured filters (brand, category, Nutri-Score)
- search_products_lucene
- Search with Lucene syntax, negation, and boolean logic
- add_or_edit_product
- Add or update a product
- upload_image
- Upload a product image
- select_image
- Select, crop, and rotate an image
- call_api
- Call any OFF API endpoint directly
- get_api_docs
- Get OFF API documentation
Score
72 / 100
Good
- Documentation16/25
- Maintenance25/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 20 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 8 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 2.6.0Latest | Jul 9, 2026 |
| 2.5.1 | Mar 11, 2026 |
| 2.5.0 | Mar 9, 2026 |
| 2.4.0 | Mar 8, 2026 |
| 2.3.0 | Mar 8, 2026 |
| 2.2.0 | Mar 8, 2026 |
| 2.1.0 | Mar 8, 2026 |
| 2.0.0 | Mar 8, 2026 |
| 1.4.0 | Mar 8, 2026 |
| 1.3.0 | Mar 7, 2026 |
| 1.2.0 | Mar 5, 2026 |
| 1.1.1 | Feb 23, 2026 |
| 1.1.0 | Feb 18, 2026 |
| 1.0.0 | Feb 18, 2026 |