Back to Browse

Openfoodfacts MCP Server

Developer ToolsModerate5.6MCP RegistryLocal
Free

Server data from the Official MCP Registry

Search and contribute to the Open Food Facts database.

About

Search and contribute to the Open Food Facts database.

Security Report

5.6
Moderate5.6Moderate Risk

This is a well-structured MCP server for the Open Food Facts API with proper authentication design, clean code patterns, and appropriate permissions. The server correctly requires credentials for write operations while allowing unauthenticated read access. No critical vulnerabilities or malicious patterns were identified. Minor code quality observations about error handling breadth do not materially impact security. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

7 files analyzed · 6 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

User-Agent string in format 'AppName/Version (email)'. Required by the Open Food Facts API.Optional

Environment variable: OFF_USER_AGENT

Open Food Facts user ID (optional, needed for write operations).Optional

Environment variable: OFF_USER_ID

Open Food Facts password (optional, needed for write operations).Required

Environment variable: OFF_PASSWORD

Country subdomain (default: 'world').Optional

Environment variable: OFF_COUNTRY

Transport type.Optional

Environment variable: MCP_TRANSPORT

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-domdomegg-openfoodfacts-mcp": {
      "env": {
        "OFF_COUNTRY": "your-off-country-here",
        "OFF_USER_ID": "your-off-user-id-here",
        "OFF_PASSWORD": "your-off-password-here",
        "MCP_TRANSPORT": "your-mcp-transport-here",
        "OFF_USER_AGENT": "your-off-user-agent-here"
      },
      "args": [
        "-y",
        "openfoodfacts-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub 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

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

VariableRequiredDescription
OFF_USER_AGENTYesUser-Agent string, e.g. "AppName/1.0 (email@example.com)"
OFF_USER_IDNoOpen Food Facts username (for write operations)
OFF_PASSWORDNoOpen Food Facts password (for write operations)
OFF_COUNTRYNoCountry subdomain (default: world)

Tools

ToolDescriptionAuth
get_productGet product info by barcodeNo
search_products_standardSearch with structured filters (brand, category, Nutri-Score)No
search_products_luceneSearch with Lucene syntax, negation, and boolean logicNo
autocompleteAutocomplete brands, categories, labels, etc.No
add_or_edit_productAdd or update a productYes
upload_imageUpload a product imageYes
select_imageSelect, crop, and rotate an imageYes
call_apiCall any OFF API endpoint directlyDepends
get_api_docsGet OFF API documentationNo

Contributing

Pull requests are welcomed on GitHub! To get started:

  1. Install Git and Node.js
  2. Clone the repository
  3. Install dependencies with npm install
  4. Run npm run test to run tests
  5. Build with npm run build

Releases

Versions follow the semantic versioning spec.

To release:

  1. Use npm version <major | minor | patch> to bump the version
  2. Run git push --follow-tags to push with tags
  3. Wait for GitHub Actions to publish to the NPM registry.

Reviews

No reviews yet

Be the first to review this server!