Tekuila MCP Server

Tekuila MCP Server

An MCP server that provides access to Tekuila restaurant menus with AI-powered health recommendations and meal planning. It enables users to retrieve daily or weekly menus and receive intelligent nutritional analysis through clients like Claude Desktop and Cursor.

Category
Visit Server

README

๐Ÿฝ๏ธ 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

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! ๐Ÿฝ๏ธ

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured