food-recipe-mcp

Semantic search across 50,000+ food recipes with hybrid retrieval and reranking.

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
95%
Naming quality
90%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~847Tokens (tool definitions)
~2.1 KBTypical response size
Moderate attention impact (0.66% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "food-recipe-mcp": {
      "url": "https://recipes.aidatanorge.no/mcp"
    }
  }
}

Remote endpoints

https://recipes.aidatanorge.no/mcpsse
https://recipes.aidatanorge.no/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒ping(name)

Simple connectivity test. Returns a greeting to confirm the server is running.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "default": "world",
      "description": "Arbitrary label included in the response, e.g. 'healthcheck'",
      "type": "string"
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟒search_recipes(query, diet, max_minutes, difficulty, servings, ...)

Search a database of recipes using hybrid semantic search (dense + sparse) with reranking. The database contains ~50,000 recipes from Food.com covering a wide range of cuisines, meal types, and cooking styles. Recipes include nutritional information, difficulty ratings, and user ratings. Use natural language in the query to describe what you are looking for β€” cuisine, style, main ingredient, occasion, or mood all work well. Norwegian and English are both supported natively. Examples: 'quick Italian pasta for weeknight dinner' 'Swedish meatballs with gravy' 'healthy high-protein chicken bowl' 'easy chocolate cake for beginners' 'something with salmon and lemon' 'Indian curry chicken' 'traditional Norwegian kjΓΈttkaker' 'hurtig pasta med kylling' 'enkel sjokoladekake' Args: query: What you are looking for β€” describe the dish, cuisine, main ingredient, cooking style or mood freely. Any language is supported. diet: Optional β€” filter by dietary requirement: 'vegetarian', 'vegan', 'gluten-free', 'dairy-free', 'low-carb', 'keto', 'paleo' max_minutes: Optional β€” maximum total time in minutes, e.g. 30 difficulty: Optional β€” 'easy', 'medium' or 'hard' servings: Optional β€” not used for filtering (servings vary), but include in query for scaling context, e.g. 'pasta dish for 6 people' limit: Number of results to return after reranking (default 5, max 20) Returns: List of recipes ranked by relevance. Each result includes rerank_score, rrf_score (hybrid fusion), title, total_time, difficulty, diet labels, ingredients, instructions, nutrition, rating, and source URL context.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Natural language description of what you want, e.g. 'quick Italian pasta' or 'enkel sjokoladekake'",
      "type": "string"
    },
    "diet": {
      "default": "",
      "description": "Optional dietary filter: vegetarian, vegan, gluten-free, dairy-free, low-carb, keto, or paleo",
      "type": "string"
    },
    "max_minutes": {
      "default": 0,
      "description": "Optional maximum total cooking time in minutes, e.g. 30. Use 0 for no limit",
      "type": "integer"
    },
    "difficulty": {
      "default": "",
      "description": "Optional difficulty filter: easy, medium, or hard",
      "type": "string"
    },
    "servings": {
      "default": 0,
      "description": "Not used for filtering β€” include serving size context in query instead, e.g. 'pasta for 6 people'",
      "type": "integer"
    },
    "limit": {
      "default": 5,
      "description": "Number of results to return after reranking (1–20, default 5)",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools
failed observationversion not recordedβ€”
verifiedversion not recorded2 tools
failed observationversion not recordedβ€”
verifiedversion not recorded2 tools