Koskamo

Good Turn Studio Plate Pal MCP

Plate Pal is a read-only MCP server that provides nutritional data including calories, macros, and sugar content for everyday foods, restaurant dishes, and packaged products. It supports barcode lookups with UK traffic-light flags and generates simple meal ideas based on specific goals and dietary requirements such as halal or vegan.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Good Turn Studio Plate Pal MCP logo, by Good Turn StudioCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by Good Turn Studio
MCP endpoint (Streamable HTTP)
https://goodturn-mcp.pages.dev/platepal/mcp
Vendor documentation

What its tools do

3 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

3 of 3 have a description · 3 of 3 declare behavior hints · 3 of 3 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Get calories and macros for a specific food or dish
  • Look up nutrition for a packaged product by barcode
  • Generate simple meal ideas by goal and diet

Source and maintenance

Community listingRegistry 1.3.0
Maintenance checked

Protocol and capabilities

Server
goodturn-platepal 1.3.0
MCP protocol negotiated in check
2025-11-25
Tools
3 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Calories, protein, carbs, fat, sugar and salt for everyday foods, restaurant and fast-food dishes, whole meals and packaged products, scaled to the amount the user says (grams, servings, sizes, or items like 2 eggs). Barcode lookups with UK traffic-light flags, and simple meal ideas by goal and diet, including halal. Every answer has a ready-to-read `say` line and a `note` that this is general information, not medical or dietetic advice. Every tool is read-only and nothing about the user is stored. Where an answer has a "say" field, it is a ready-to-read summary. More at https://platepal.pages.dev

Tools

3 advertised

get_food_nutrition — Calories and macros for a food, dish or product, for the amount the user says
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_food_nutrition input schema
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "The food or meal, optionally with amounts, for example 200g chicken breast, a large banana, or 2 eggs and a slice of toast."
    },
    "grams": {
      "type": "number",
      "maximum": 5000,
      "minimum": 1,
      "description": "Amount in grams (1 to 5000). Overrides any amount in q."
    },
    "country": {
      "type": "string",
      "description": "Two-letter country code. Picks UK or US chain figures (GB and IE get UK ones) and prefers local versions of branded products. Default from the request."
    },
    "servings": {
      "type": "number",
      "maximum": 20,
      "minimum": 0.25,
      "description": "Number of servings or items (0.25 to 20)."
    }
  },
  "additionalProperties": false
}
get_food_nutrition annotations
{
  "title": "Calories and macros for a food, dish or product, for the amount the user says",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_barcode_nutrition — Nutrition for a packaged product by barcode, with UK traffic lights
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_barcode_nutrition input schema
{
  "type": "object",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "Barcode digits (8 to 14)."
    },
    "servings": {
      "type": "number",
      "maximum": 20,
      "minimum": 0.25,
      "description": "Number of servings to total up (0.25 to 20)."
    }
  },
  "additionalProperties": false
}
get_barcode_nutrition annotations
{
  "title": "Nutrition for a packaged product by barcode, with UK traffic lights",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
get_meal_ideas — Simple meal ideas by goal, diet and meal, with rough macros
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

get_meal_ideas input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "n": {
      "type": "integer",
      "maximum": 8,
      "minimum": 1,
      "description": "How many ideas, 1 to 8. Default 3."
    },
    "q": {
      "type": "string",
      "description": "Free text, for example high protein halal dinner."
    },
    "diet": {
      "type": "string",
      "description": "Diet: vegetarian, vegan, pescatarian or halal."
    },
    "goal": {
      "type": "string",
      "description": "Goal: high protein, low carb, budget, quick or high fibre."
    },
    "meal": {
      "type": "string",
      "description": "Meal: breakfast, lunch, dinner or snack."
    },
    "country": {
      "type": "string",
      "description": "Two-letter country code for the shop links (US, GB and IE get local Amazon links). Default from the request."
    }
  },
  "additionalProperties": false
}
get_meal_ideas annotations
{
  "title": "Simple meal ideas by goal, diet and meal, with rough macros",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-06: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
421 ms
95th percentile latency
421 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 421 ms · metadata changed · 3 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http plate-pal-mcp https://goodturn-mcp.pages.dev/platepal/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add plate-pal-mcp --url https://goodturn-mcp.pages.dev/platepal/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable plate-pal-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "plate-pal-mcp": {
      "url": "https://goodturn-mcp.pages.dev/platepal/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "plate-pal-mcp": {
      "type": "streamableHttp",
      "url": "https://goodturn-mcp.pages.dev/platepal/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start plate-pal-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "plate-pal-mcp": {
      "type": "http",
      "url": "https://goodturn-mcp.pages.dev/platepal/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http plate-pal-mcp https://goodturn-mcp.pages.dev/platepal/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://goodturn-mcp.pages.dev/platepal/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "plate-pal-mcp": {
      "serverUrl": "https://goodturn-mcp.pages.dev/platepal/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Good Turn Studio Plate Pal MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.