Public MCP server for the Edamam Food Database API

Nutrition and food logging for AI applications

Feed your AI powered agent project with nutrition information from Edamam.

  • Nutrition from plain language
  • Food image analysis
  • UPC/EAN barcode lookup
Production endpoint https://mcp.edamam.com/mcp/food
Transport
Streamable HTTP
Tools
Nutrition + Vision
Auth
Bearer app_id:app_key

Starting at

$14/ month

Food MCP is included with Edamam Food Database API plans, with volume, rate limits, and Vision capacity that scale from pilot builds to production workloads.

Basic Vision 100,000 calls/month
$14
Plus 5,000,000 calls/month
$299
Compare plans

Why Food MCP

Food APIs are built for apps. MCP makes them useful inside agent workflows.

Edamam Food MCP turns the Food Database API into a small set of LLM-friendly tools. The agent keeps the conversation natural, while the server handles food parsing, quantity resolution, UPC lookup, nutrition calculation, and image-based dish analysis.

01

One endpoint for agents

Use a single MCP endpoint for initialize, tools/list, and tools/call. No custom adapter layer for every assistant or automation tool.

02

Nutrition from plain language

Send phrases like "cheddar cheese", "1 cup cooked rice", "200g chicken breast", or a UPC/EAN barcode.

03

Food image analysis

Provide a public image URL or base64 data URI and return detected food plus nutrition estimates from Edamam's Vision API.

In conversation

The agent asks naturally. The MCP server returns structured nutrition.

User

I had a chicken enchilada and a French onion soup with a slice of bread for lunch. How many calories in this

Agent

Based on the nutrition data provided (1 whole serving each):

Calories (lunch total)

  • Chicken enchilada (1 whole): 503.7 kcal
  • French onion soup (1 whole): 395.6 kcal
  • Bread (1 slice): 79.5 kcal

Total calories: 978.7 kcal (approx 979 kcal)

get_food_nutrition({
  "queries": ["1 chicken enchilada", "1 French onion soup", "1 slice of bread"]
})
User

Give me macro breakdown and what diets is this good for?

Agent

Macro breakdown (whole lunch)

  • Protein: 53.0 g
  • Carbs: 81.8 g
  • Fat: 47.8 g

Diet fit: Best for a general omnivorous/balanced diet. This meal is not a strong fit for keto/low-carb, low-fat, low-sodium, vegan, vegetarian, gluten-free, or dairy-free eating patterns (includes wheat/gluten and milk cautions in the returned items).

MCP Agent Nutrition Assistant Demo

Look up nutrition facts for one or more foods described in plain text. Identify food in a image and return a full nutritional breakdown.

Quick start

Connect your MCP client in minutes.

Add the server URL to your client and pass Edamam credentials as a bearer token. Discovery can connect first; actual tool calls require an Edamam Food Database API app_id and app_key.

.cursor/mcp.json
{
  "mcpServers": {
    "edamam-food": {
      "url": "https://mcp.edamam.com/mcp/food",
      "headers": {
        "Authorization": "Bearer <app_id>:<app_key>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "edamam-food": {
      "type": "http",
      "url": "https://mcp.edamam.com/mcp/food",
      "headers": {
        "Authorization": "Bearer <app_id>:<app_key>"
      }
    }
  }
}
terminal
claude mcp add --transport http edamam-food \
  https://mcp.edamam.com/mcp/food \
  --header "Authorization: Bearer <app_id>:<app_key>"
stdio bridge
{
  "mcpServers": {
    "edamam-food": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.edamam.com/mcp/food",
        "--header",
        "Authorization: Bearer <app_id>:<app_key>"
      ]
    }
  }
}

Tool surface

Two production tools, tuned for food questions.

The FastMCP server keeps the agent surface intentionally compact. Search, parsing, UPC recognition, and nutrient calculation are handled inside the nutrition tool; photos use a dedicated Vision tool.

tool

get_food_nutrition

Text or barcode

Look up calories, macros, diet labels, health labels, cautions, total nutrients, daily values, and resolved ingredient data for one or more foods.

ArgumentTypeRequiredDescription
querieslist[string]YesOne phrase per food item, such as "1 cup rice", "200g chicken breast", or "049000042566".
Example JSON-RPC call
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "get_food_nutrition",
    "arguments": {
      "queries": ["1 croissant", "1 egg"]
    }
  },
  "id": 3
}
tool

analyze_food_image

Image URL or base64

Identify food in a photograph and return the detected item, quantity, measure, ingredient lines, calories, labels, cautions, and full nutrient breakdown.

ArgumentTypeRequiredDescription
imagestringYesA public http/https URL or data:image/... base64 URI.
Example JSON-RPC call
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "analyze_food_image",
    "arguments": {
      "image": "https://example.com/plate.jpg"
    }
  },
  "id": 4
}

Authentication

Use your Edamam credentials without storing them on the MCP server.

Tool calls use the Food Database API credentials supplied by the caller. Send a bearer token with the app_id and app_key joined by a colon.

HTTP header
Authorization: Bearer <app_id>:<app_key>
For self-hosting: set EDAMAM_APP_ID and EDAMAM_APP_KEY as fallback credentials, or require every caller to pass the Authorization header.

Developer documentation

Everything needed to test, self-host, and integrate.

The public endpoint is for immediate MCP clients. The GitHub repository contains the FastMCP server, shared auth and logging code, pytest coverage, deployment notes, and examples for direct JSON-RPC calls.

1

Initialize

Client sends initialize to negotiate capabilities and receives an MCP-Session-Id.

2

Discover tools

Client calls tools/list and receives schemas for get_food_nutrition and analyze_food_image.

3

Call tools

Client sends tools/call with the session id and Edamam bearer credentials.

API coverage

Mapped to the Food Database API paths agents need most.

Food Database capabilityMCP mappingStatus
Parser search by food name or UPCInternal step in get_food_nutritionAvailable
Nutrients endpointget_food_nutritionAvailable
Nutrients from imageanalyze_food_imageAvailable
Autocomplete and browse filtersNot exposed as MCP toolsOut of scope

Plans

Included with Edamam Food Database API plans.

Edamam lists Food MCP as included with Food Database API plans. Choose the plan by API volume, Vision usage, throttling, caching rights, and support needs.

Enterprise
Basic Vision

$14 / month

  • 100,000 calls/month
  • 50 food and nutrition calls/min
  • 500 Vision requests/month
  • 30 day trial period

Enterprise
Plus

$299 / month

  • 5,000,000 calls/month
  • 300 food and nutrition calls/min
  • 10,000 Vision requests/month
  • Email and phone support

Plan details change over time. Confirm current prices, quotas, caching rights, and terms on the Edamam Food Database API page before launch.

Security and usage

Read-only food data, with API-key responsibility at the client edge.

Keep app keys private

Never commit app_key values to source control or paste them into shared prompts. Treat them like passwords.

Human initiated usage

Edamam API terms restrict automated collection, scraping, or building a copy of returned data.

Attribution required

When showing Edamam nutrition data to end users, display the required Edamam attribution and link.

Informational output

Nutrition and Vision results should be presented as estimates for product use, not as medical or dietary advice.

FAQ

Common setup questions.

Do I need Edamam API keys before connecting an MCP client?

You can connect to the public Food MCP endpoint and discover available tools first. To run actual tool calls, you need an Edamam Food Database API app_id and app_key sent as a Bearer token.

How do I subscribe to a Food MCP plan?

Choose a Food Database API plan from the pricing section or the signup modal, create your API account, and then log in to complete the next billing step for API access.

Does the server store my Edamam credentials?

No. Public-client calls pass credentials in the Authorization header. Self-hosted deployments may set environment variables as fallback credentials.

Why is there no standalone search_food tool?

The current FastMCP implementation resolves food search internally inside get_food_nutrition. A separate search-only tool can be added later if user workflows need browse-style results.