protogrid

Search / com.eatmundo/dishes

eatmundo

R0· no sign-in

Cross-cuisine dish equivalence with shared-ingredient evidence: 1,956 dishes, 26 cuisines.

v0.1.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality84good
Trust80of 100
Uptime, 30 days100%
Latency p50392 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "dishes": {
      "type": "http",
      "url": "https://www.eatmundo.com/api/mcp"
    }
  }
}
claude mcp add --transport http dishes https://www.eatmundo.com/api/mcp
[mcp_servers.dishes]
url = "https://www.eatmundo.com/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dishes": {
      "type": "remote",
      "url": "https://www.eatmundo.com/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "dishes": {
      "type": "http",
      "url": "https://www.eatmundo.com/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=dishes&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LmVhdG11bmRvLmNvbS9hcGkvbWNwIn0%3D"
}
{
  "servers": {
    "dishes": {
      "type": "http",
      "url": "https://www.eatmundo.com/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "dishes": {
      "httpUrl": "https://www.eatmundo.com/api/mcp"
    }
  }
}
extensions:
  "dishes":
    enabled: true
    name: "dishes"
    type: streamable_http
    uri: "https://www.eatmundo.com/api/mcp"
    timeout: 300

Quality 84 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: search_dishes (destructiveHint); find_similar_dishes (destructiveHint); get_recipe (destructiveHint); …
  • pass
    tools.token_costabout 2,507 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes6 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 2,507 tokens to load them all · tool set ad59dee85c18 · tools last changed 2026-10-06 · checked 2026-10-20 17:02 UTC

Tool changes

  • get_recipechangeddescription, input schema, output schema
    before

    Full recipe for one dish: steps, FAQ, image credit, and ingredients with PARSED quantities (amount, unit, and a normalised base in grams or millilitres where the quantity is measurable). Count-based lines like "3 onions" carry a gram estimate only where a per-item weight is known.

    after · 60% of words in common

    Full recipe for one dish: steps, FAQ, image credit, and ingredients with PARSED quantities (amount, unit, and a normalised base in grams or millilitres where the quantity is measurable). Count-based lines like "3 onions" carry a gram estimate only where a per-item weight is known. Pass servings to rescale the ingredient quantities; the steps keep the original amounts. adaptations lists the diets (vegan, vegetarian, halal, dairy-free, pescatarian) the dish can be fully converted to, with each swap marked substitute (same dish) or adaptation (a different dish).

  • search_disheschangeddescription
    before

    Search 1,956 dishes from 26 cuisines by text, country, category, preparation technique, or canonical ingredient. Every ingredient in the corpus is linked to a canonical entity, so an ingredient filter also catches translations and spelling variants. Use it to get a slug for the other tools.

    after · 89% of words in common

    Search nearly 2,000 dishes from 26 cuisines by text, country, category, preparation technique, or canonical ingredient. Every ingredient in the corpus is linked to a canonical entity, so an ingredient filter also catches translations and spelling variants. Use it to get a slug for the other tools.

  • compare_disheschangeddescription
    before

    Compare two dishes ingredient by ingredient: shared items, what is unique to each, a match score, and - for the 848 pairs that have one - an editorial comparison paragraph in the requested language. Works for any two dishes in the corpus, whether or not they are an edge in the equivalence graph.

    after · 93% of words in common

    Compare two dishes ingredient by ingredient: shared items, what is unique to each, a match score, and - for the pairs that have one (nearly 900) - an editorial comparison paragraph in the requested language. Works for any two dishes in the corpus, whether or not they are an edge in the equivalence graph.

  • search_disheschangedinput schema
  • find_similar_disheschangeddescription
    before

    Find dishes from other cuisines that are equivalent to a given dish, from eatmundo's scored equivalence graph (11,467 edges over 1,956 recipes from 26 countries). Every edge is evidence-based - shared canonical ingredients - not a language-model guess, and every edge crosses country lines. Use it for "what is the Greek counterpart of lahmacun, and why".

    after · 84% of words in common

    Find dishes from other cuisines that are equivalent to a given dish, from eatmundo's scored equivalence graph (over 10,000 edges across nearly 2,000 recipes from 26 countries). Every edge is evidence-based - shared canonical ingredients - not a language-model guess, and every edge crosses country lines. Use it for "what is the Greek counterpart of lahmacun, and why".

  • substitute_ingredientadded

    Find what can replace a single ingredient, optionally under a dietary constraint (vegan, vegetarian, halal, dairy-free, pescatarian). Each result is marked "substitute" (same dish) or "adaptation" (result is a meaningfully different dish) - most swaps forced by a diet exclusion are adaptations, and the tool says so rather than overselling a swap as if the dish stayed the same. Precomputed and model-verified, not generated on the fly.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance55
liveness100
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-100% ~updated-40d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://www.eatmundo.com/api/mcp streamable-httpnoneyes100%392 ms2026-07-282026-10-20

Tools (6)

compare_dishesread-onlyCompare two dishes ingredient by ingredient: shared items, what is unique to each, a match score, and - for the pairs that have one (nearly 900) - an editorial comparison paragraph in the requested language. Works for any two dishes in the corpus, whether or not they are an edge in the equivalence graph.
find_similar_dishesread-onlyFind dishes from other cuisines that are equivalent to a given dish, from eatmundo's scored equivalence graph (over 10,000 edges across nearly 2,000 recipes from 26 countries). Every edge is evidence-based - shared canonical ingredients - not a language-model guess, and every edge crosses country lines. Use it for "what is the Greek counterpart of lahmacun, and why".
get_reciperead-onlyFull recipe for one dish: steps, FAQ, image credit, and ingredients with PARSED quantities (amount, unit, and a normalised base in grams or millilitres where the quantity is measurable). Count-based lines like "3 onions" carry a gram estimate only where a per-item weight is known. Pass servings to rescale the ingredient quantities; the steps keep the original amounts. adaptations lists the diets (vegan, vegetarian, halal, dairy-free, pescatarian) the dish can be fully converted to, with each swap marked substitute (same dish) or adaptation (a different dish).
search_dishesread-onlySearch nearly 2,000 dishes from 26 cuisines by text, country, category, preparation technique, or canonical ingredient. Every ingredient in the corpus is linked to a canonical entity, so an ingredient filter also catches translations and spelling variants. Use it to get a slug for the other tools.
substitute_ingredientread-onlyFind what can replace a single ingredient, optionally under a dietary constraint (vegan, vegetarian, halal, dairy-free, pescatarian). Each result is marked "substitute" (same dish) or "adaptation" (result is a meaningfully different dish) - most swaps forced by a diet exclusion are adaptations, and the tool says so rather than overselling a swap as if the dish stayed the same. Precomputed and model-verified, not generated on the fly.
weekly_menuread-onlyBuild a menu of up to 7 dinners, either one cuisine per day ("world") or all from one country. Honours diet exclusions (pork, beef, meat, fish, dairy, egg, alcohol), vegetarian/vegan/pescatarian requirements, a prep-time ceiling and a budget mode that reuses ingredients. When a constraint cannot be met it is relaxed and the relaxation is reported, never hidden.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.eatmundo/dishes",
  "title": "eatmundo",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://www.eatmundo.com/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "websiteUrl": "https://www.eatmundo.com",
  "description": "Cross-cuisine dish equivalence with shared-ingredient evidence: 1,956 dishes, 26 cuisines."
}