Search SubstanceLABSCO SUMMARY
It is a snapshot, and the date is the thing to quote.
The bundled dataset is the EFSA release of 14 September 2023, which is what makes queries fast and offline — and what means an answer reflects that release rather than today's science. The project says so itself: for regulatory or legal use, go back to the original EFSA scientific outputs. Within those bounds it answers the questions that genuinely take a long time by hand, like listing every additive in a class flagged carcinogenic.
What it is
A local server over EFSA's OpenFoodTox database — the European Food Safety Authority's compiled toxicological reference values for food additives, contaminants, pesticides and feed additives. Questions that would otherwise mean cross-referencing spreadsheets become single lookups.
What you get
- Search Substance finds a substance by name, E-number or description
- Get Substance Safety Assessment returns the mutagenic, genotoxic and carcinogenic flags
- Get Toxicity Endpoints returns study data including NOAEL, LD50 and target organs
- Get Risk Assessments returns safe intake limits — ADI and TDI values — with their safety factors
- Get Genotoxicity Details returns test guidelines and results
- Get Opinions retrieves EFSA opinion documents with publication dates, DOIs and regulation information
- List Substances by Class and Safety filters by category and safety criteria; List Substances by Assessment filters by ADI/TDI range, assessment type and population group
- The bundled dataset holds 8,006 chemical substances, 45,582 alternative names and 54,621 study records from 2,437 scientific assessments, including 11,357 risk assessments and 11,698 toxicity endpoints
Requirements
Python 3.12+ and the uv package manager. Published as mcp-openfoodtox version 0.1.0. Setup is two steps: make setup creates the environment, installs dependencies and builds the local database — required on first run — then make claude registers the server, or you add it by hand pointing at the project's .venv/bin/python and main.py. No account, no key, no network at query time: the EFSA dataset ships with the project, in the version updated 14 September 2023.
Setup effort
Build from source — git clone https://github.com/spyrosze/mcp-openfoodtox.git
USE CASES
Checking what a substance actually is
Search by name or E-number and get the identity and description back.
Finding the safe daily intake
Pull the ADI or TDI with its safety factor rather than reading an opinion PDF.
Screening a list of additives
Filter by category and safety flag to find the ones that need a closer look.
Tracing a value back to its source
Retrieve the EFSA opinion with its DOI and publication date so the number can be cited.
Comparing toxicity endpoints across substances
Pull NOAEL and LD50 values with target organs for each and set them side by side.
8 tools
Listed in project docs. Your client may show a different list.
Get Substance Safety AssessmentGet Toxicity EndpointsGet Risk AssessmentsGet Genotoxicity DetailsGet OpinionsList Substances by Class and SafetyList Substances by AssessmentBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- Python 3.12 or later
- uv package manager
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/spyrosze/mcp-openfoodtox.git
cd mcp-openfoodtoxCreate virtual environment, install dependencies and setup the database (required on first run)
make setupInstall MCP server in Claude Desktop (optional) — or add the block by hand
make claudeMCP Clients
Claude Desktop
{
"mcpServers": {
"mcp-openfoodtox": {
"command": "<YOUR_PATH_TO_MCP_OPENFOODTOX>/.venv/bin/python",
"args": [
"<YOUR_PATH_TO_MCP_OPENFOODTOX>/main.py"
]
}
}
}<YOUR_PATH_TO_MCP_OPENFOODTOX> is the full path of your clone. The .venv is the one make setup creates. The config file is ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%/Claude/claude_desktop_config.json on Windows and ~/.config/Claude/claude_desktop_config.json on Linux.