simonh1005/tandoor-mcp
If you are the rightful owner of tandoor-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.
A Model Context Protocol (MCP) server for interacting with a Tandoor recipe management system.
Tandoor MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with a Tandoor recipe management system. This server enables AI assistants like Claude to query recipes, browse keywords, and manage shopping lists in your Tandoor instance.
Features
This MCP server provides three main tools:
-
list-recipes: Search and list recipes from your Tandoor library
- Filter by recipe name
- Filter by keyword/tag ID
- Returns recipe details including ingredients, instructions, and metadata
-
list-keywords: Browse all keywords/tags in your Tandoor system
- Filter keywords by name
- Useful for discovering available tags for recipe filtering
-
add-shopping-list-item: Add items to your Tandoor shopping list
- Add food items with quantity
- Integrates with Tandoor's shopping list functionality
-
add-recipe-to-meal-plan: Add recipes to your meal plan
- Schedule recipes for specific dates and meal types
- Automatically adds all recipe ingredients to your shopping list
- Include optional titles and notes for meal planning
-
list-meal-types: Browse available meal types
- List all meal types configured in your Tandoor system
- Essential for finding the correct meal type ID when planning meals
- Helps ensure proper meal type selection for meal planning
Installation
Prerequisites
- Bun runtime (v1.2.19 or later)
- A running Tandoor instance with API access
- Tandoor API token
Setup
-
Clone and install dependencies:
git clone <repository-url> cd tandoor-mcp bun install
-
Build the project:
bun run build
-
Configure environment variables: Create a
.env
file or set environment variables:export TANDOOR_API_URL="https://your-tandoor-instance.com/api" export TANDOOR_API_TOKEN="your-api-token-here"
Usage
The server supports two transport modes: HTTP and Stdio.
HTTP Mode
Run the server as an HTTP service on port 3000:
# Development mode (with hot reload)
bun run watch
# Production mode (built version)
bun run start
The HTTP server provides:
- POST /mcp: Main MCP endpoint for handling requests
Stdio Mode
Run the server in stdio mode for integration with Claude Desktop:
bun run start
Claude Desktop Configuration
Add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"tandoor-mcp": {
"command": "bun",
"args": ["run", "--cwd=/path/to/tandoor-mcp", "start", "--stdio"],
"disabled": false,
"autoApprove": []
}
}
}
Important: The --stdio
parameter is crucial for proper logging behavior. It tells the MCP server to suppress console output that could interfere with the MCP protocol communication between Claude Desktop and the server. Without this parameter, you may experience communication issues or see unwanted log messages in the Claude Desktop interface.
Replace /path/to/tandoor-mcp
with the actual path to your tandoor-mcp directory.
Troubleshooting
Environment Variables
Ensure both TANDOOR_API_URL
and TANDOOR_API_TOKEN
are set:
echo "TANDOOR_API_URL: $TANDOOR_API_URL"
echo "TANDOOR_API_TOKEN: $TANDOOR_API_TOKEN"
Common Issues
- "InvalidTarget" error: Make sure you're using the correct build target (
--target=node
) - Connection errors: Verify your Tandoor instance is running and accessible
- Authentication errors: Check that your API token is valid and has the necessary permissions
Debugging
Use the MCP inspector for debugging:
bun run inspector
This will start both the development server and the MCP inspector for testing tool integrations.