MealViewer MCP服务器

模型上下文协议(MCP)服务器 MealViewer 学校午餐菜单。使Claude和其他MCP客户端能够通过自然语言查询学校午餐菜单。
特性
- 📅 获取今天的菜单:查询任何学校今天的午餐菜单
- 📆 获取具体日期:获取任何特定日期的菜单
- 🗓️ 获取周菜单:获取一周(周一至周五)的菜单
- 🤖 克劳德集成:使用自然语言查询学校菜单
- 📦 TypeScript:使用TypeScript实现完全类型安全
- ✅ 公共API:不需要身份验证
安装
通过npm(推荐)
npm install -g @brandcast/mealviewer-mcp-server通过npx(无需安装)
npx @brandcast/mealviewer-mcp-server来源
git clone https://github.com/BrandCast-Signage/mealviewer-mcp-server.git
cd mealviewer-mcp-server
npm install
npm run build配置
克劳德桌面
添加到您的Claude Desktop配置文件中:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mealviewer": {
"command": "npx",
"args": ["-y", "@brandcast/mealviewer-mcp-server"]
}
}
}或者,如果全局安装:
{
"mcpServers": {
"mealviewer": {
"command": "mealviewer-mcp-server"
}
}
}可选:启用调试日志记录
{
"mcpServers": {
"mealviewer": {
"command": "npx",
"args": ["-y", "@brandcast/mealviewer-mcp-server"],
"env": {
"DEBUG": "true"
}
}
}
}可用工具
服务器公开了三个MCP工具:
mealviewer_get_menu
获取特定学校和日期的菜单。
参数:
school_name(必填):学校标识符(例如。,"ElmwoodElementary")date(可选):YYYY-MM-DD格式的日期(默认为今天)
例子:
User: What's for lunch at Elmwood Elementary on January 15th?
Claude: [Uses mealviewer_get_menu]mealviewer_get_today_menu
获取今天学校的菜单。
参数:
school_name(必填):学校标识符
例子:
User: What's for lunch today at Elmwood Elementary?
Claude: [Uses mealviewer_get_today_menu]mealviewer_get_week_menu
获取学校本周(周一至周五)的菜单。
参数:
school_name(必填):学校标识符
例子:
User: Show me this week's lunch menu for Elmwood Elementary
Claude: [Uses mealviewer_get_week_menu]查找学校名称
学校标识符通常是CamelCase,没有空格。要查找学校的标识符:
- 访问https://www.mealviewer.com
- 搜索您的学区
- 选择您的学校
- 检查URL或页面源以查找学校标识符
- 示例:
- “埃尔姆伍德小学”→ ElmwoodElementary - “林肯中学”→ LincolnMiddleSchool - “华盛顿高中”→ WashingtonHighSchool
用法示例
使用克劳德桌面
配置后,您可以通过自然语言与学校菜单进行交互:
查看今天的菜单:
You: What's for lunch today at Elmwood Elementary?
Claude: [Displays today's menu with all meal items]查看具体日期:
You: What will they serve at Lincoln Middle School next Monday?
Claude: [Shows menu for next Monday]查看整周:
You: Show me this week's lunch menus for Washington High School
Claude: [Displays Monday-Friday menus]检查具体项目:
You: Is pizza on the menu this week at Elmwood Elementary?
Claude: [Checks week's menus and reports if/when pizza is served]营养问题:
You: What are the healthiest options for lunch today at Lincoln?
Claude: [Reviews menu and suggests healthiest items]输出示例
# Elmwood Elementary
123 Main Street, Springfield
## Monday, January 13, 2025
### Lunch
**Main Entree Line:**
- Cheese Pizza - 2 slices
_Hand-tossed pizza with mozzarella cheese_
- Chicken Tenders - 3 pieces
_Crispy breaded chicken tenders_
**Vegetable Bar:**
- Garden Salad - 1 cup
- Steamed Broccoli - 1/2 cup
**Fruit Bar:**
- Fresh Apple - 1 ea
- Orange Slices - 1 cup
**Milk:**
- 1% White Milk - 8 oz
- Chocolate Milk - 8 oz发展
建筑
npm install
npm run build类型检查
npm run type-check本地测试
npm run build
node dist/index.js服务器将启动并等待stdin/stdout上的MCP协议消息。
MCP检验员测试
npx @modelcontextprotocol/inspector npx -y @brandcast/mealviewer-mcp-server建筑
此MCP服务器构建于:
- @brandcast_app/面包查看器api客户端 -MealViewer的API客户端
- @模型上下文协议/sdk -官方MCP SDK
故障排除
服务器未启动
- 确保已安装Node.js>=18.0.0:
node --version - 检查配置文件语法(必须是有效的JSON)
- 验证服务器路径/命令是否正确
- 启用调试模式:
"DEBUG": "true"
未找到学校
- 验证学校标识符是否正确(查看MealViewer网站)
- 标识符区分大小写
- 尝试删除空格并使用CamelCase
工具未出现在Claude中
- 配置更改后重新启动Claude Desktop
- 检查Claude Desktop日志是否有错误
- 验证配置文件中的JSON语法
用例
- 📱 家庭信息显示
- 🏫 学区聊天机器人
- 📧 家长通知系统
- 🤖 教育助理
- 📊 菜单跟踪和分析
相关项目
- 面包查看器api客户端 -底层API客户端
- 模型上下文协议 -了解有关MCP的更多信息
- Family Cast -家庭信息显示
贡献
欢迎投稿!请随时提交拉取请求。
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
支持
更新日志
1.0.0(初始版本)
- ✨ 初步实施
- 📅 按日期获取菜单
- 🗓️ 获取每周菜单
- 🤖 Claude桌面集成
- 📦 完全支持TypeScript
