Skip to main content
Glama
ollieInstantOffr

FoodGen

FoodGen

저녁 식사 요청을 장보기 목록 + 레시피가 담긴 모바일 친화적인 페이지로 바꿔 주는 MCP 서버 — Apple Notater에 저장할 준비가 된 상태입니다.

«3인분 저녁 (성인 2명과 아이 1명), 축구 훈련 전에 빠르게, 생선 제외.»

Claude가 요리를 찾아 create_dinner_plan을 호출하고 다음과 같은 링크로 응답합니다. https://foodgen.instantoffr.com/n/Hxe7gVY_YYqRi2CCeZnV5g. 모바일에서:

  • 장보기 목록 — 매장 부서별로 그룹화, 매장에서 체크 가능 (기기에 저장됨)

  • 레시피 — 아래에 재료와 조리 단계

  • «Notater에 추가» → 공유 시트 → Notater가 전체를 불릿 목록 메모 하나로 저장합니다

  • …/n/<id>.txt는 순수 텍스트, …/n/<id>.json은 원시 데이터를 제공합니다

아키텍처

  • Node 24 + Express, MCP는 /mcp에서 Streamable HTTP로 제공 (무상태 — 세션 없음, 모든 것은 SQLite에 저장)

  • Docker 볼륨의 SQLite (node:sqlite, 네이티브 의존성 없음)

  • 모델이 레시피를 작성하고, 서버는 (zod로) 검증한 후 저장하고 게시합니다

  • 플랜 URL은 128비트 난수 — 추측할 수 없고 인덱싱되지 않으며, 이것이 전체 접근 제어입니다

MCP 인터페이스

create_dinner_plan

전체 플랜을 저장하고 링크를 반환합니다

search / fetch

ChatGPT 커넥터 계약 (검색 + 조회)

get_dinner_plan

플랜을 다시 읽습니다 (id 또는 URL)

list_recent_dinner_plans

최근 플랜, 최신순

delete_dinner_plan

플랜을 영구 삭제합니다

prompt /middag

«...인분 저녁» 바로가기

Related MCP server: Recipe Research MCP Server

실행

cp .env.example .env      # sjekk PUBLIC_URL
docker compose up -d --build

TLS와 프록시는 이미 실행 중이며 포트 2400으로 구성된 Nginx Proxy Manager가 처리합니다. 프록시 호스트에서 확인할 가치가 있는 한 가지: MCP 응답은 SSE로 스트리밍되므로 버퍼링이나 60초 읽기 타임아웃은 스트림을 끊을 수 있습니다. Websockets Support를 켜고, 필요하면 Advanced 탭에 다음을 추가하세요:

location /mcp {
    proxy_pass http://$server:$port;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Connection "";
    proxy_buffering off;
    proxy_cache off;
    proxy_read_timeout 3600s;
}

Docker 없이 로컬 개발:

PUBLIC_URL=http://localhost:2400 npm run dev

Claude 및 ChatGPT에 연결

  • Claude 앱 / claude.ai / Cowork: Settings → Connectors → Add custom connector → https://foodgen.instantoffr.com/mcp (인증 없음)

  • Claude Code: claude mcp add --transport http foodgen https://foodgen.instantoffr.com/mcp

  • ChatGPT: Settings → Connectors → 사용자 지정 MCP 커넥터를 같은 주소로 추가, 인증 없음. 서버는 OpenAI 계약에 따라 search/fetch를 노출하므로 일반 커넥터처럼 작동합니다(저장된 저녁 식사 검색/조회 및 deep research). Developer mode를 켜면 ChatGPT가 create_dinner_plan도 사용해 새 저녁 식사를 만들 수 있습니다.

https://foodgen.instantoffr.com의 시작 페이지에도 같은 지침이 표시됩니다.

테스트

docker compose up -d --build   # eller npm start
node test/e2e.mjs              # full MCP + HTTP-runde, 26 sjekker

환경 변수

변수

기본값

PUBLIC_URL

https://foodgen.instantoffr.com

공개 오리진; 링크는 이 값으로 생성됩니다

PORT

2400

컨테이너 내부의 HTTP 포트

BIND_ADDR

0.0.0.0

compose가 포트를 게시하는 주소

DB_PATH

/app/data/foodgen.db

SQLite 파일 (볼륨)

RETENTION_DAYS

0

N일보다 오래된 플랜 삭제 (0 = 삭제 안 함)

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables recipe search, storage, and meal planning using TheMealDB API. Provides comprehensive recipe discovery, automatic recipe collection management, and custom meal plan creation with detailed cooking instructions and ingredients.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Mealie for recipe management, meal planning, and shopping list operations. Supports searching and managing recipes, creating meal plans, and generating shopping lists from recipes or meal plans.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with local Apple Calendar, Notes, and Contacts on macOS. Provides tools for creating, reading, updating, and deleting events, notes, and contacts through natural language.
    MIT