tandoor-mcp

simonh1005/tandoor-mcp

3.2

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.

Tools
5
Resources
0
Prompts
0

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

  1. Clone and install dependencies:

    git clone <repository-url>
    cd tandoor-mcp
    bun install
    
  2. Build the project:

    bun run build
    
  3. 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

  1. "InvalidTarget" error: Make sure you're using the correct build target (--target=node)
  2. Connection errors: Verify your Tandoor instance is running and accessible
  3. 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.