UNPKG

howtocook-mcp

Version:

MCP Server for howtocook recipe database - 炫一周好饭,拒绝拼好饭

27 lines (26 loc) 964 B
import { readFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; import { dirname, join } from 'node:path'; // 获取本地JSON文件路径 const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); const LOCAL_RECIPES_PATH = join(__dirname, '../../all_recipes.json'); // 从本地文件加载菜谱数据,失败时抛出异常由调用方处理 export function fetchRecipes() { const data = readFileSync(LOCAL_RECIPES_PATH, 'utf-8'); const recipes = JSON.parse(data); if (!Array.isArray(recipes) || recipes.length === 0) { throw new Error(`菜谱数据为空或格式错误: ${LOCAL_RECIPES_PATH}`); } return recipes; } // 获取所有分类 export function getAllCategories(recipes) { const categories = new Set(); recipes.forEach((recipe) => { if (recipe.category) { categories.add(recipe.category); } }); return Array.from(categories); }