{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T15:59:49.655Z","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular.md","server":{"slug":"pipeworx-io-spoonacular","name":"Spoonacular","registryName":"io.github.pipeworx-io/spoonacular","description":"Spoonacular MCP.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"pipeworx-mcp-spoonacular","type":"npm","identifier":"@pipeworx/mcp-spoonacular","withdrawn":false,"url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular","version":"0.2.1","transport":"stdio","scoredAt":"2026-11-05T04:01:45.814Z"},"score":{"total":80,"tier":"high trust","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":80},{"date":"2026-11-04","total":80},{"date":"2026-11-03","total":77},{"date":"2026-11-02","total":77},{"date":"2026-11-01","total":77},{"date":"2026-10-31","total":77},{"date":"2026-10-30","total":77},{"date":"2026-10-29","total":77}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"pass","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","No install/post-install scripts declared.","No production dependencies, so there is no dependency health to assess."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.none","args":{}},{"code":"dephealth.no_dependencies","args":{"deps":"0","unhealthy":"0"}}]},{"name":"Provenance & Transparency","score":97,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-spoonacular).","Clear OSI-approved license (MIT).","Actively maintained (last published 0 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.verified","args":{"repo":"pipeworx-io/mcp-spoonacular"}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"0"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":67,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Tool/resource definitions use about 1209 tokens (~67/item across 18 items; 18 tools + 0 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"67","items":"18","tools":"18","tokens":"1209","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":23,"verdict":"partial","reasons":["Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"7"}}]},{"name":"Tool Coverage","score":67,"verdict":"fail","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","0% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"0"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"18"}},{"code":"toolsafety.manipulation_clean","args":{"units":"19","judged":"19"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"spoonacular-mcp","type":"remote","identifier":"https://gateway.pipeworx.io/spoonacular/mcp","withdrawn":false,"score":77,"current":false,"url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/spoonacular-mcp","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-spoonacular/spoonacular-mcp.md"},{"slug":"pipeworx-mcp-spoonacular","type":"npm","identifier":"@pipeworx/mcp-spoonacular","withdrawn":false,"score":80,"current":true,"url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular","markdownUrl":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular.md"}],"facts":[{"label":"Registry","value":"npm"},{"label":"Package","value":"@pipeworx/mcp-spoonacular"},{"label":"Version","value":"0.2.1"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"recipe_search","title":null,"description":"Search Spoonacular recipes with complex filters passed as query params (query keyword, cuisine, diet, intolerances, includeIngredients, excludeIngredients, maxReadyTime, sort, etc.). Returns recipe id, title, image, and ready-in minutes.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"recipe_information","title":null,"description":"Fetch full details for a Spoonacular recipe by numeric `id`. Returns title, ingredients, instructions, cuisines, diets, ready time, servings, source URL, and optionally full nutrition data if `includeNutrition` is true.","inputs":[{"name":"id","type":"number","required":true,"description":null},{"name":"includeNutrition","type":"boolean","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":68},{"name":"recipe_random","title":null,"description":"Fetch one or more random Spoonacular recipes, optionally filtered by comma-separated `tags` (e.g. \"vegetarian,dessert\") and `number` of results. Returns full recipe details including ingredients and instructions.","inputs":[{"name":"number","type":"number","required":false,"description":null},{"name":"tags","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":66},{"name":"recipe_summary","title":null,"description":"Fetch a short human-readable summary paragraph for a Spoonacular recipe by `id`. Returns the recipe title and a 1-2 sentence description of ingredients and preparation style.","inputs":[{"name":"id","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"recipe_similar","title":null,"description":"Fetch Spoonacular recipes similar to a given recipe by `id`. Returns up to `number` similar recipes with title, image URL, ready time, and servings.","inputs":[{"name":"id","type":"number","required":true,"description":null},{"name":"number","type":"number","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":56},{"name":"recipe_nutrition","title":null,"description":"Fetch the full nutrition breakdown for a Spoonacular recipe by `id`. Returns calories, macros (protein/fat/carbs), and detailed per-nutrient values including percent daily values.","inputs":[{"name":"id","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":54},{"name":"recipe_ingredients","title":null,"description":"Fetch the ingredient list for a Spoonacular recipe by `id`. Returns each ingredient's name, amount, unit, image URL, and estimated cost in US cents.","inputs":[{"name":"id","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"recipe_taste","title":null,"description":"Fetch taste profile scores for a Spoonacular recipe by `id`. Returns numeric scores for sweetness, saltiness, sourness, bitterness, savoriness, fattiness, and spiciness. Optionally normalize scores 0–100.","inputs":[{"name":"id","type":"number","required":true,"description":null},{"name":"normalize","type":"boolean","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":70},{"name":"recipe_price_breakdown","title":null,"description":"Fetch the estimated ingredient cost breakdown for a Spoonacular recipe by `id`. Returns per-ingredient price in US cents and the total estimated cost per serving.","inputs":[{"name":"id","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":48},{"name":"ingredient_search","title":null,"description":"Ingredient search.","inputs":[{"name":"intolerances","type":"string","required":false,"description":null},{"name":"number","type":"number","required":false,"description":null},{"name":"query","type":"string","required":true,"description":null},{"name":"sort","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":40},{"name":"ingredient_information","title":null,"description":"Fetch details for a Spoonacular ingredient by numeric `id`. Returns name, category, possible units, and nutrition data for the given `amount` and `unit`. Use `ingredient_search` to get the id first.","inputs":[{"name":"amount","type":"number","required":false,"description":null},{"name":"id","type":"number","required":true,"description":null},{"name":"unit","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":73},{"name":"product_search","title":null,"description":"Branded product search.","inputs":[{"name":"maxCalories","type":"number","required":false,"description":null},{"name":"minCalories","type":"number","required":false,"description":null},{"name":"number","type":"number","required":false,"description":null},{"name":"offset","type":"number","required":false,"description":null},{"name":"query","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":50},{"name":"product_information","title":null,"description":"Fetch details for a branded grocery product by Spoonacular numeric `id`. Returns product title, UPC, brand, ingredients, nutrition facts, and image URL.","inputs":[{"name":"id","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"meal_plan_generate","title":null,"description":"Generate a Spoonacular meal plan for a given `timeFrame` (\"day\" or \"week\") matching `targetCalories`, `diet` (e.g. vegetarian/vegan/paleo), and comma-separated `exclude` ingredients. Returns meals with recipe ids, titles, images, and nutrition summary.","inputs":[{"name":"diet","type":"string","required":false,"description":null},{"name":"exclude","type":"string","required":false,"description":null},{"name":"targetCalories","type":"number","required":false,"description":null},{"name":"timeFrame","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":100},{"name":"meal_plan_week","title":null,"description":"Generate a Spoonacular 7-day meal plan matching `targetCalories`, `diet`, and comma-separated `exclude` ingredients. Returns meals per day with recipe ids, titles, images, and per-day nutrition totals.","inputs":[{"name":"diet","type":"string","required":false,"description":null},{"name":"exclude","type":"string","required":false,"description":null},{"name":"targetCalories","type":"number","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":74},{"name":"wine_pairing","title":null,"description":"Fetch wine pairing suggestions for a `food` dish or ingredient (e.g. \"salmon\", \"pasta primavera\") with optional `maxPrice` filter. Returns paired wine types and specific product recommendations with name, price, and description.","inputs":[{"name":"food","type":"string","required":true,"description":null},{"name":"maxPrice","type":"number","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":73},{"name":"wine_recommendation","title":null,"description":"Fetch specific wine product recommendations for a wine type name (e.g. \"merlot\", \"chardonnay\") with optional `minRating`, `price` target, and `number` of results. Returns product name, price, average rating, and description.","inputs":[{"name":"minRating","type":"number","required":false,"description":null},{"name":"number","type":"number","required":false,"description":null},{"name":"price","type":"string","required":false,"description":null},{"name":"wine","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":91},{"name":"convert_amount","title":null,"description":"Convert a cooking measurement amount for a specific ingredient between units using Spoonacular. Requires `ingredientName`, `sourceAmount`, `sourceUnit`, and `targetUnit`. Returns the converted amount and unit (e.g. 1 cup flour → 125 grams).","inputs":[{"name":"ingredientName","type":"string","required":true,"description":null},{"name":"sourceAmount","type":"number","required":true,"description":null},{"name":"sourceUnit","type":"string","required":true,"description":null},{"name":"targetUnit","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":92}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T04:01:45.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"verified","label":"Verified","reason":"verified","reasonLabel":"Verified","discovery":"attestation_endpoint","discoveryLabel":"Registry attestation endpoint","sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":0,"partial":false,"deprecated":null,"stale":null,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-29","recent":[{"id":"chg_01a1a9de-af66-78dd-a2dd-8bae109e7064","kind":"package.version_changed","summary":"Package version (0.2.0 → 0.2.1)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-05","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a1a9de-af66-78dd-a2dd-8bae109e7064"},{"id":"chg_01a1a4d2-7819-7310-a4fe-2e39fbc7f140","kind":"check.reverified","summary":"Stability (unverified → 0.20)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a1a4d2-7819-7310-a4fe-2e39fbc7f140"},{"id":"chg_01a1a4d2-781a-74b2-b37a-31c1d10b201a","kind":"score.total_changed","summary":"Trust score (77 → 80)","materiality":"functional","direction":"improvement","scoreDelta":3,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a1a4d2-781a-74b2-b37a-31c1d10b201a"},{"id":"chg_01a19fc9-000d-7018-a86b-5e964a8f84e8","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-03","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a19fc9-000d-7018-a86b-5e964a8f84e8"},{"id":"chg_01a19acf-5a04-7e4f-82c5-d6d35d7d2fcf","kind":"check.unverifiable","summary":"Security disclosure (fail → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a19acf-5a04-7e4f-82c5-d6d35d7d2fcf"},{"id":"chg_01a19036-a722-71ac-b6e2-0835cbaf7622","kind":"check.reverified","summary":"Security disclosure (unverified → fail)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a19036-a722-71ac-b6e2-0835cbaf7622"},{"id":"chg_01a1870f-845d-7385-8274-7f7e60b8296f","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-29","url":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular#chg-chg_01a1870f-845d-7385-8274-7f7e60b8296f"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular/changelog.json"},"links":{"html":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular","markdown":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular.md","changelogJson":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular/changelog.json","changelogRss":"https://verifymcp.io/servers/pipeworx-io-spoonacular/pipeworx-mcp-spoonacular.xml","external":[{"label":"npm package","href":"https://www.npmjs.com/package/@pipeworx/mcp-spoonacular"},{"label":"Socket report","href":"https://socket.dev/npm/package/@pipeworx/mcp-spoonacular"},{"label":"Repository","href":"https://github.com/pipeworx-io/mcp-spoonacular"},{"label":"Website","href":"https://pipeworx.io/packs/spoonacular"}]}}