Skip to main content
Glama
smeet666

mcp-ptitchef

mcp-ptitchef

CI npm licence MIT

Ptitchef의 레시피를 읽는 MCP 서버입니다. 읽기 전용이며, API 키도 계정도 필요 없습니다.

Version française


존재 이유

Ptitchef는 재료군(ingredient family) 트리로 레시피를 탐색하며, 각 카테고리의 주소를 자유롭게 씁니다. 같은 종류의 것이 한 줄에서는 chou-kale로, 다음 줄에서는 recette-de-petits-pois로, 또 다른 줄에서는 recettes-aux-feves로 나타납니다. 재료 이름에서 주소를 유도하는 규칙은 없습니다.

따라서 손으로 만든 주소는 빗나가며, 사이트는 빗나간 요청에 HTTP 200과 루트 자신의 카테고리들을 보내며 독자를 트리 루트로 안내합니다. 슬러그를 추측한 모델은 요청한 적 없는 단계에 대해 완전하고 자신만만한 답변을 받게 됩니다.

이 서버는 트리를 공개하므로, 카테고리는 사이트가 붙인 이름으로 열립니다.

Related MCP server: France BOAMP MCP

도구

list_categories

레시피를 탐색하는 데 쓰이는 카테고리를 나열합니다. 인수 없이 호출하면 재료군(family)을 반환하며, 이전 호출에서 얻은 family 슬러그를 넘기면 그 안에 든 항목을 나열합니다.

인수

타입

의미

family

string, optional

이전 호출에서 얻은, 열어볼 family의 슬러그. 생략하면 루트를 읽습니다.

limit

integer, optional

렌더링할 항목 수. 기본 50, 최대 200.

{
  "family": null,
  "family_title": "Recettes de cuisine sur Ptitchef",
  "categories": [
    {
      "slug": "legume",
      "title": "Légume",
      "url": "https://www.ptitchef.com/recettes/cat/legume",
      "description": null,
      "sample_children": [
        {
          "slug": "pois-mange-tout",
          "title": "Pois mange-tout",
          "url": "https://www.ptitchef.com/recettes/pois-mange-tout"
        }
      ],
      "is_family": true
    }
  ],
  "category_count": 15,
  "categories_published": 15,
  "url": "https://www.ptitchef.com/recettes",
  "source": "Ptitchef",
  "notes": ["…"]
}

search_recipes

요리 또는 재료로 검색합니다. 사이트는 두 가지 방식 중 하나로 응답하며, kind가 어느 쪽인지 알려줍니다.

인수

타입

의미

query

string

프랑스어로 된 요리 또는 재료.

limit

integer, optional

렌더링할 행 수. 기본 20, 최대 100.

puree de patate douce를 검색하면 kind: "topic"topic_slug: "puree-de-patates-douces"로 응답이 옵니다. 사이트가 그에 대한 페이지를 갖고 있어 검색을 그쪽으로 보냈고, 합계는 그 페이지가 담은 수를 셉니다. soupe froide concombre menthe를 검색하면 kind: "free_text"로 응답이 옵니다. 사이트에는 그런 페이지가 없어 자체 방식대로 응답했고, 합계는 서비스된 행 수입니다.

browse_recipes

카테고리를 페이지 단위로 읽거나, 사이트가 상시 유지하는 세 목록 중 하나를 읽습니다.

인수

타입

의미

category

string, optional

list_categories에서 얻은 슬러그 또는 검색 결과의 topic_slug.

listing

latest | top_rated | most_viewed

사이트의 상시 목록 중 하나.

page

integer, optional

읽을 카테고리의 페이지.

limit

integer, optional

렌더링할 행 수. 기본 20.

search_by_ingredients

사이트 자체의 냉장고 검색을 읽습니다. 재료 하나에서 다섯 개를 넣으면, 그 재료를 담은 레시피가 나옵니다.

인수

타입

의미

ingredients

string[]

프랑스어로 된 재료 하나에서 다섯 개.

limit

integer, optional

렌더링할 행 수. 기본 20.

get_recipe

레시피 하나를 읽고, 요청 시 재료의 분량을 다시 조정합니다.

인수

타입

의미

id

string

검색 또는 목록에서 얻은 행의 id.

servings

integer, optional

이 인분 수에 맞게 재료 분량을 다시 조정합니다.

모든 줄에는 연산이 무엇을 했는지 알려주는 scaling이 붙습니다. scaled는 정확하고, rounded는 사용 가능하도록 조정된 것이며, unscaled는 곱할 수 있는 것이 없는 경우입니다. 1 oeuf를 두 배로 하면 2 oeufs가 되고, 절반으로 하면 rounded로 표시된 1 oeuf가 됩니다. 달걀 반 개는 주방에서 계량하는 양이 아니기 때문입니다.

scale_ingredients

동일한 연산을 오프라인에서, 출처를 막론한 프랑스어 재료 목록에 적용합니다.

인수

타입

의미

ingredients

string[]

다시 조정할 줄들.

factor

number

적용할 배수.

from_servingsto_servings

numbers

배수를 읽어낼 쌍.

get_recipe_translations

레시피가 게시된 다른 언어들을 나열합니다. Ptitchef는 같은 레시피를 게시하는 사이트 네트워크의 프랑스어 판이며, 각 페이지는 대응 사이트들을 이름으로 밝힙니다. 그 수가 몇 개인지는 레시피마다 다릅니다. 최근 레시피는 스무 개 이상을 밝히고, 오래된 레시피는 하나도 밝히지 않으며, 답변은 여기서 고정된 숫자 대신 페이지가 담고 있는 내용을 진술합니다.

답변이 과장하기를 거부하는 것들

사이트가 대신 응답한 단계는 요청된 단계가 아닙니다. 알 수 없는 family는 HTTP 200과 트리 루트로 응답되므로, 답변이 돌아온 주소가 어느 단계인지를 결정합니다. 보유하지 않은 family는 사이트가 대신 제공한 카테고리들로 렌더링되지 않고 not_found로 보고됩니다.

family 옆의 항목들은 발췌입니다. 루트는 그중 세 개를 보여주고, 이어서 사이트가 직접 출력하는 줄임표가 따라옵니다. 이 항목들은 sample_children 아래로 반환되며, 그것이 무엇인지 주석이 말해줍니다. 그것들을 family의 내용물로 렌더링하면 아흔 개짜리 family를 세 개짜리로 제공하게 되기 때문입니다.

두 개의 개수, 두 가지 질문에 답하기 때문입니다. categories_published는 페이지가 나열한 것이고 category_count는 답변이 렌더링한 것입니다. limit이 목록을 잘라낼 때마다 둘은 달라지며, 주석은 상한이 적용된 목록이 완전한 목록으로 읽히지 않도록 얼마나 잘렸는지를 말해줍니다.

주소가 없는 항목은 렌더링되지 않고 따로 분류됩니다. 사이트가 링크 없이 게시한 제목은 돌려줄 슬러그가 없으므로, 버려지고, 개수에 포함되며, 주석에서 이름이 언급됩니다.

페이지가 담고 있지 않은 소개문은 빈 문자열이 아니라 null입니다. 빈 설명은 게시된 적 없는 문구를 제공하는 셈이 됩니다.

목록에는 서로 다른 것을 세는 두 합계가 있으며, 답변은 어느 쪽이 도착했는지 말해줍니다. 사이트가 카테고리 페이지로 보내는 검색은 그 카테고리의 합계를 보고하고, 사이트가 직접 응답하는 검색은 서비스한 행 수를 보고합니다. 둘을 더하면 페이지에 카탈로그를 얹는 꼴이 됩니다.

평점은 사이트가 계산한 수치입니다. 어떤 행은 페이로드에 3.8이라고 명시하고 별 네 개를 그립니다. 그려진 수치는 그대로 둡니다.

마지막 페이지를 지난 페이지는 사이트가 서비스한 페이지로 돌아옵니다. 사이트는 첫 페이지로 응답하므로, 요청된 번호를 보고하면 호출자가 같은 행들을 영원히 맴돌게 됩니다.

냉장고 검색은 서비스하는 것보다 훨씬 많은 수를 셉니다. 재료 세 개로 레시피 여든아홉 개를 찾아내고, 그중 스물네 개를 한 페이지에 제공하며, 다른 페이지 링크는 없습니다. 답변은 두 수치를 모두 진술하고 나머지는 읽을 수 없다고 말합니다.

가이드는 목록이 아니며, 답변은 어느 쪽이 도착했는지 말해줍니다. 일부 토픽은 사이트가 작성한 가이드로 서비스됩니다. 사이트 자체의 제목 아래에 레시피를 묶어 놓은 것으로, 합계가 없고 행에는 이름과 주소만 담깁니다. 그 경우 kindguide라고 말하며, 같은 슬러그에 browse_recipes를 호출하면 합계와 함께 토픽의 전체 목록을 읽습니다. épinards는 32개의 가이드로 돌아오고, 그 목록은 736개를 담고 있습니다.

다른 레시피가 대신 서비스되면 부재로 렌더링됩니다. 레시피 주소의 단어들은 장식일 뿐이고 숫자는 장식이 아닙니다. 사이트가 보유하지 않은 숫자를 요청하면 관련 없는 레시피가 HTTP 200과 전체 상세 정보로 돌아옵니다. 돌아온 숫자는 요청된 숫자와 비교됩니다.

어떤 것도 맹목적으로 곱해지지 않습니다. 셀 수 있는 것은 요리사가 하나에서 꺼내는 가장 작은 몫에 도달합니다. 절반을 계량할 수 없는 것은 통째로, 예를 들어 달걀. 절반이 부어지거나 나뉘는 것은 절반으로, 예를 들어 봉지. 질량은 반올림 전에 더 작은 단위로 이동하므로 1 미만의 양이 0으로 반올림되지 않습니다. 꼬집은 고유한 표현을 유지한 채 개수만 곱해집니다. 하나의 크기는 요리사의 몫이기 때문입니다.

재조정 없이 돌려받은 목록은 줄마다가 아니라 한 번에 그렇게 말합니다. 인분 수를 요청하지 않으면 연산이 없으며, 모든 줄을 unscaled로 표시하면 그중 어느 것에도 곱할 것이 없다고 주장하는 셈이 됩니다.

사이트가 추산한 비용은 다시 계산되지 않고 그대로 전달됩니다. 그것은 사이트 자체의 수치이며, 사이트 독자들은 너무 낮다고 이의를 제기합니다. 답변은 조용히 넘기거나 조용히 버리지 않고 그 사실을 말해줍니다.

설치

npx mcp-ptitchef

Claude Code

claude mcp add ptitchef -- npx -y mcp-ptitchef

모든 MCP 클라이언트

{
  "mcpServers": {
    "ptitchef": {
      "command": "npx",
      "args": ["-y", "mcp-ptitchef"]
    }
  }
}

컨테이너

docker build -t mcp-ptitchef .
docker run -i --rm mcp-ptitchef

컨테이너는 www.ptitchef.com에만 도달할 수 있으면 되고 그 외에는 아무것도 필요하지 않습니다. 자격 증명을 받지 않습니다. 받을 자격 증명이 없기 때문입니다.

설정

모든 설정은 환경 변수이며, 필수인 것은 없습니다. 범위를 벗어난 값은 stderr에 한 줄을 출력하고 거부되며 기본값이 유지됩니다. 적용될 수 없는 설정은 조용히 잘려나가지 않고 그 사실을 말해줍니다.

변수

기본값

범위

PTC_USER_AGENT

본인을 식별하는 값. 이 프로젝트의 것은 뒤에 계속 붙어 있어, 사이트가 사람에게 닿을 수 있습니다.

PTC_MIN_INTERVAL_MS

1500

1000~60000

PTC_TIMEOUT_MS

20000

1000~120000

PTC_MAX_RETRIES

3

0~8

PTC_CACHE_TTL_MS

900000

0~86400000, 0이면 저장을 끕니다

PTC_CACHE_MAX_ENTRIES

200

1~5000

PTC_MAX_BODY_BYTES

8000000

100000~64000000. 이를 넘으면 페이지는 통째로 보관되지 않고 버려집니다

PTC_BUDGET_MS

60000

5000~600000. 한 번 읽기의 전체, 재시도와 대기 시간을 포함합니다

PTC_LOG_LEVEL

error

silent, error, info, debug

페이싱 하한선은 외부에서 낮출 수 없습니다. 이 사이트는 무료로 읽을 수 있고 크롤 지연을 공개하지 않으며, 이는 빠르게 해도 된다는 면허가 아니라 조심해야 할 이유입니다.

라이브러리로 사용하기

읽기 계층은 자체 페이싱, 저장소, 오류 용어를 갖추고 프로토콜 없이 단독으로 공개됩니다:

import { PtitchefClient } from "mcp-ptitchef/client";

오류

코드는 여섯 개이며 그 이상은 없습니다. 호출자는 메시지를 여는 코드로 분기합니다.

코드

의미

not_found

해당 주소에 사이트가 가진 것이 없다

invalid_input

인자들로 요청을 만들어낼 수 없었다

rate_limited

사이트가 이 클라이언트에게 속도를 늦추라고 요청했다. 무엇이 일치했는지에 대해서는 아무것도 말하지 않는다

parse_failure

이 서버가 읽을 수 없는 형태로 답변이 도착했다

network_error

요청을 완료할 수 없었다

timeout

마감 시간 안에 답변이 도착하지 않았다

출처 표기

레시피, 제목, 카테고리는 Ptitchef에 속한다. 모든 답변은 출처를 담고 있으며, 독자에게 보여지는 목록은 사이트를 밝히고 페이지에 링크해야 한다.

기여하기

CONTRIBUTING.md를 보라. 테스트가 우선이고, 커버리지는 100%가 하한이며, 모든 것이 따르는 규칙은 서버가 데이터가 담고 있지 않은 어떤 것도 말하지 않는다는 것이다.

MIT에 따라 사용 허가된다.


mcp-ptitchef (프랑스어)

Ptitchef의 레시피를 읽는 MCP 서버. 읽기 전용이며, API 키도 계정도 없다.

존재 이유

Ptitchef는 재료군 트리로 레시피를 탐색하며, 각 카테고리의 주소를 자유롭게 쓴다. 같은 종류의 것이 한 줄에서는 chou-kale, 다음 줄에서는 recette-de-petits-pois, 세 번째 줄에서는 recettes-aux-feves라고 불린다. 어떤 규칙도 재료 이름에서 하나를 추론할 수 있게 해주지 않는다.

그래서 손으로 만든 주소는 빗나가고, 사이트는 HTTP 200으로 트리 루트의 카테고리들을 담아 독자를 루트로 되돌려 보내는 식으로 빗나간 응답을 한다. slug를 추측한 모델은 요청한 적 없는 수준에 대해 완전하고 확신에 찬 응답을 받는다.

이 서버는 트리를 공개해서, 카테고리가 사이트가 붙인 이름으로 열리게 한다.

도구들

list_categories

레시피를 탐색하는 데 쓰는 카테고리들을 나열한다. 인자 없이 호출하면 재료군들을 돌려주고, 어떤 군의 slug를 다시 넘기면 그 군이 담고 있는 것을 돌려준다.

인자

유형

의미

family

문자열, 선택 사항

열어볼 군의 slug. 이전 호출에서 얻은 값. 없으면 트리가 루트에서 읽힌다.

limit

정수, 선택 사항

반환되는 항목 수. 기본 20, 최대 200.

search_recipes

요리나 재료로 검색한다. 사이트는 다섯 가지 방식으로 응답하며, kind가 어느 쪽인지 말해준다. 검색을 자체 카테고리 페이지로 보낼 때는 topic, 자체 조건으로 응답할 때는 free_text, 그 주제에 대해 가이드를 작성했을 때는 guide, 단어가 충분히 정확해 카드를 열 수 있다고 판단할 때는 recipe, 이해하지 못해 홈페이지를 제공할 때는 unmatched이다.

인자

유형

의미

query

문자열

프랑스어로 된 요리 또는 재료.

limit

정수, 선택 사항

반환되는 줄 수. 기본 20, 최대 100.

browse_recipes

카테고리를 페이지별로, 또는 사이트가 유지하는 세 목록 중 하나를 탐색한다.

인자

유형

의미

category

문자열, 선택 사항

list_categories의 slug 또는 검색의 topic_slug.

listing

latest | top_rated | most_viewed

사이트의 상설 목록 중 하나.

page

정수, 선택 사항

읽을 카테고리의 페이지.

limit

정수, 선택 사항

반환되는 줄 수. 기본 20.

search_by_ingredients

사이트의 냉장고 검색을 읽는다. 입력은 한 가지에서 다섯 가지 재료, 출력은 그 재료들을 담은 레시피들.

인자

유형

의미

ingredients

문자열[]

프랑스어로 된 한 가지에서 다섯 가지 재료.

limit

정수, 선택 사항

반환되는 줄 수. 기본 20.

get_recipe

레시피를 읽고, 요청이 있으면 재료를 배율에 맞게 조정한다.

인자

유형

의미

id

문자열

검색이나 목록이 반환한 줄의 id.

servings

정수, 선택 사항

이 인분 수에 맞게 재료를 배율 조정한다.

각 줄은 산술이 무엇을 했는지 말해주는 scaling을 담고 있다. scaled는 정확하고, rounded는 사용 가능하도록 조정되었으며, unscaled는 곱할 것이 없었다. 1 oeuf를 두 배로 하면 2 oeufs가 된다. 반으로 나누면 rounded로 표시된 1 oeuf가 되는데, 반 개의 달걀은 주방에서 재는 양이 아니기 때문이다.

scale_ingredients

같은 산술을, 출처가 무엇이든 임의의 프랑스어 목록에 대해 오프라인으로 수행한다.

인자

유형

의미

ingredients

문자열[]

배율 조정할 줄들.

factor

숫자

적용할 배수.

from_servingsto_servings

숫자들

또는 배수가 도출되는 쌍.

get_recipe_translations

레시피가 출판된 다른 언어들을 나열한다. Ptitchef는 같은 레시피들을 출판하는 사이트 네트워크의 프랑스어 판이며, 각 페이지는 자매판들을 이름으로 가리킨다. 그 수가 얼마인지는 레시피에 달려 있다. 최근 것은 스무 개 이상을, 오래된 것은 하나도 이름을 대지 않는다.

응답이 단언하지 않는 것들

가이드는 목록이 아니며, 응답은 어느 쪽이 도착했는지 말해준다. 어떤 주제들은 사이트가 작성한 가이드로 제공되는데, 총계가 없고 그 줄들은 이름, 주소, 이미지, 투표 수를 담는다. 그 경우 kindguide이며, 같은 slug에 대한 browse_recipes는 주제의 전체 목록을 총계와 함께 돌려준다. épinards는 32개 레시피의 가이드를 돌려주고, 그 목록은 736개를 담는다.

다른 레시피 대신 제공된 레시피는 부재로 처리된다. 레시피 주소의 단어들은 장식일 뿐이고 번호는 장식이 아니다. 사이트가 갖고 있지 않은 번호를 요청하면 관련 없는 레시피가 HTTP 200과 완전한 상세 정보로 돌아온다. 돌아온 번호는 요청한 번호와 비교된다.

목록을 읽을 수 없는 페이지는 부재가 아니다. 개수를 담은 제목과 읽을 수 있는 목록이 없는 페이지는 이 서버가 읽을 줄 모르는 페이지이며, 서버는 « 레시피 없음, 사이트는 3200개를 보유한다고 말함 » 대신 그 사실을 돌려준다.

평점은 사이트가 계산한 숫자다. 어떤 줄은 페이로드에 3,8을 알리면서 별 네 개를 그린다. 게시되는 것은 계산된 숫자이며, 아무것도 계산하지 않는 가이드는 아무것도 게시하지 않는다.

총계가 무엇을 세는지는 응답에서 읽힌다. 사이트가 카테고리 페이지로 보내는 검색은 그 카테고리의 총계를 돌려준다. 사이트가 직접 처리하는 검색은 사이트가 센 값을 돌려주는데, 때로는 제공된 줄 수를 넘는다. 주석은 두 숫자가 그것을 확립하는 경우에만 그렇게 말한다.

아무것도 맹목적으로 곱해지지 않는다. 셀 수 있는 것은 요리사가 하나에서 취하는 가장 작은 분량으로 떨어진다. 하나의 절반을 잴 수 없는 곳에서는 정수, 예를 들어 달걀 하나. 붓거나 자를 수 있는 곳에서는 절반, 예를 들어 봉지 하나. 질량은 반올림되기 전에 단위를 내려가므로, 단위 미만의 양은 결코 0으로 떨어지지 않는다. 한 꼬집은 그 자체의 어휘를 유지하고 그 개수가 곱해지는데, 한 꼬집의 크기는 요리사의 것이기 때문이다.

배율 조정 없이 반환된 목록은 줄마다가 아니라 한 번에 그것을 말한다. servings가 없으면 산술이 없으며, 각 줄을 unscaled로 표시하는 것은 어떤 줄도 곱할 것을 담고 있지 않다고 단언하는 셈이 된다.

추정 비용은 반복될 뿐, 다시 계산되지 않는다. 그것은 사이트의 숫자이며, 페이지가 알리는 인분 수에 대해 게시된 것이고, 응답은 어느 것인지 말해준다.

페이지에서 읽은 주소는 그 사이트를 벗어나지 않는다. 다른 곳을 가리키는 줄은 « 레시피의 공개 페이지 »라는 라벨로 게시되는 대신 제외된다.

설치

npx mcp-ptitchef

Claude Code

claude mcp add ptitchef -- npx -y mcp-ptitchef

아무 MCP 클라이언트나

{
  "mcpServers": {
    "ptitchef": {
      "command": "npx",
      "args": ["-y", "mcp-ptitchef"]
    }
  }
}

컨테이너

docker build -t mcp-ptitchef .
docker run -i --rm mcp-ptitchef

컨테이너는 www.ptitchef.com에만 접속해야 하며 다른 곳에는 접속하지 않아야 한다. 컨테이너는 어떤 자격 증명도 받지 않는데, 받을 자격 증명이 없기 때문이다.

설정

각 설정은 환경 변수이며, 어느 것도 필수는 아니다. 범위를 벗어난 값은 stderr에 한 줄을 출력해 거부되고 기본값이 유지된다. 적용할 수 없는 설정은 조용히 범위 안으로 되돌려지기보다 그 사실을 말한다.

변수

기본값

범위

PTC_USER_AGENT

사용자 식별자. 프로젝트의 것은 계속 추가되어, 사이트가 사람에게 연락할 수 있게 한다.

PTC_MIN_INTERVAL_MS

1500

1000~60000

PTC_TIMEOUT_MS

20000

1000~120000

PTC_MAX_RETRIES

3

0~8

PTC_CACHE_TTL_MS

900000

0~86400000, 0은 저장을 끈다

PTC_CACHE_MAX_ENTRIES

200

1~5000

PTC_LOG_LEVEL

error

silent, error, info, debug

요청 간격 하한은 외부에서 낮출 수 없다. 사이트는 읽기에 자유롭고 어떤 크롤링 지연도 공개하지 않는데, 그것이 조심해야 할 이유다.

라이브러리로

읽기 계층은 프로토콜을 붙이지 않은 채, 자체 요청 간격, 저장소, 오류 어휘와 함께 단독으로 공개된다:

import { PtitchefClient } from "mcp-ptitchef/client";

오류

여섯 개 코드, 그 이상도 없다. 호출자는 메시지를 여는 코드에 연결한다.

Code

의미

not_found

사이트가 이 주소에 아무것도 가지고 있지 않음

invalid_input

인수가 요청을 생성할 수 없음

rate_limited

사이트가 이 클라이언트에게 속도를 늦추라고 요청함. 이것은 사이트가 가진 것에 대해 아무것도 말해 주지 않음

parse_failure

이 서버가 읽을 수 없는 형태로 응답이 도착함

network_error

요청이 완료될 수 없음

timeout

제한 시간 내에 응답이 도착하지 않음

출처 표시

레시피, 제목, 카테고리는 Ptitchef에 속합니다. 각 응답은 출처를 담고 있으며, 독자에게 보여지는 목록은 사이트를 표시하고 페이지에 링크해야 합니다.

기여

CONTRIBUTING.md를 참조하세요. 테스트 우선, 커버리지 하한선은 100%이며, 모든 것이 따르는 규칙은 서버가 데이터가 담고 있지 않은 것을 절대 말하지 않는다는 것입니다.

MIT 라이선스에 따라 사용이 허가됩니다.

A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Enables management of culinary recipes through web scraping from sites like Marmiton.org, recipe generation, ingredient management, and querying a MongoDB database of recipes, comments, users, and utensils.
    18
  • A
    license
    A
    quality
    B
    maintenance
    MCP server that searches French recipes from Marmiton, reads ingredients and steps, and rescales quantities to any number of servings without requiring an API key.
    6
    3
    2,395
    MIT

View all related MCP servers

Related MCP Connectors

  • Recipes MCP — wraps TheMealDB API (free tier, no auth)

  • Unofficial read-only MCP server for VeryChic hotel offers

  • Spoonacular food API: recipes, nutrition, ingredients, meal plans. Free 150/day.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smeet666/mcp-ptitchef'

If you have feedback or need assistance with the MCP directory API, please join our Discord server