Skip to main content
Glama

AIDataNordic — Food Recipe MCP

Un servidor de búsqueda semántica de nivel de producción para recetas de cocina, diseñado para agentes de IA utilizando el Protocolo de Contexto de Modelo (MCP). Busca entre más de 50.000 recetas con recuperación híbrida densa + dispersa y reordenamiento mediante cross-encoder.


Qué es esto

Un servidor MCP autohospedado que expone un conjunto de datos de recetas a través de búsqueda semántica. Los agentes pueden realizar consultas en lenguaje natural, filtrar por dieta, dificultad, tiempo y porciones, y obtener datos de recetas estructurados y clasificados, incluyendo ingredientes, instrucciones y nutrición.

Diseñado para el consumo autónomo máquina a máquina a través de FastMCP 3.2 sobre HTTP.


Arquitectura

Query (natural language)
        ↓
  Dense embedding          Sparse embedding
  (e5-large-v2)            (BM25 / fastembed)
        ↓                        ↓
       Qdrant — Hybrid Fusion (RRF)
                    ↓
          Cross-encoder reranking
          (mmarco-mMiniLMv2-L12-H384-v1)
                    ↓
          Structured JSON response
                    ↓
           MCP tool / AI agent

Cobertura de datos

Campo

Detalles

Total de recetas

50.000+

Fuente

food.com y otros

Campos

title, description, ingredients, instructions, nutrition, rating, difficulty, diet, total_time, servings

Etiquetas de dieta

vegetarian, vegan, gluten-free, dairy-free

Dificultad

easy, medium, hard


Stack técnico

Búsqueda

  • Embeddings densos: intfloat/e5-large-v2 (1024 dim)

  • Embeddings dispersos: Qdrant/bm25 vía fastembed

  • Fusión: Reciprocal Rank Fusion (RRF) en Qdrant

  • Reranker: cross-encoder/mmarco-mMiniLMv2-L12-H384-v1

Servicio

  • FastMCP 3.2 sobre HTTP (endpoint /mcp)

  • Compatible con Claude, LangChain y cualquier agente compatible con MCP

Infraestructura

  • Ubuntu Server 24 LTS, autohospedado

  • Base de datos vectorial Qdrant (autohospedada)


Herramienta MCP

search_recipes(
    query="quick chicken pasta",       # required — natural language
    diet="vegetarian",                 # optional: vegetarian, vegan, gluten-free, dairy-free
    difficulty="easy",                 # optional: easy, medium, hard
    max_minutes=30,                    # optional: maximum total time in minutes
    servings=4,                        # optional: number of servings
    limit=5                            # optional: number of results (default 5)
)
# Returns semantically ranked recipes with ingredients, instructions, nutrition, and ratings

Ejemplo de respuesta

[
  {
    "rerank_score": 7.96,
    "title": "quick and easy chicken pasta salad",
    "description": "great use for left-over chicken.",
    "total_time": 25,
    "difficulty": "medium",
    "diet": [],
    "main_ingredient": "chicken",
    "ingredients": ["cooked chicken", "pasta shells", "tomatoes", "italian dressing"],
    "instructions": ["combine ingredients", "pour dressing", "chill 1 hour"],
    "nutrition": {"calories": 424, "protein_g": 26, "carbs_g": 38.5, "fat_g": 19.5},
    "rating": 4.8,
    "rating_count": 5
  }
]

Inicio rápido

1. Instalar dependencias

pip install -r requirements.txt

2. Iniciar el servidor

python recipe_mcp_server.py

El servidor se inicia en http://localhost:8004/mcp

3. Conectar con el cliente FastMCP

import fastmcp, asyncio

async def main():
    async with fastmcp.Client("http://localhost:8004/mcp") as client:
        result = await client.call_tool("search_recipes", {
            "query": "quick chicken pasta",
            "max_minutes": 30,
            "limit": 3
        })
        for recipe in result.structured_content["result"]:
            print(recipe["title"], "-", recipe["total_time"], "min")

asyncio.run(main())

4. Conectar con Claude Desktop

Añadir a tu claude_desktop_config.json:

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

Demo en vivo

Prueba la interfaz de búsqueda en recipes.aidatanorge.no


Archivos

Archivo

Descripción

recipe_mcp_server.py

Servidor FastMCP con búsqueda híbrida

mcp_client.py

Ejemplo de cliente Python

requirements.txt

Dependencias de Python


Construido y operado como parte de AIDataNordic — infraestructura de datos de IA autohospedada para agentes autónomos.

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - A tier

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIDataNordic/Food-Recipe-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server