Skip to main content
Glama

Nextcloud Cookbook MCP Server

A Model Context Protocol (MCP) server that provides integration with the Nextcloud Cookbook app API. This server allows AI assistants like Claude to interact with your Nextcloud recipes through a standardized interface.

Features

  • List and search recipes

  • Get detailed recipe information

  • Create, update, and delete recipes

  • Import recipes from URLs

  • Get recipe images

  • Manage categories and keywords

  • Full Docker support for easy deployment

Related MCP server: Nextcloud MCP Server

Prerequisites

  • Node.js 18 or higher (for local development)

  • Docker and Docker Compose (for containerized deployment)

  • Nextcloud instance with Cookbook app installed

  • Nextcloud app password (recommended) or user password

Getting a Nextcloud App Password

  1. Log into your Nextcloud instance

  2. Go to Settings > Security

  3. Scroll to "Devices & sessions"

  4. Enter a name (e.g., "MCP Server") and click "Create new app password"

  5. Copy the generated password (you won't see it again!)

Installation

  1. Clone or download this repository

  2. Copy .env.example to .env:

    cp .env.example .env
  3. Edit .env with your Nextcloud credentials:

    NEXTCLOUD_URL=https://your-nextcloud-instance.com
    NEXTCLOUD_USERNAME=your-username
    NEXTCLOUD_PASSWORD=your-app-password
    PORT=3000
  4. Build and run with Docker Compose:

    docker-compose up -d
  5. The server will be available on stdio (standard input/output)

Option 2: Local Development

  1. Install dependencies:

    npm install
  2. Copy .env.example to .env and configure your credentials

  3. Build the TypeScript code:

    npm run build
  4. Run the server:

    npm start

Configuration

Configure the server using environment variables:

Variable

Description

Required

Default

NEXTCLOUD_URL

Your Nextcloud instance URL

Yes

-

NEXTCLOUD_USERNAME

Your Nextcloud username

Yes

-

NEXTCLOUD_PASSWORD

App password or user password

Yes

-

PORT

Server port (currently unused for stdio)

No

3000

Configuring Claude Code

To use this MCP server with Claude Code, add it to your MCP settings:

For stdio transport:

Add to your Claude Code MCP configuration file:

{
  "mcpServers": {
    "nextcloud-cookbook": {
      "command": "node",
      "args": ["/path/to/nextcloud-cookbook-mcp/dist/index.js"],
      "env": {
        "NEXTCLOUD_URL": "https://your-nextcloud-instance.com",
        "NEXTCLOUD_USERNAME": "your-username",
        "NEXTCLOUD_PASSWORD": "your-app-password"
      }
    }
  }
}

Or if using Docker:

{
  "mcpServers": {
    "nextcloud-cookbook": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e", "NEXTCLOUD_URL=https://your-nextcloud-instance.com",
        "-e", "NEXTCLOUD_USERNAME=your-username",
        "-e", "NEXTCLOUD_PASSWORD=your-app-password",
        "nextcloud-cookbook-mcp"
      ]
    }
  }
}

Available Tools

The MCP server provides the following tools:

Recipe Management

  • list_recipes - List all recipes in the cookbook

  • search_recipes - Search recipes by keyword, tag, or category

  • get_recipe - Get detailed information about a specific recipe

  • create_recipe - Create a new recipe

  • update_recipe - Update an existing recipe

  • delete_recipe - Delete a recipe

  • import_recipe - Import a recipe from a URL

Images

  • get_recipe_image_url - Get the URL for a recipe image (full, thumb, or thumb16)

Organization

  • list_categories - List all recipe categories with counts

  • list_keywords - List all recipe keywords/tags

  • get_recipes_by_keyword - Get recipes tagged with a specific keyword

Example Usage

Once configured with Claude Code, you can interact with your Nextcloud Cookbook using natural language:

User: "Show me all my recipes"
Claude: [Uses list_recipes tool]

User: "Search for pasta recipes"
Claude: [Uses search_recipes tool with query "pasta"]

User: "Get the details for recipe ID 42"
Claude: [Uses get_recipe tool with id 42]

User: "Import this recipe: https://example.com/recipe"
Claude: [Uses import_recipe tool]

User: "Create a new recipe for chocolate chip cookies"
Claude: [Uses create_recipe tool with recipe data]

Development

Project Structure

nextcloud-cookbook-mcp/
├── src/
│   ├── index.ts              # MCP server implementation
│   └── nextcloud-client.ts   # Nextcloud API client
├── dist/                     # Compiled JavaScript (generated)
├── Dockerfile               # Docker container configuration
├── docker-compose.yml       # Docker Compose setup
├── package.json            # Node.js dependencies
├── tsconfig.json          # TypeScript configuration
└── README.md             # This file

Building

npm run build

Development Mode

npm run dev

Watch Mode (auto-rebuild)

npm run watch

Troubleshooting

Authentication Errors

  • Verify your Nextcloud URL is correct (include https://)

  • Ensure you're using an app password, not your regular password

  • Check that your username is correct (usually lowercase)

Connection Errors

  • Verify your Nextcloud instance is accessible

  • Check if the Cookbook app is installed and enabled

  • Ensure there are no firewall rules blocking access

Docker Issues

  • Make sure Docker is running

  • Check logs with: docker-compose logs -f

  • Rebuild the image: docker-compose build --no-cache

API Reference

For detailed Nextcloud Cookbook API documentation, see: https://nextcloud.github.io/cookbook/dev/api/0.1.2/index.html

License

MIT

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Related MCP Connectors

  • Search, save, organize, cook, and share recipes with any AI assistant.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Your Recipes, Beautifully Kept. weReci MCP server lets Claude and other MCP clients work with your personal weReci cookbook, the recipes you've imported from the web, social video and scanned family books. Interactive UI in the chat. weReci supports MCP Apps, so in clients that support it, tools return live views instead of plain text: recipe cards, shopping lists and your recipe graph. Clients without MCP Apps support get the same results as text. Find and read recipes: search your collection in plain language, open any recipe in full, or get an overview of what's in your cookbook. Cook with them: scale a recipe to any serving count, with cooking adjustments as well as amounts. Get substitution suggestions with ratios and caveats. Explore connections: browse your recipe graph (shared ingredients, techniques and cuisines), trace the connection between two recipes, and look up where a dish sits on the cuisine map. Themed collections: list the themed groups weReci curates from your cookbook, or ask it to reshuffle them. Shop: build a shopping list from one or more recipes, add or update items, and read the list back. Share: email a recipe to someone. Longer jobs like conceit reshuffles run in the background, with tools to check their progress. Everything is scoped to your own cookbook, or to a shared one you've joined.

  • Scraps Kitchen gives any AI agent a persistent, household-aware kitchen memory. Unlike generic chatbot recall, Scraps maintains structured cooking data: what's in your fridge (with freshness tracking), who you cook for (with allergens, dietary restrictions, and preferences), your recipe collection (with cook notes and per-diner ratings), your shopping list, and your kitchen equipment. 27 tools across 6 domains let agents read kitchen context, suggest meals that respect dietary safety, update the pantry after cooking, and build a history of what works for your household. Every interaction makes the data richer. Cooking history, preference signals, kitchen awareness = better suggestions next time. All tools work via oAuth and a free scraps.kitchen account.

Related MCP Servers