Skip to main content
Glama

AIDataNordic — Food Recipe MCP

AI 에이전트를 위해 Model Context Protocol(MCP)을 사용하여 구축된 요리 레시피용 프로덕션급 시맨틱 검색 서버입니다. 하이브리드 밀집(dense) + 희소(sparse) 검색 및 크로스 인코더 리랭킹을 통해 50,000개 이상의 레시피를 검색할 수 있습니다.


소개

시맨틱 검색을 통해 레시피 데이터셋을 노출하는 자체 호스팅 MCP 서버입니다. 에이전트는 자연어로 쿼리하고 식단, 난이도, 시간, 인분 수별로 필터링할 수 있으며, 재료, 조리법, 영양 정보를 포함한 순위가 매겨진 구조화된 레시피 데이터를 반환받을 수 있습니다.

HTTP를 통한 FastMCP 3.2를 사용하여 자율적인 기계 간 통신을 위해 설계되었습니다.


아키텍처

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

데이터 범위

필드

세부 정보

총 레시피 수

50,000개 이상

출처

food.com 및 기타

필드

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

식단 태그

vegetarian, vegan, gluten-free, dairy-free

난이도

easy, medium, hard


기술 스택

검색

  • 밀집 임베딩: intfloat/e5-large-v2 (1024 dim)

  • 희소 임베딩: fastembed를 통한 Qdrant/bm25

  • 융합: Qdrant의 RRF(Reciprocal Rank Fusion)

  • 리랭커: cross-encoder/mmarco-mMiniLMv2-L12-H384-v1

서빙

  • HTTP를 통한 FastMCP 3.2 (/mcp 엔드포인트)

  • Claude, LangChain 및 모든 MCP 호환 에이전트와 호환

인프라

  • Ubuntu Server 24 LTS, 자체 호스팅

  • Qdrant 벡터 데이터베이스 (자체 호스팅)


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

응답 예시

[
  {
    "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
  }
]

퀵스타트

1. 의존성 설치

pip install -r requirements.txt

2. 서버 시작

python recipe_mcp_server.py

서버가 http://localhost:8004/mcp에서 시작됩니다.

3. 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. Claude Desktop으로 연결

claude_desktop_config.json에 다음을 추가하세요:

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

라이브 데모

recipes.aidatanorge.no에서 검색 인터페이스를 사용해 보세요.


파일

파일

설명

recipe_mcp_server.py

하이브리드 검색을 포함한 FastMCP 서버

mcp_client.py

파이썬 클라이언트 예시

requirements.txt

파이썬 의존성


자율 에이전트를 위한 자체 호스팅 AI 데이터 인프라인 AIDataNordic의 일부로 구축 및 운영됩니다.

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