Additive Atlas

space.mononPublished by monon.spaceOfficial publisherv0.1.0Updated Oct 25, 2026

Food additive regulations of Japan, the EU and the US, side by side, with sources (free tier).

VerifiedStreamable HTTPWeb executableLocation & LifestyleData & Analytics

Overview

AI-generated overview

Remote MCP server for looking up food additive regulations across Japan, the EU and the US, with sources, and for analyzing additive labels.

What you can do
Search substances by name on a single regulatory axis, with exact matching against that axis's names and aliases in its own language (E numbers, official names, Japanese item names). Retrieve one substance's full record: identifiers, category, aliases, translations, source ledger, groups, and axis-specific use standards, conditions of use and labelling statements. Analyze a label's additive section, resolving each token to substances and reporting known interactions between them. Cross-axis comparison tools are listed but return only the paid HTTP endpoint instead of data.
When to use it
Useful when checking how a food additive is regulated in Japan, the EU or the US, or when parsing an ingredient label's additive list and seeing which substances it names and how they interact. The free tools cover single-axis lookups and label analysis; cross-axis comparison is not available through this server.
Requirements
A remote streamable HTTP endpoint; no package, account, API key or environment variable is declared. Network access to the provider's API is required.
Before you install
The cross-axis diff tools are marked paid and are not available through MCP; they return an HTTP endpoint that charges 0.01 USDC per request via x402 on Base, so using them involves cryptocurrency payment outside the MCP connection. Regulatory data is presented per axis with sources; verify against official sources before relying on it for compliance.

Installation

In SourceWeft

  1. Open Additive Atlas in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/space.monon%2Fadditive-atlas/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "additive-atlas": {
      "type": "http",
      "url": "https://api.additiveatlas.monon.space/mcp"
    }
  }
}

Tools

5

search_substances

Look up substances by name

Look up substances by name on one regulatory axis (same as HTTP GET /v1/substances?name=…). The name is normalised (NFKC, whitespace removed, lower-cased) and matched **exactly** against the names and aliases the axis itself uses in that language (E numbers and official names for EU, 品目名 and label terms for JP, CFR names for US) — no partial or fuzzy matching. The official name is an alias of itself. Returns the matching substances (SubstanceSummary: facts from their own roster only) and, per row, what text matched. `axis` and `lang` must be one of the accepted pairs: JP+ja, US+en, EU+nl, EU+fr, EU+de, EU+es, EU+pl, EU+el, EU+bg. Not a safety judgement: every record is a draft and needs verification.

Parametersaxisrequiredlangrequirednamerequired

get_substance

One substance, with everything its own roster says

One substance with everything its own roster says (same as HTTP GET /v1/substances/{id}): identifiers, category, aliases, translations, the source-ledger row, groups, and — depending on the axis — Japanese use standards, EU/Codex conditions of use, mandatory labelling statements, the roster's definition text or the CFR citation. Facts from the substance's own axis only; nothing here crosses an axis (that is get_substance_diff, paid, HTTP only). Axis-specific keys are present only where the roster has that concept, and an empty list means something (use_standards: [] = no use standard; use_conditions: [] = no permitted food category). Not a safety judgement: every record is a draft and needs verification.

Parametersidrequired

analyze_label

Find the additives named on a label

Find the additives named on a label (same as HTTP POST /v1/labels/analyze). Splits the additive section into tokens and returns, per token, the substances it resolves to (SubstanceSummary: facts on their own axis), plus known interactions between the detected substances. Cutting the additive section out of the label is the caller's job; sending the whole ingredient section is allowed. Matching is exact against the alias vocabulary in scope: a token with matches: [] is unresolved, which (open world) does not distinguish "not an additive" from "an additive not known here". `axis` and `lang` must be one of the accepted pairs: JP+ja, US+en, EU+nl, EU+fr, EU+de, EU+es, EU+pl, EU+el, EU+bg. Not a safety judgement: every record is a draft and needs verification.

Parametersaxisrequiredlangrequiredtextrequired

get_substance_diff

One substance, with the cross-axis derivation (paid, HTTP only)

(Paid; not available through MCP.) For every axis other than the substance's own, what that axis says (with a per-cell source) kept separate from what was derived from it; when nothing can be concluded, a refusal says why and what would settle it. This tool does not return that data: it returns the HTTP endpoint (GET /v1/substances/{id}/diff, 0.01 USDC per request via x402 on Base) to call instead.

Parametersidrequired

analyze_label_diff

Find the additives named on a label, with the cross-axis derivation (paid, HTTP only)

(Paid; not available through MCP.) Same input as analyze_label, but each detected substance carries the cross-axis derivation. This tool does not return that data: it returns the HTTP endpoint (POST /v1/labels/analyze/diff with the same JSON body, 0.01 USDC per request via x402 on Base) to call instead.

Parametersaxisrequiredlangrequiredtextrequired

Version history

1
  1. v0.1.0LatestSep 30, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.