canteen-mcp

c0dr/canteen-mcp

3.2

If you are the rightful owner of canteen-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Canteen MCP is a server that provides access to the canteen's lunch menu via a simple API integration.

Tools
1
Resources
0
Prompts
0

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.

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 install

Configuration

Copy the example environment file and update it with your values:

cp .env.example .env

Environment Variables

VariableDescriptionExample
API_URLURL of the lunch menu APIhttps://lunch-menu-ai.vercel.app/api/v1/menu
PORTPort for the MCP server8080
ENDPOINTHTTP endpoint/endpoint

Usage

Start the server:

npm start

Available 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 dev

Docker

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-mcp

Using GitHub Container Registry

Pull the latest image:

docker pull ghcr.io/[your-username]/canteen-mcp:latest

Deployment

Deploying to Hetzner

  1. SSH into your Hetzner server:
ssh root@your-server-ip
  1. Install Docker if not already installed:
curl -fsSL https://get.docker.com | sh
  1. Create 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=/http
  1. Start the service:
docker-compose up -d

License

This project is licensed under the MIT License - see the LICENSE file for details.

Based on https://github.com/punkpeye/fastmcp-boilerplate