added all mcp
This commit is contained in:
49
mealie-mcp-bundle/server/mealie/food.py
Normal file
49
mealie-mcp-bundle/server/mealie/food.py
Normal file
@@ -0,0 +1,49 @@
|
||||
import logging
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
logger = logging.getLogger("mealie-mcp")
|
||||
|
||||
|
||||
class FoodMixin:
|
||||
"""Mixin for Mealie food and unit API operations."""
|
||||
|
||||
def get_foods(
|
||||
self,
|
||||
search: Optional[str] = None,
|
||||
page: Optional[int] = None,
|
||||
per_page: Optional[int] = None,
|
||||
) -> Dict[str, Any]:
|
||||
"""Get list of foods."""
|
||||
params = {}
|
||||
if search:
|
||||
params["search"] = search
|
||||
if page:
|
||||
params["page"] = page
|
||||
if per_page:
|
||||
params["perPage"] = per_page
|
||||
|
||||
logger.info({"message": "Retrieving foods", "parameters": params})
|
||||
return self._handle_request("GET", "/api/foods", params=params)
|
||||
|
||||
def get_units(self) -> Dict[str, Any]:
|
||||
"""Get list of all units."""
|
||||
logger.info({"message": "Retrieving units"})
|
||||
return self._handle_request("GET", "/api/units")
|
||||
|
||||
def create_food(self, name: str, description: Optional[str] = None) -> Dict[str, Any]:
|
||||
"""Create a new food item."""
|
||||
data = {"name": name}
|
||||
if description:
|
||||
data["description"] = description
|
||||
|
||||
logger.info({"message": "Creating food", "name": name})
|
||||
return self._handle_request("POST", "/api/foods", json=data)
|
||||
|
||||
def create_unit(self, name: str, abbreviation: Optional[str] = None) -> Dict[str, Any]:
|
||||
"""Create a new unit."""
|
||||
data = {"name": name}
|
||||
if abbreviation:
|
||||
data["abbreviation"] = abbreviation
|
||||
|
||||
logger.info({"message": "Creating unit", "name": name})
|
||||
return self._handle_request("POST", "/api/units", json=data)
|
||||
Reference in New Issue
Block a user