mealie-mcp
{"type":"text"}# mealie-mcp
Model Context Protocol 서버로, 자체 호스팅 레시피 관리자이자 식사 플래너인 Mealie를 위한 것입니다.
이 서버는 모델에 Mealie 인스턴스의 선별된 보기를 제공합니다: 재료와 단계가 포함된 레시피 검색 및 읽기, 웹사이트에서 새 레시피 가져오기, 태그와 카테고리 정리, 식사 계획 수립, 해당 계획에서 쇼핑 목록 작성, 그리고 실제로 조리된 내용 기록 등이 가능합니다.
📖 전체 문서는 mealie-mcp.ni-c.de에서 확인하세요

Mealie의 REST API는 175개의 경로에 걸쳐 259개의 작업을 제공합니다. 이 서버는 52개의 도구를 노출하며, 일반적인 작업은 한 번의 호출로 처리되고 위험한 영역은 전혀 접근할 수 없도록 선택되었습니다. Mealie v3.22.0에서 검증되었습니다. 모든 요청 형태의 진실 공급원은 게시된 문서(여러 곳에서 최신 정보가 아님)가 아니라 실행 중인 인스턴스의 GET /openapi.json입니다.
요구 사항
Node.js 22 이상
Mealie 인스턴스 및 설정 → API 토큰에서 발급받은 API 토큰
Related MCP server: Blender Open MCP
설정
변수 | 필수 | 설명 |
| 예 | 기본 URL, 예: |
| 예 | 설정 → API 토큰에서 발급받은 토큰입니다. 생성한 사용자로 작동합니다. |
| 아니오 | 정확히 |
| 아니오 | 예: |
| 아니오 | 정확히 |
두 불리언 값은 리터럴 문자열 true와 비교되므로, 오타가 있으면 꺼짐 상태로 유지됩니다. stderr의 시작 줄에서 적용 중인 모드를 확인할 수 있습니다.
토큰은 읽힌 후 프로세스 환경에서 제거되므로, 하위 프로세스가 /proc/<pid>/environ에서 이를 가져올 수 없습니다.
설치
Claude Desktop 또는 JSON 설정을 사용하는 모든 MCP 클라이언트:
{
"mcpServers": {
"mealie": {
"command": "npx",
"args": ["-y", "@ni-c/mealie-mcp"],
"env": {
"MEALIE_URL": "https://mealie.example.com",
"MEALIE_API_TOKEN": "…"
}
}
}
}claude mcp add mealie \
-e MEALIE_URL=https://mealie.example.com \
-e MEALIE_API_TOKEN=… \
-- npx -y @ni-c/mealie-mcpCodex (~/.codex/config.toml):
[mcp_servers.mealie]
command = "npx"
args = ["-y", "@ni-c/mealie-mcp"]
[mcp_servers.mealie.env]
MEALIE_URL = "https://mealie.example.com"
MEALIE_API_TOKEN = "…"또는 컨테이너로:
docker run --rm -i \
-e MEALIE_URL=https://mealie.example.com \
-e MEALIE_API_TOKEN=… \
ghcr.io/ni-c/mealie-mcp도구를 대화형으로 사용해 보려면:
npx @modelcontextprotocol/inspector npx -y @ni-c/mealie-mcp도구
레시피 — search_recipes, get_recipe, suggest_recipes, create_recipe,
update_recipe, duplicate_recipe, set_recipe_last_made, delete_recipe 🔒
가져오기 — preview_recipe_url (드라이 런, 아무것도 저장하지 않음), import_recipe_from_url,
import_recipe_from_html_or_json, import_recipe_from_image
정리 — list_organizers, create_organizer, update_organizer,
delete_organizer 🔒 — 각각 kind: tag | category | tool을 받습니다.
재료 — list_foods, create_food, merge_foods 🔒, list_units,
create_unit, merge_units 🔒, parse_ingredients
식사 계획 — list_mealplans, get_todays_meals, create_mealplan_entry,
create_random_meal, update_mealplan_entry, delete_mealplan_entry 🔒
쇼핑 — list_shopping_lists, get_shopping_list, create_shopping_list,
delete_shopping_list 🔒, add_shopping_list_items, update_shopping_list_items,
delete_shopping_list_items 🔒, add_recipe_to_shopping_list,
remove_recipe_from_shopping_list
요리책 — list_cookbooks, get_cookbook, create_cookbook,
delete_cookbook 🔒
노트 및 공유 — set_recipe_rating, add_recipe_comment,
delete_recipe_comment 🔒, list_recipe_comments, list_recipe_timeline,
create_timeline_event, list_share_tokens, create_share_token 🔒,
delete_share_token
인스턴스 — get_about
🔒 확인 토큰이 필요합니다: 한 번 호출하여 토큰을 받은 후, 다시 호출하여 사용합니다.
레시피는 모든 곳에서 슬러그 또는 UUID로 지정할 수 있습니다. Mealie는 두 식별자 공간을 분할하며, 도구는 제공된 것을 해석합니다.
의도적으로 노출하지 않은 항목
/api/admin 아래의 모든 것 (백업, 복원, 유지보수, 사용자, 그룹 및 가구 관리, 이메일, AI 공급자 설정), /api/users/api-tokens (API 자격 증명을 생성하는 도구는 권한 상승 표면입니다), 인증 경로, 사용자 CRUD 및 비밀번호, 웹훅, 이벤트 알림 및 레시피 작업 (세 가지 모두 인스턴스에서 아웃바운드 HTTP를 트리거합니다), 식사 계획 규칙, 마이그레이션, 시더, 초대장, 대량 내보내기 및 ZIP 다운로드, 자산 및 이미지 업로드.
PUT /api/recipes/{slug}도 노출되지 않습니다. 이는 33개 필드의 레시피 객체 전체를 대체하므로, 부분 업데이트를 통해 재료, 단계 및 태그가 자동으로 삭제됩니다. update_recipe는 PATCH를 사용합니다.
안전
인스턴스 콘텐츠는 신뢰할 수 없는 입력입니다. 레시피는 일반적으로 임의의 웹사이트에서 스크래핑되고 댓글은 다른 사용자로부터 오므로, 인스턴스 콘텐츠를 포함할 수 있는 모든 도구 결과에는 모델이 이를 데이터로 처리하도록 명시적인 표시자가 접두사로 붙습니다. 이는 가져오기 후에도 중요합니다. 텍스트는 데이터베이스에 남아
get_recipe를 통해 다시 반환됩니다.가져오기 도구는 Mealie가 가져오도록 하며, 이 서버가 가져오지 않습니다. URL은 공개
http/https주소로 제한됩니다. 루프백, 사설 범위, 링크-로컬 및.lan/.internal/.local호스트는 거부됩니다.확인 프롬프트는 업스트림 텍스트를 인용하지 않습니다. ID, 개수 및 플래그만 포함됩니다.
응답은 제한됩니다. 크기가 큰 결과는 JSON 중간을 자르는 대신 전체 항목을 삭제하며, 응답 본문은 8MB를 초과하여 읽히지 않습니다.
리디렉션은 거부되므로 토큰이 다른 호스트로 다시 전송될 수 없습니다.
신뢰 모델 및 취약점 신고 방법은 SECURITY.md를 참조하세요.
개발
npm install && npm test && npm run buildscripts/verify-live.mjs는 임시 Mealie 인스턴스에 대해 52개 도구를 모두 실행합니다. 설정 방법은 CONTRIBUTING.md에 나와 있습니다.
아키텍처 다이어그램과 소셜 카드는 docs/assets/architecture.source.svg 및 docs/assets/og.json에서 npm run assets를 통해 렌더링됩니다. CI는 렌더링된 복사본이 수동으로 편집된 경우 실패합니다.
릴리스
모든 것은 태그에 의해 구동되며, 수동 게시 단계는 없습니다.
CHANGELOG.md의
[Unreleased]섹션을 새 버전으로 이동하고 날짜를 지정합니다. 릴리스 워크플로는awk로 해당 섹션을 추출하므로## [x.y.z]제목 형식이 중요합니다.package.json의version을 업데이트합니다.npm run lint && npm run build && npm run test:coverage를 실행합니다.커밋한 후, 서명된 주석 태그를 만듭니다:
git tag -s v0.1.1 -m "v0.1.1" git push origin main v0.1.1
release.yml은 태그가 package.json과 일치하는지 확인하고, Trusted Publishing(OIDC — 유출될 npm 토큰 없음)을 통해 증명과 함께 npm에 게시하며, 버전을 두 server.json 패키지 항목에 동기화하고, MCP 레지스트리에 게시한 후, 변경 로그 섹션에서 GitHub 릴리스를 생성합니다. ci.yml은 멀티 아키텍처 컨테이너 이미지를 GHCR에 병렬로 푸시합니다.
라이선스
MIT
Maintenance
Related MCP Servers
- Flicense-qualityDmaintenanceA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.23
- Flicense-qualityCmaintenanceA server that integrates Blender with local AI models via the Model Context Protocol, allowing users to control Blender using natural language prompts for 3D modeling tasks.111
- Alicense-qualityDmaintenanceA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.1011MIT
- Alicense-qualityBmaintenanceA Model Context Protocol (MCP) server implementation that enables AI assistants to interact with Anytype's API through natural language, allowing users to manage their knowledge base through conversation.1,112500MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ni-c/mealie-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server