Token导航 LogoToken导航TokenDH.com
Cookidoo MCP Server logo
运维云端未说明官方级别未说明来源级核验

Cookidoo MCP Server

MCP Server

Cookidoo MCP Server是一个用于管理用户自定义食谱和食谱集合的后端服务,支持食谱创建、编辑、同步、购物清单管理和膳食计划等功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonVS Code后端服务VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

hnizdiljan

提供方

hnizdiljan

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Cookidoo MCP Server

MCP Server pro správu vlastních receptů a kolekcí receptů uživatelů platformy Cookidoo® od společnosti Vorwerk (pro zařízení Thermomix®).

🎯 Rychlý Start

Nový uživatel? Začněte s QUICK_START.md - kompletní průvodce v češtině, jak nastavit a používat Cookidoo MCP Server v Cursoru!

🚀 Přehled

Tento projekt poskytuje backendové služby pro:

  • Vytváření nových receptů kompatibilních s formátem Cookidoo včetně plné podpory Thermomix parametrů
  • Editaci existujících vlastních receptů synchronizovaných s Cookidoo
  • Vytváření vlastních kolekcí receptů
  • Editaci detailů kolekcí receptů
  • Přidávání a odebírání receptů do/z kolekcí
  • Správu nákupního seznamu (ingredience z receptů + vlastní položky)
  • Plánování jídel (týdenní kalendář receptů)
  • Automatické přihlášení s cachováním tokenů
  • Bezpečnou autentizaci vůči Cookidoo API

🏗️ Architektura

Projekt je navržen podle principů Clean Architecture a skládá se z následujících vrstev:

├── src/
│   ├── Cookidoo.MCP.Api/           # API vrstva (ASP.NET Core Web API)
│   ├── Cookidoo.MCP.Core/          # Doménová vrstva (entity, interfaces)
│   └── Cookidoo.MCP.Infrastructure/ # Infrastrukturní vrstva (služby, externí API)
└── tests/
    └── Cookidoo.MCP.Tests/         # Unit testy

Komponenty

  • API vrstva: Zpracování HTTP požadavků, validace vstupů, autentizace/autorizace
  • Servisní vrstva: Business logika pro správu receptů a kolekcí
  • Integrační vrstva: Komunikace s externím Cookidoo API
  • Autentizace: JWT tokeny pro MCP API + správa Cookidoo tokenů

💻 Technologický stack

  • .NET 8 (ASP.NET Core Web API)
  • C# s nullable reference types
  • JWT autentizace
  • Serilog pro logování
  • Swagger/OpenAPI pro dokumentaci API
  • xUnit, Moq, FluentAssertions pro testování

🛠️ Instalace a spuštění

Předpoklady

  • .NET 8 SDK
  • Visual Studio 2022 nebo VS Code

Spuštění

  1. Klonování repozitáře
   git clone 
   cd Cookidoo-MCP-Server
  1. Obnovení balíčků
   dotnet restore
  1. Spuštění aplikace
   cd src/Cookidoo.MCP.Api
   dotnet run
  1. Přístup k API

- Swagger UI: https://localhost:5001 - API: https://localhost:5001/api/v1/

Konfigurace

Hlavní konfigurace v appsettings.json:

{
  "Cookidoo": {
    "BaseUrl": "https://cookidoo.thermomix.com",
    "ApiVersion": "v1",
    "Timeout": "00:00:30",
    "UserAgent": "Cookidoo-MCP-Server/1.0"
  },
  "Jwt": {
    "SecretKey": "SuperSecretKeyForJwtTokenGeneration123456789",
    "Issuer": "CookidooMcpServer",
    "Audience": "CookidooMcpApi",
    "ExpirationMinutes": 60
  }
}

📚 API Dokumentace

Autentizace

POST /api/v1/auth/login

Přihlášení uživatele pomocí Cookidoo přihlašovacích údajů.

Request:

{
  "email": "user@example.com",
  "password": "password123"
}

Response:

{
  "token": "jwt-token-here",
  "expiresAt": "2024-01-01T12:00:00Z",
  "user": {
    "id": "user-id",
    "email": "user@example.com"
  }
}

POST /api/v1/auth/refresh

Obnovení JWT tokenu.

POST /api/v1/auth/logout

Odhlášení uživatele.

GET /api/v1/auth/verify

Ověření platnosti tokenu.

Recepty

GET /api/v1/recipes

Získání seznamu receptů s filtrováním a stránkováním.

Parametry:

  • page (int): Číslo stránky (výchozí: 1)
  • pageSize (int): Velikost stránky (výchozí: 20, max: 100)
  • search (string): Vyhledávací řetězec
  • difficulty (enum): Filtr podle obtížnosti (Easy, Medium, Hard)
  • tags (string): Tagy oddělené čárkou

GET /api/v1/recipes/{id}

Získání detailu konkrétního receptu.

POST /api/v1/recipes

Vytvoření nového receptu.

Request:

{
  "name": "Název receptu",
  "description": "Popis receptu",
  "ingredients": [
    {
      "text": "200g mouky",
      "quantity": 200,
      "unit": "g"
    }
  ],
  "steps": [
    {
      "text": "Smíchejte ingredience",
      "order": 1
    }
  ],
  "preparationTimeMinutes": 30,
  "cookingTimeMinutes": 45,
  "portions": 4,
  "difficulty": "Medium",
  "tags": ["dezert", "čokoláda"]
}

PUT /api/v1/recipes/{id}

Aktualizace existujícího receptu.

DELETE /api/v1/recipes/{id}

Smazání receptu.

GET /api/v1/recipes/search

Vyhledání receptů podle dotazu.

Kolekce

GET /api/v1/collections

Získání seznamu kolekcí.

GET /api/v1/collections/{id}

Získání detailu kolekce.

POST /api/v1/collections

Vytvoření nové kolekce.

PUT /api/v1/collections/{id}

Aktualizace kolekce.

DELETE /api/v1/collections/{id}

Smazání kolekce.

POST /api/v1/collections/{id}/recipes

Přidání receptu do kolekce.

DELETE /api/v1/collections/{id}/recipes/{recipeId}

Odebrání receptu z kolekce.

GET /api/v1/collections/{id}/recipes

Získání receptů v kolekci.

Nákupní seznam

GET /api/v1/shoppinglist

Získá kompletní nákupní seznam s ingrediencemi z receptů a vlastními položkami.

POST /api/v1/shoppinglist/recipes

Přidá ingredience z receptů do nákupního seznamu.

Request:

{
  "recipeIds": ["recipe-id-1", "recipe-id-2"]
}

DELETE /api/v1/shoppinglist/recipes

Odebere ingredience receptů z nákupního seznamu.

PATCH /api/v1/shoppinglist/ingredients/ownership

Označí ingredience jako zakoupené.

Request:

{
  "ingredientIds": ["ing-1", "ing-2"]
}

POST /api/v1/shoppinglist/items

Přidá vlastní položky do nákupního seznamu.

Request:

{
  "items": ["Toaletní papír", "Máslo"]
}

PATCH /api/v1/shoppinglist/items/ownership

Označí vlastní položky jako zakoupené.

DELETE /api/v1/shoppinglist/items

Odebere vlastní položky z nákupního seznamu.

DELETE /api/v1/shoppinglist

Vymaže celý nákupní seznam.

Plánování jídel

GET /api/v1/mealplan/week

Získá plán jídel pro daný týden.

Parametry:

  • date (string): Datum v týdnu (formát YYYY-MM-DD), volitelné

GET /api/v1/mealplan/day

Získá plán jídel pro konkrétní den.

Parametry:

  • date (string): Datum (formát YYYY-MM-DD)

POST /api/v1/mealplan/recipes

Přidá recepty do kalendáře.

Request:

{
  "date": "2025-11-22",
  "recipeIds": ["recipe-id-1"],
  "mealType": "Oběd"
}

DELETE /api/v1/mealplan/recipes/{recipeId}

Odebere recept z kalendáře.

Parametry:

  • date (string): Datum (formát YYYY-MM-DD)

🔒 Bezpečnost

  • JWT autentizace: Všechny endpointy (kromě přihlášení) vyžadují platný JWT token
  • HTTPS: Veškerá komunikace je šifrována
  • Validace vstupů: Důsledná validace všech vstupních dat
  • Rate limiting: Ochrana proti zneužití API (doporučeno implementovat)

🧪 Testování

Spuštění testů:

dotnet test

Spuštění testů s pokrytím:

dotnet test --collect:"XPlat Code Coverage"

📝 Logování

Aplikace používá Serilog pro strukturované logování:

  • Konzole: Výstup do konzole během vývoje
  • Soubory: Rotující soubory v logs/ složce
  • Strukturované logy: JSON formát pro lepší analýzu

🚧 Známé limitace

  1. Cookidoo API integrace: Současná implementace používá simulované volání. Pro produkční použití je nutné implementovat skutečnou integraci s Cookidoo API.
  1. Token management: Cookidoo tokeny jsou momentálně simulované. V produkci je nutné implementovat skutečné získávání a správu tokenů.
  1. Databáze: Aplikace momentálně nepoužívá perzistentní úložiště. Všechna data jsou získávána z Cookidoo API.

📖 Dokumentace

🔮 Budoucí rozšíření

  • Import receptů z jiných formátů
  • Pokročilé vyhledávání a filtrování
  • Offline podpora s cachingem
  • Sdílení receptů mezi uživateli
  • Nutriční kalkulačka
  • Oficiální Cookidoo kolekce (managed collections)
  • Rozšířené informace o receptu (nutriční hodnoty, nádobí, kategorie)

🤝 Přispívání

  1. Fork projektu
  2. Vytvořte feature branch (git checkout -b feature/amazing-feature)
  3. Commitněte změny (git commit -m 'Add amazing feature')
  4. Push do branch (git push origin feature/amazing-feature)
  5. Otevřete Pull Request

📄 Licence

Tento projekt je licencován pod MIT licencí - viz LICENSE soubor pro detaily.

📞 Kontakt

Pro otázky a podporu kontaktujte vývojový tým.


Poznámka: Tento projekt je nezávislý a není oficiálně spojen se společností Vorwerk nebo platformou Cookidoo®.

目录标签

目录标签

PythonVS Code后端服务食谱管理本地部署膳食计划购物清单Thermomix集成

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

token

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明token部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP