{"id":35550,"recorded_at":"2026-10-26T14:36:13.264989Z","observed_at":"2026-10-26T14:36:13.264910Z","subject_kind":"source_record","subject":"mcp_registry:io.github.cyanheads/openfoodfacts-mcp-server","kind":"listing","method":"baseline/1","body":{"endpoints":[["mcp","https://openfoodfacts.caseyjhand.com/mcp"]],"name":"io.github.cyanheads/openfoodfacts-mcp-server","owner_address":null,"raw":{"_meta":{"io.modelcontextprotocol.registry/official":{"isLatest":true,"publishedAt":"2026-10-25T09:58:21.82254Z","status":"active","statusChangedAt":"2026-10-25T09:58:21.82254Z","updatedAt":"2026-10-25T09:58:21.82254Z"}},"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","name":"io.github.cyanheads/openfoodfacts-mcp-server","packages":[{"environmentVariables":[{"default":"https://world.openfoodfacts.org","description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","name":"OFF_BASE_URL"},{"default":"15","description":"Product read rate limit (requests/min). Matches the 15 req/min/IP Open Food Facts documents for product reads.","format":"string","name":"OFF_RATE_LIMIT_PRODUCT"},{"default":"10","description":"Search rate limit (requests/min).","format":"string","name":"OFF_RATE_LIMIT_SEARCH"},{"default":"10","description":"Taxonomy resolution rate limit (requests/min). Applies to the live tag-vocabulary lookups off_browse_taxonomy makes, to tag-value resolution on text searches, and to checking allergen and trace exclusions on every search; a spent budget falls back to the offline sample, or to the tag value as normalized, rather than failing, except that an exclusion it could not check is refused as retryable.","format":"string","name":"OFF_RATE_LIMIT_TAXONOMY"},{"default":"info","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","name":"MCP_LOG_LEVEL"}],"identifier":"@cyanheads/openfoodfacts-mcp-server","registryBaseUrl":"https://registry.npmjs.org","registryType":"npm","runtimeHint":"npx","transport":{"type":"stdio"},"version":"0.3.9"},{"environmentVariables":[{"description":"Selects the HTTP transport.","format":"string","name":"MCP_TRANSPORT_TYPE","value":"http"},{"default":"https://world.openfoodfacts.org","description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","name":"OFF_BASE_URL"},{"default":"15","description":"Product read rate limit (requests/min). Matches the 15 req/min/IP Open Food Facts documents for product reads.","format":"string","name":"OFF_RATE_LIMIT_PRODUCT"},{"default":"10","description":"Search rate limit (requests/min).","format":"string","name":"OFF_RATE_LIMIT_SEARCH"},{"default":"10","description":"Taxonomy resolution rate limit (requests/min). Applies to the live tag-vocabulary lookups off_browse_taxonomy makes, to tag-value resolution on text searches, and to checking allergen and trace exclusions on every search; a spent budget falls back to the offline sample, or to the tag value as normalized, rather than failing, except that an exclusion it could not check is refused as retryable.","format":"string","name":"OFF_RATE_LIMIT_TAXONOMY"},{"default":"127.0.0.1","description":"The hostname for the HTTP server.","format":"string","name":"MCP_HTTP_HOST"},{"default":"3010","description":"The port to run the HTTP server on.","format":"string","name":"MCP_HTTP_PORT"},{"default":"/mcp","description":"The endpoint path for the MCP server.","format":"string","name":"MCP_HTTP_ENDPOINT_PATH"},{"default":"none","description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","name":"MCP_AUTH_MODE"},{"default":"info","description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","name":"MCP_LOG_LEVEL"}],"identifier":"@cyanheads/openfoodfacts-mcp-server","registryBaseUrl":"https://registry.npmjs.org","registryType":"npm","runtimeHint":"npx","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"version":"0.3.9"}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}],"repository":{"source":"github","url":"https://github.com/cyanheads/openfoodfacts-mcp-server"},"version":"0.3.9"}},"source":"mcp_registry","summary":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products."},"body_sha256":"cd7e3299628149889293bb624b536c84939657ac9e3640cd320a93ebbfc2a6e1","prev_id":null,"leaf":"0x9ca1091df1669ee8170a56e477f37427d22d423eaebf3191a0af2370b5a13b79","leaf_text":"{\"body\":\"cd7e3299628149889293bb624b536c84939657ac9e3640cd320a93ebbfc2a6e1\",\"id\":35550,\"kind\":\"listing\",\"method\":\"baseline/1\",\"observed_us\":1793025373264910,\"prev\":null,\"subject\":\"mcp_registry:io.github.cyanheads/openfoodfacts-mcp-server\",\"subject_kind\":\"source_record\"}","day":null,"proof":[]}