{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.0","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.0","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.0","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-30T14:07:11.151116Z","publishedAt":"2026-05-30T14:07:11.151116Z","updatedAt":"2026-05-30T14:07:11.151116Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.1","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.1","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.1","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-31T02:16:00.138748Z","publishedAt":"2026-05-31T02:16:00.138748Z","updatedAt":"2026-05-31T02:16:00.138748Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.2","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.2","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.2","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-02T14:46:27.879862Z","publishedAt":"2026-06-02T14:46:27.879862Z","updatedAt":"2026-06-02T14:46:27.879862Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.3","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.3","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.3","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-04T09:26:14.428784Z","publishedAt":"2026-06-04T09:26:14.428784Z","updatedAt":"2026-06-04T09:26:14.428784Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.4","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.4","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.4","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-13T03:59:15.167739Z","publishedAt":"2026-06-13T03:59:15.167739Z","updatedAt":"2026-06-13T03:59:15.167739Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.5","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.5","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.5","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-16T01:58:46.823309Z","publishedAt":"2026-06-16T01:58:46.823309Z","updatedAt":"2026-06-16T01:58:46.823309Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.cyanheads/openfoodfacts-mcp-server","description":"Barcode lookup, nutrition search, and product comparison for 3M+ crowd-sourced food products.","repository":{"url":"https://github.com/cyanheads/openfoodfacts-mcp-server","source":"github"},"version":"0.1.6","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.6","runtimeHint":"bun","transport":{"type":"stdio"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:stdio","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@cyanheads/openfoodfacts-mcp-server","version":"0.1.6","runtimeHint":"bun","transport":{"type":"streamable-http","url":"http://localhost:3010/mcp"},"packageArguments":[{"value":"run","type":"positional"},{"value":"start:http","type":"positional"}],"environmentVariables":[{"description":"Open Food Facts API base URL override. Useful for testing against a mock server.","format":"string","default":"https://world.openfoodfacts.org","name":"OFF_BASE_URL"},{"description":"Product read rate limit (requests/min).","format":"string","default":"100","name":"OFF_RATE_LIMIT_PRODUCT"},{"description":"Search rate limit (requests/min).","format":"string","default":"10","name":"OFF_RATE_LIMIT_SEARCH"},{"description":"The hostname for the HTTP server.","format":"string","default":"127.0.0.1","name":"MCP_HTTP_HOST"},{"description":"The port to run the HTTP server on.","format":"string","default":"3010","name":"MCP_HTTP_PORT"},{"description":"The endpoint path for the MCP server.","format":"string","default":"/mcp","name":"MCP_HTTP_ENDPOINT_PATH"},{"description":"Authentication mode to use: 'none', 'jwt', or 'oauth'.","format":"string","default":"none","name":"MCP_AUTH_MODE"},{"description":"Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').","format":"string","default":"info","name":"MCP_LOG_LEVEL"}]}],"remotes":[{"type":"streamable-http","url":"https://openfoodfacts.caseyjhand.com/mcp"}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-06-20T17:42:11.912526Z","publishedAt":"2026-06-20T17:42:11.912526Z","updatedAt":"2026-06-20T17:42:11.912526Z","isLatest":true}}}],"metadata":{"count":7}}
