generated: '2026-08-09' method: derived status: candidate source: openapi/nutrientsdb-sample-api-openapi.yml description: 'NutrientsDB publishes NO MCP server. This file is a CANDIDATE tool design derived from the one public OpenAPI operation — it is what an MCP server over this API would look like, not something the provider ships. It is deliberately NOT wired as a `type: MCPServer` pointer in apis.yml, because that pointer asserts a live agent surface and this one does not exist.' server: name: nutrientsdb published: false url: null transport: null probe: - url: https://www.nutrientsdb.com/api/mcp method: POST body: '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' http_status: 404 response: '{"error": {"code": "404", "message": "The page could not be found"}}' - url: https://www.nutrientsdb.com/mcp http_status: 200 valid: false note: SPA HTML catch-all, not an MCP endpoint. - registry_check: modelcontextprotocol / npm result: no first-party NutrientsDB MCP server found tools: - name: find_foods description: Search the public 1,000-food NutrientsDB sample by food-name fragment, or retrieve one food by its exact public_id. Returns the complete 86-field nutrient profile per 100 g for each match. source_operation: openapi/nutrientsdb-sample-api-openapi.yml#findFoods input_schema_source: 'Inherits the real parameters of the findFoods operation: q (string, 2-100 chars), id (integer), limit (integer 1-20, default 10). q and id are mutually exclusive.' consequence: read auth_required: false notes: - A single-operation API is a weak MCP candidate on its own; the more useful agent surface for NutrientsDB is the licensed dataset loaded locally, which is outside any hosted protocol. - 'If the provider ever publishes a real MCP endpoint, re-run this pipeline: replace this file with the searched `tools/list` output, set status: published, and add the MCPServer pointer then.' deployment: mode: none verified: derived tools: 1 checked: '2026-08-12' source: catalog MCP census