Overview
What is Meal Server?
Meal Server is a Python-based MCP server that provides a convenient interface to TheMealDB API through AI assistants like Claude or Cline. It allows users to search for and retrieve meal recipes, explore categories and cuisines, and create shopping lists using natural language.
How to use Meal Server?
Run python mealserver.py from the project directory. Configure environment variables in a .env file (copy from .env.example) to set TheMealDB API key, server host/port, security API key, logging level, and rate limits. Add the server to your MCP client’s settings (e.g., cline_mcp_settings.json) with the command uv --directory <path> run mealserver.py, then restart the client to use tools, resources, and prompts.
Key features of Meal Server
- Search meals by name, letter, ingredient, category, or cuisine area
- Get random meal suggestions for inspiration
- Save ingredients list to a file for shopping
- Access 14 meal categories, 29 cuisine regions, and 575+ common ingredients
- Pre‑defined prompt templates for natural language queries
- Secure configuration via environment variables and rate limiting
Use cases of Meal Server
- Find recipes by name for specific dishes like “Arrabiata”
- Discover a random recipe when unsure what to cook
- Locate meals using ingredients you already have (e.g., chicken, potatoes, rosemary)
- Explore international cuisines such as Thai, Italian, or Mexican
- Generate a printable shopping list for a chosen recipe
FAQ from Meal Server
How does Meal Server connect to TheMealDB?
It uses TheMealDB’s free API (default key “1”) or a premium key if you have a subscription. The API key is set in the .env file.
What runtime or dependencies are required?
Meal Server is written in Python and runs via python mealserver.py. It uses uv to manage the MCP client integration; no other runtime dependencies are mentioned in the README.
Where is configuration data stored?
Configuration is stored in a local .env file in the project root. The .env file is excluded from version control via .gitignore to protect sensitive information like API keys.
What transports or authentication does the server use?
The server uses MCP (Model Context Protocol) for communication with AI clients. It supports an optional API key for server‑to‑client security (set via MCP_SERVER_API_KEY in .env). Rate limiting (default 60 requests per 60 seconds) is also configurable.
What are the limits of Meal Server?
It relies on the free tier of TheMealDB API (default key “1”). Rate limiting can be adjusted via environment variables. The server itself runs locally on the configured host and port (default 127.0.0.1:8080).