{"name":"com.knowngate/verify","slug":"knowngate-verify","title":"KnownGate","description":"Food verification for people and AI agents: evidence-backed verdicts, with sources and dates.","url":"https://mcp.market/server/knowngate-verify","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-02T14:34:09.000Z","license":"MIT"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T20:30:48.060Z","last_ok_at":"2026-09-20T20:30:48.060Z","latency_ms":648},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/FocusedCreativity/knowngate","website":"https://www.knowngate.com","version":"0.1.0","remotes":[{"type":"streamable-http","url":"https://mcp.knowngate.com"}],"packages":[],"tools":[{"name":"check_item","description":"Rule one food subject against the household premise (restrictions, thresholds, or both). Needs a key (Authorization: Bearer kg_live_…); create a free one with the register tool. Returns one of four verdicts (no_conflict_found, conflict_found, ask_one_question, couldnt_verify) with typed hits, source kind and read date. Unknown counts as no; the word safe is never used.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"restrictions":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":60},{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":60},"note":{"type":"string","maxLength":200}},"required":["key"]}]},"description":"Household restrictions. FDA-9 keys (\"peanut\", \"sesame\", \"milk\", …) as strings, or { key, note } when a note matters (e.g. { key: \"tree_nut\", note: \"cashew\" }). May be empty when thresholds carry the premise."},"subject":{"type":"object","properties":{"kind":{"type":"string","enum":["upc","product_query","menu_item","ingredients"],"description":"upc: digits from a barcode · product_query: a product name · menu_item: a dish (needs venue) · ingredients: comma-separated ingredient text"},"value":{"type":"string","minLength":1,"maxLength":4000},"venue":{"description":"Venue name, required for menu_item","type":"string","maxLength":200}},"required":["kind","value"]},"thresholds":{"description":"Numeric premise (beta): per-serving nutrient bounds ruled against the product's typed panel. Unknown values refuse honestly, never zero. An empty array means no numeric limits.","maxItems":10,"type":"array","items":{"type":"object","properties":{"nutrient":{"type":"string","minLength":1,"maxLength":40,"description":"e.g. \"sugar_g\", \"carbs\", \"sodium_mg\", \"calories\", \"protein\""},"max":{"description":"Upper bound per serving","type":"number","minimum":0},"min":{"description":"Lower bound per serving","type":"number","minimum":0},"unit":{"description":"Unit the bound is stated in (\"g\", \"mg\", \"kcal\"). Defaults to the panel unit; exact conversions only.","type":"string","maxLength":10},"basis":{"description":"Only \"per_serving\" is ruleable in v1","type":"string","maxLength":20}},"required":["nutrient"]}}},"required":["restrictions","subject"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"check_plan","description":"Rule a set of items at once: a recipe's ingredients, a basket, several days. Needs a key (Authorization: Bearer kg_live_…); create a free one with the register tool. Up to 25 subjects, one call, one verdict per item plus a summary line. Each item carries its own evidence, source and read date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"restrictions":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":60},{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":60},"note":{"type":"string","maxLength":200}},"required":["key"]}]},"description":"Household restrictions. FDA-9 keys (\"peanut\", \"sesame\", \"milk\", …) as strings, or { key, note } when a note matters (e.g. { key: \"tree_nut\", note: \"cashew\" }). May be empty when thresholds carry the premise."},"items":{"minItems":1,"maxItems":25,"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["upc","product_query","menu_item","ingredients"],"description":"upc: digits from a barcode · product_query: a product name · menu_item: a dish (needs venue) · ingredients: comma-separated ingredient text"},"value":{"type":"string","minLength":1,"maxLength":4000},"venue":{"type":"string","maxLength":200}},"required":["kind","value"]}},"thresholds":{"description":"Numeric premise (beta): per-serving nutrient bounds ruled against the product's typed panel. Unknown values refuse honestly, never zero. An empty array means no numeric limits.","maxItems":10,"type":"array","items":{"type":"object","properties":{"nutrient":{"type":"string","minLength":1,"maxLength":40,"description":"e.g. \"sugar_g\", \"carbs\", \"sodium_mg\", \"calories\", \"protein\""},"max":{"description":"Upper bound per serving","type":"number","minimum":0},"min":{"description":"Lower bound per serving","type":"number","minimum":0},"unit":{"description":"Unit the bound is stated in (\"g\", \"mg\", \"kcal\"). Defaults to the panel unit; exact conversions only.","type":"string","maxLength":10},"basis":{"description":"Only \"per_serving\" is ruleable in v1","type":"string","maxLength":20}},"required":["nutrient"]}}},"required":["restrictions","items"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"check_venue","description":"Rule a whole venue's published chart against the household restrictions in one call. Needs a key (Authorization: Bearer kg_live_…); create a free one with the register tool. Returns per-verdict counts, the most severe items, the operator's cross-contact caveat verbatim, and the chart's source and read date. A venue with no machine-readable chart says so honestly.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"restrictions":{"maxItems":20,"type":"array","items":{"anyOf":[{"type":"string","minLength":1,"maxLength":60},{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":60},"note":{"type":"string","maxLength":200}},"required":["key"]}]},"description":"Household restrictions. FDA-9 keys (\"peanut\", \"sesame\", \"milk\", …) as strings, or { key, note } when a note matters (e.g. { key: \"tree_nut\", note: \"cashew\" }). May be empty when thresholds carry the premise."},"venue":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"location":{"description":"City or metro, optional","type":"string","maxLength":200}},"required":["name"]}},"required":["restrictions","venue"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"register","description":"Sign yourself up for a developer key without leaving MCP. The email is contact and recovery, not a wall. One key per email, free tier (100 checks a month); the key is in this response and never shown again. Nothing on knowngate.com itself needs a key.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"agent_name":{"type":"string","minLength":1,"maxLength":120,"description":"Who is signing up, e.g. your product name"},"contact_email":{"type":"string","maxLength":254,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["agent_name","contact_email"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-20T20:08:42.320Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:08:42.235Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1470ms"]},"poisoning":{"score":15,"max":15,"notes":["4 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 18 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.knowngate.com","reachable":true,"authRequired":false,"latencyMs":1470,"serverInfo":{"name":"knowngate","version":"0.1.0"}}],"packages":[],"repo":{"found":true,"owner":"FocusedCreativity","repo":"knowngate","archived":false,"pushedAt":"2026-09-02T14:34:09Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/86958972?v=4","ownerCreatedAt":"2021-07-05T10:23:44Z","license":"MIT"},"icon":{"url":"https://www.knowngate.com/icon.svg?icon.3ozvpkmfiyw8e.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-02T14:34:09.000Z","score":23}}}},"grade_history":[],"reviews":[]}