Plate Pal

io.github.GoodTurnStudioPublished by GitHub account GoodTurnStudiov1.3.0Updated Oct 24, 2026

Calories and nutrition for any food, chain meal or barcode, and meal ideas for a goal and diet.

The publisher's own server: Plate

VerifiedStreamable HTTPWeb executableLocation & LifestyleData & Analytics

Overview

AI-generated overview

A remote, read-only MCP server that gives an assistant calories and nutrition for foods, chain meals and barcodes, plus meal ideas by goal and diet.

What you can do
Look up calories and macros for a food, dish, product or whole meal at a stated amount, including chain meals and drinks like a latte or a burger combo, with UK traffic-light ratings for fat, saturates, sugars and salt at per-100g and per-serving levels from a barcode scan, and get simple meal ideas filtered by goal (high protein, low carb, budget, quick, high fibre), diet (vegetarian, vegan, pescatarian, halal) and meal of the day, with rough macros.
When to use it
Useful when someone asks how many calories or how much protein is in a food or meal, wants to check a packaged product's sugar or salt from its barcode, or needs quick meal suggestions that fit a diet and a goal.
Requirements
A remote streamable HTTP endpoint; no sign-in, API key or environment variable is needed. The assistant must support remote MCP servers over streamable HTTP.
Before you install
All tools are read-only and nothing about the user is stored, but nutrition figures and meal ideas come from a third-party API and should not be treated as medical or dietary advice.

Installation

In SourceWeft

  1. Open Plate Pal in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.GoodTurnStudio%2Fplatepal/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "plate-pal": {
      "type": "http",
      "url": "https://goodturn-mcp.pages.dev/platepal/mcp"
    }
  }
}

README

goodturn-mcp

Remote MCP servers for 25 free, read-only everyday helpers by Good Turn Studio: money, health, jobs, travel, shopping, halal checks, football and scripture reading. One Cloudflare Worker turns each product's public OpenAPI spec into an MCP server, so any assistant that speaks MCP (Claude, ChatGPT, Alexa+, Cursor, VS Code and others) can use them.

  • One server per product: https://goodturn-mcp.pages.dev/<slug>/mcp
  • All products in one: https://goodturn-mcp.pages.dev/all/mcp (tool names start with the product slug)
  • Streamable HTTP, stateless JSON, MCP 2025-11-25 (and 2025-06-18, 2025-03-26), no sign-in
  • Every tool is read-only, with a title and annotations (readOnlyHint: true, destructiveHint: false, idempotentHint: true)
  • Nothing about the user is stored. Privacy: https://goodturn-mcp.pages.dev/privacy

Products

ProductSlugWhat it does
MizanmizanShariah screening of US stocks under four standards, halal alternatives, purification, zakat
Halal or NothalalornotHalal checks for food, ingredients, medicines, stocks, funds and crypto
Fare DealsfaredealsCheap flights from any city, and the cheapest days to fly
Cheapest PricecheapestpriceThe lowest current price for a product, checked live
Spin My DayspinmydayA whole day out in any city, matched to weather, mood and diet
Cancel My SubcancelmysubHow to cancel US and UK subscriptions, and what a card charge is
Lower My BilllowermybillCall scripts and low-cost plans to lower household bills
Price Drop BackpricedropbackStore price-adjustment rules, deadlines and a claim message
Find My MoneyfindmymoneyOfficial unclaimed money searches in the US and UK
Supplement ChecksupplementcheckSupplement labels and doses against official upper limits
Plate PalplatepalCalories and nutrition for foods, chain meals and barcodes
Plan My WorkoutplanmyworkoutWorkout plans and how to do any exercise
Med Bill CheckmedbillcheckUS medical bills against Medicare rates, with dispute letters
Appeal My ClaimappealmyclaimUS health insurance denials, rights, deadlines and appeal letters
Job SpotterjobspotterCurrent US and UK job listings
Sync My CyclesyncmycycleLikely cycle phase today, with food and workout ideas
Wardrobe ConnectwardrobeconnectClothes that match a description or a picture
Form GuideformguideFootball form, fixtures, results and tables
Books Like ThisbookslikethisBooks like one you enjoyed, and screen adaptations
Talmud ScrollertalmudDaily Talmud with Daf Yomi, and tractates in English
Scroll the GurbanigurbaniDaily Gurbani with English, any Ang or shabad
Gita ScrollergitaDaily Bhagavad Gita verses with English
Scroll the LoreloreGreek and Norse myth, Homer, Hesiod and the Poetic Edda
Stoic ScrollerstoicsMarcus Aurelius, Epictetus and Seneca
Bible SwipebibleDaily Bible readings and any passage

How it works

  • build.py reads each product's live openapi.json and writes products.js: one tool per GET operation, named from its operationId, with inputs from its parameters. Descriptions are tidied into plain tool descriptions.
  • worker.mjs is the MCP server: initialize, tools/list and tools/call, which calls the product's own API and returns its answer. Answers with a say field carry a ready-made summary.
  • servers.json lists every server for the official MCP Registry (as io.github.GoodTurnStudio/<slug>). The Publish to the MCP Registry workflow logs in with GitHub OIDC and runs publish.py; publish.ps1 does the same from Windows.

Build and test

npm installnpm run build          # python3 build.py, then bundle to deploy/_worker.jsnpm test               # every product through the worker, against the live APIsnpm run test:live      # every tool through the deployed servers with the MCP SDK client

Deploy deploy/ as a Cloudflare Pages project in advanced mode (_worker.js).

Licence

MIT for this code. Each product's API, data and answers belong to that product and are served under its own terms, linked from its page at https://goodturn-mcp.pages.dev/<slug>.

Source: README.md at commit 7a0f5b3

Tools

3

get_food_nutrition

Calories and macros for a food, dish or product, for the amount the user says

Calories and macros for a food, dish or product, for the amount the user says. For requests like "how many calories in a Big Mac?", "protein in 200g chicken breast", "calories in chicken biryani", "a slice of pepperoni pizza", "a large latte" or a whole meal like "2 eggs, 2 slices of toast and a coffee". Takes the whole amount and food in q, or grams or servings separately. Generic foods and dishes (thousands, including fast food and restaurant dishes) use USDA values with real portion weights (slice, cup, small, medium, large, one item); brands come from Open Food Facts. Chain items ("McDonald's large fries", "a Greggs sausage roll", "KFC Zinger burger", "grande latte from Starbucks", "6 inch Italian BMT from Subway", "20 piece McNuggets") use the chain's own published figures for that size, UK or US by country, and return a chain object (name, region, item, size, weight_published); when the chain doesn't publish a weight, amount.grams is null and per_100 values are null. For a chain item not in the table, a typical USDA version is used and the say line says so. A whole meal returns items (each food with its amount and nutrition) and total. Returns nutrition for the amount, per_100 values, portions, UK traffic lights (per 100 g, or per 100 ml for drinks) and caffeine_mg for drinks that have it.

Parametersqrequiredgramscountryservings

get_barcode_nutrition

Nutrition for a packaged product by barcode, with UK traffic lights

Nutrition for a packaged product by barcode, with UK traffic lights. For requests like "is this barcode high in sugar?", "how many calories in this?" after a scan, or "what's the salt in 5000157024886?". Returns per 100 g (or 100 ml) and per serving values, traffic lights for fat, saturates, sugars and salt, Nutri-Score, allergens and a Halal or Not? link for checking the ingredients.

Parameterscoderequiredservings

get_meal_ideas

Simple meal ideas by goal, diet and meal, with rough macros

Simple meal ideas by goal, diet and meal, with rough macros. For requests like "give me a high protein halal dinner idea", "a quick vegan lunch", "cheap vegetarian breakfast ideas". Goals: high protein, low carb, budget, quick, high fibre. Diets: vegetarian, vegan, pescatarian, halal. Meals: breakfast, lunch, dinner, snack. The user's words can go in q instead. Ideas rotate daily. It does not set calorie or weight targets; a weight-loss request gets lighter, filling ideas (goal lighter, 450 calories or less) and a pointer to a doctor or dietitian, with no shop links.

Parametersnqdietgoalmealcountry

Version history

1
  1. v1.3.0LatestSep 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Plate integrations