Skip to main content
Glama
Tekuila MCP Server

Tekuila MCP Server

by mtpajula

๐Ÿฝ๏ธ Tekuila MCP Server

An MCP (Model Context Protocol) server for accessing Tekuila restaurant menus with AI-powered healthy meal recommendations.

Features

  • ๐Ÿ“… Daily & Weekly Menus: Get current day and week menus from Tekuila restaurant

  • ๐Ÿค– AI-Powered Analysis: Intelligent health recommendations and meal planning

  • ๐Ÿ“Š Date Context: Current date awareness for better planning

  • ๐ŸŒฑ Health-Focused: Prioritizes vegetarian options while considering taste

  • ๐Ÿ”ง Universal Compatibility: Works with Claude Desktop, Cursor, LM Studio, and other MCP clients

Related MCP server: foodvisor-mcp

Quick Start

Prerequisites

  • Python 3.12 or higher

  • uv package manager

Installation

  1. Clone and setup:

    git clone <your-repo>
    cd tekuila
    uv sync
  2. Run the server:

    For cloud hosting (HTTP transport):

    uv run python main.py

    For local development (stdio transport):

    uv run python tekuila.py

Transport Modes

The server supports two different transport modes:

Stdio Transport (tekuila.py)

  • Use case: Local development and MCP client integration

  • How it works: Communicates via standard input/output

  • Best for: Claude Desktop, Cursor, LM Studio, and other MCP clients

  • Command: uv run python tekuila.py

HTTP Transport (main.py)

  • Use case: Cloud hosting and web deployment

  • How it works: Runs as an HTTP server on port 8000

  • Best for: Cloud platforms, Docker containers, web services

  • Command: uv run python main.py

  • URL: http://127.0.0.1:8000 (when running locally)

Connect to MCP Clients

Claude Desktop

Add this to your claude_desktop_config.json (uses stdio transport):

{
  "mcpServers": {
    "tekuila": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/tekuila",
        "run",
        "tekuila.py"
      ]
    }
  }
}

Cursor

The server also works with Cursor's MCP integration. Configure it in your Cursor MCP settings.

LM Studio

Compatible with LM Studio's MCP server support. Add the server configuration in LM Studio's MCP settings.

Available Tools

Basic Menu Tools

  • get_current_day_menu() - Get today's menu with date context

  • get_current_week_menu() - Get this week's menu with date context

  • get_current_date() - Get current date and time context

AI-Powered Planning Tools

  • analyze_daily_menu() - Get today's menu with AI analysis instructions

  • plan_weekly_menu() - Get week's menu with planning guide

Prompts (for clients with prompt support)

  • analyze_menu_selection - AI-powered daily menu analysis

  • weekly_menu_planning - AI-powered weekly meal planning

Usage Examples

Daily Menu Analysis

What's on the menu today at Tekuila?

Weekly Planning

Help me plan my meals for this week with healthy recommendations.

AI Analysis

Analyze today's menu and recommend the healthiest options.

Menu Structure

The server understands Finnish menu categories:

  • ๐ŸŒฑ Vegaaninen kasvislounas - Vegan lunch (healthiest)

  • ๐Ÿฅฌ Kasvislounas - Vegetarian lunch (good option)

  • ๐Ÿ– Lounas - Regular lunch (meat options)

  • โญ POP UP Bistro - Special/expensive options

  • ๐Ÿฐ Jรคlkiruoka - Desserts

AI Analysis Features

Health Priority System

  1. Vegaaninen kasvislounas - Usually healthiest (vegan)

  2. Kasvislounas - Good vegetarian option

  3. Lounas - Regular meat option

  4. POP UP Bistro - Special/expensive option

Analysis Guidelines

  • Nutritional Quality: Evaluates protein sources, vegetables, cooking methods

  • Processing Level: Prefers whole foods over processed options

  • Taste Balance: Considers if vegetarian options are actually appealing

  • Value Assessment: Evaluates if special options are worth the cost

Red Flags

  • Overly processed vegetarian options (like simple carrot crepes)

  • Deep-fried items (paistettu)

  • Heavy cream/cheese sauces (kerma, juusto)

  • Lack of vegetables or protein

Technical Details

RSS Integration

  • Current Day: https://www.compass-group.fi/menuapi/feed/rss/current-day?costNumber=0605&language=fi

  • Current Week: https://www.compass-group.fi/menuapi/feed/rss/current-week?costNumber=0605&language=fi

Dependencies

  • httpx - HTTP client for RSS fetching

  • mcp[cli] - Model Context Protocol server framework

Architecture

  • Simple RSS Parsing: Extracts day + menu content

  • AI-Powered Analysis: Lets AI analyze menu text intelligently

  • Shared Instructions: Reuses prompt content across tools and prompts

  • Date Awareness: Includes current date context for better planning

Development

Project Structure

tekuila/
โ”œโ”€โ”€ tekuila.py          # Main MCP server implementation (stdio transport)
โ”œโ”€โ”€ main.py             # HTTP server entry point (streamable-http transport)
โ”œโ”€โ”€ pyproject.toml      # Project configuration
โ”œโ”€โ”€ uv.lock            # Dependency lock file
โ”œโ”€โ”€ .gitignore         # Git ignore rules
โ””โ”€โ”€ README.md          # This file

Running Tests

# Test HTTP server startup (cloud hosting)
uv run python main.py

# Test stdio server startup (local development)
uv run python tekuila.py

# Test individual functions
uv run python -c "from tekuila import get_current_date_context; print(get_current_date_context())"

Troubleshooting

Server Not Starting

  • Check Python version (3.12+ required)

  • Ensure all dependencies are installed: uv sync

  • Check RSS feed URLs are accessible

License

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


Enjoy your healthy meals at Tekuila! ๐Ÿฝ๏ธ

Available Tools

5 tools
analyze_daily_menuB

Get today's menu with AI analysis instructions for daily planning.

Inputs: no named parameters. Returns: result

get_current_dateA

Get current date and time context.

Inputs: no named parameters. Returns: result

get_current_day_menuB

Get today's menu from Tekuila restaurant.

Inputs: no named parameters. Returns: result

get_current_week_menuB

Get this week's menu from Tekuila restaurant.

Inputs: no named parameters. Returns: result

plan_weekly_menuB

Get this week's menu with AI planning instructions for weekly meal planning.

Inputs: no named parameters. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    B3.3/5.0

    Scored across 5 tools

    Disambiguation2/5

    Multiple tools have overlapping purposes that could cause confusion. 'analyze_daily_menu' and 'get_current_day_menu' both target today's menu, with the former adding AI analysis instructions. Similarly, 'get_current_week_menu' and 'plan_weekly_menu' both handle the weekly menu, with the latter including planning instructions. This overlap makes it unclear which tool to use for basic retrieval versus enhanced functionality.

    Naming Consistency4/5

    Tool names follow a consistent snake_case pattern with clear verb_noun structures, such as 'analyze_daily_menu' and 'get_current_date'. However, there is a minor inconsistency: 'get_current_day_menu' and 'get_current_week_menu' use 'day' and 'week' inconsistently with 'daily' and 'weekly' in other tools, but overall the naming is predictable and readable.

    Tool Count5/5

    With 5 tools, the count is well-scoped for a restaurant menu server focused on daily and weekly planning. Each tool appears to serve a distinct role in the domain, and the number is neither too sparse nor overwhelming, fitting typical expectations for such a purpose.

    Completeness3/5

    The tool set covers retrieval and planning for daily and weekly menus, but there are notable gaps. For example, there are no tools for updating or modifying menus, handling past or future menus beyond the current period, or managing restaurant details like hours or locations. This limits the server's ability to support full lifecycle operations in the domain.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      An MCP server that provides access to Cronometer nutrition data, enabling users to pull food logs, macro and micronutrient summaries, and biometric data into Claude or Cursor. It supports daily nutrition tracking and raw CSV exports by interfacing with the Cronometer web protocol.
      27
      606 PyPI
      28
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server integrating Foodvisor nutrition API for food search, meal logging, daily summaries, and progress tracking via LLM agents like Claude.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for MealMastery AI meal planning that enables users to manage meal plans, recipes, and grocery lists through natural language conversation with AI agents like Claude.
      57 npm
      MIT