Skip to main content
Glama
README.md
# nutrients-mcp

Give your AI assistant the ability to analyze food images and look up nutrition data for any food — calories, macros, vitamins, minerals, allergens, and dietary flags in under 1 second — powered by [TastyAPI](https://tastyapi.com). Much faster and more accurate than Gemini and GPT-4 Vision (4-10 seconds).

## Requirements

- Node.js 18+
- A TastyAPI API key — [get one at tastyapi.com/pricing](https://tastyapi.com/pricing)

## Quick Start

### Claude Code

```bash
claude mcp add nutrients -- npx -y nutrients-mcp
```

Then set your API key in the server's environment config:

```
TASTYAPI_KEY=YOUR_API_KEY
```

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "nutrients": {
      "command": "npx",
      "args": ["-y", "nutrients-mcp"],
      "env": { "TASTYAPI_KEY": "YOUR_API_KEY" }
    }
  }
}
```

### Cursor / Windsurf

Add to your `mcp.json`:

```json
{
  "mcpServers": {
    "nutrients": {
      "command": "npx",
      "args": ["-y", "nutrients-mcp"],
      "env": { "TASTYAPI_KEY": "YOUR_API_KEY" }
    }
  }
}
```

## Tools

### `analyze_food_image`

Fetches a food image from a public URL and returns a full nutritional breakdown.

| Parameter   | Type   | Required | Description                           |
|-------------|--------|----------|---------------------------------------|
| `image_url` | string | yes      | Public URL of a food image to analyze |

**Example prompt:**
> "What are the macros in this meal? https://example.com/pasta.jpg"

**Example output:**
```json
{
  "food_name": "Pasta Bolognese",
  "calories": 520,
  "macros": {
    "protein_g": 24,
    "carbohydrates_g": 68,
    "fat_g": 16,
    "fiber_g": 4
  },
  "vitamins": { "vitamin_c_mg": 8, "vitamin_b12_mcg": 1.4 },
  "minerals": { "iron_mg": 3.2, "calcium_mg": 60 },
  "allergens": ["gluten", "dairy"],
  "dietary": { "vegan": false, "vegetarian": false, "gluten_free": false }
}
```

---

### `analyze_food`

Returns a full nutritional breakdown for a food item by name or description. No image required.

| Parameter   | Type   | Required | Description                                                   |
|-------------|--------|----------|---------------------------------------------------------------|
| `food_name` | string | yes      | Name or description of the food (e.g. `"oatmeal with banana, 1 cup"`) |

**Example prompt:**
> "How many calories are in a large avocado?"

**Example output:**
```json
{
  "food_name": "Large Avocado",
  "calories": 322,
  "macros": {
    "protein_g": 4,
    "carbohydrates_g": 17,
    "fat_g": 29,
    "fiber_g": 13
  },
  "vitamins": { "vitamin_k_mcg": 42, "folate_mcg": 163 },
  "minerals": { "potassium_mg": 975, "magnesium_mg": 58 },
  "allergens": [],
  "dietary": { "vegan": true, "vegetarian": true, "gluten_free": true }
}
```

## Pricing

- **$0.015 per request** + $5/month base fee (usage-based)
- Or choose a flat-rate plan: Monthly ($29/mo · 5k calls) or Professional ($69/mo · 15k calls)

See [tastyapi.com/pricing](https://tastyapi.com/pricing) for full details.

## License

MIT — © EB Tech LLC

TDQS

A4/5.0

Scored across 2 tools

Disambiguation4/5

Both tools analyze food and return similar nutritional data, but they are clearly distinguished by input type: one requires an image URL and the other a text name/description. The descriptions make this distinction explicit, so an agent should be able to select the correct tool without confusion.

Naming Consistency5/5

The tools follow a consistent verb_noun pattern: 'analyze_food' and 'analyze_food_image'. The naming is predictable and clearly indicates a shared core function with a specific modifier for the image variant.

Tool Count3/5

With only two tools, the server feels thin for the domain of nutritional analysis. While both tools are useful, the minimal count limits the server's overall utility and makes it borderline appropriate for its stated purpose.

Completeness4/5

The two tools cover the two primary input methods for analyzing a food item: image and text description. However, there are minor gaps, such as no batch analysis or retrieval of nutritional data by food ID, but the core workflow of analyzing a single food item is fully supported.

Maintenance

ActivitySlowing
ResponsivenessNo issues