Canteen MCP
The Canteen MCP server provides a structured API to retrieve daily lunch menus from a canteen.
Retrieve Lunch Menus: Query the lunch menu for a specific date using the
get_lunch_menutool with a date string in 'YYYY-MM-DD' formatData Format: Returns menu data as a JSON string
Real-Time Communication: Utilizes httpStream-based transport for real-time data exchange
Type-Safe API: Ensures input validation with a defined schema for query parameters
Customizable Deployment: Can be configured and deployed via Docker, including support for GitHub Container Registry and Hetzner
Environment-Based Configuration: Allows setting up API URLs, ports, and endpoints through environment variables
Connects to a lunch menu API hosted on Vercel to retrieve daily canteen meal information for specific dates
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Canteen MCPwhat's for lunch on October 15th?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Canteen MCP
A Model Context Protocol (MCP) server that provides access to the canteen's lunch menu via a simple API integration.
Description
Canteen MCP is a FastMCP-based server that exposes a tool for retrieving daily lunch menus from the canteen. It connects to a menu API and provides a structured interface for querying menu data for specific dates.
Related MCP server: Strapi MCP Server
Features
Get lunch menu for any specific date
httpStream-based transport for real-time communication
Environment-based configuration
Type-safe API with input validation
Installation
npm installConfiguration
Copy the example environment file and update it with your values:
cp .env.example .envEnvironment Variables
Variable | Description | Example |
API_URL | URL of the lunch menu API | |
PORT | Port for the MCP server | 8080 |
ENDPOINT | HTTP endpoint | /endpoint |
Usage
Start the server:
npm startAvailable Tools
get_lunch_menu
Retrieves the lunch menu for a specific date.
Parameters:
date: String in YYYY-MM-DD format
Returns: JSON string containing the menu data
Example:
const result = await tool.execute({ date: "2024-10-05" });
Development
Prerequisites
Node.js >= 18
npm
Running in Development Mode
npm run devDocker
Building the Image
docker build -t canteen-mcp .Running the Container
docker run -d \
-p 8080:3000 \
-e API_URL=your_api_url \
-e PORT=3000 \
-e ENDPOINT=/http \
--name canteen-mcp \
canteen-mcpUsing GitHub Container Registry
Pull the latest image:
docker pull ghcr.io/[your-username]/canteen-mcp:latestDeployment
Deploying to Hetzner
SSH into your Hetzner server:
ssh root@your-server-ipInstall Docker if not already installed:
curl -fsSL https://get.docker.com | shCreate a docker-compose.yml file:
version: '3.8'
services:
canteen-mcp:
image: ghcr.io/c0dr/canteen-mcp:latest
restart: always
ports:
- "8080:3000"
environment:
- API_URL=your_api_url
- PORT=3000
- ENDPOINT=/httpStart the service:
docker-compose up -dLicense
This project is licensed under the MIT License - see the LICENSE file for details.
Available Tools
1 toolTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
get_lunch_menu
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool 'get_lunch_menu' has a clear and distinct purpose that cannot be confused with any other tool in this set.
Since there is only one tool, it inherently follows a consistent naming pattern. The tool name 'get_lunch_menu' uses a verb_noun structure, which is clear and predictable, though no comparison with other tools is possible.
A single tool is too few for a server named 'Canteen MCP', which suggests a broader scope related to canteen operations. This minimal set severely limits functionality, as it only allows retrieving the lunch menu without any other operations like ordering, payment, or menu management.
The tool set is severely incomplete for a canteen domain. It only provides a 'get' operation for the lunch menu, with no coverage for creating, updating, or deleting menu items, handling orders, payments, or other typical canteen workflows, leading to significant gaps that will cause agent failures.
Maintenance
Related MCP Connectors
Model Context Protocol server for Studex tools, notifications, and profile integrations
A Model Context Protocol server for Wix AI tools
Unlock the power of food transparency with our Open Food Facts MCP server. Easily look up any food
BGG MCP provides access to the BoardGameGeek API through the Model Context Protocol, enabling retr…
Related MCP Servers
- AlicenseAqualityCmaintenanceA Model Context Protocol server that facilitates integration with OpenCTI, allowing users to query and retrieve cyber threat intelligence data via a standardized interface.1640MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables AI assistants to interact with Strapi CMS instances through a standardized interface, supporting content types and REST API operations.569 npm75MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides health data from the Senechal API to LLM applications, enabling AI assistants to access, analyze, and respond to personal health information.GPL 3.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol Server that enables LLMs to interact with and execute REST API calls through natural language prompts, supporting GET/PUT/POST/PATCH operations on configured APIs.475 PyPI6Apache 2.0