Context7
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Search six recipe sites at once, in French, English and Spanish, and scale quantities.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
RECIPES_USER_AGENT, RECIPES_MIN_INTERVAL_MS, RECIPES_TIMEOUT_MS, RECIPES_MAX_RETRIES, RECIPES_CACHE_TTL_MS, RECIPES_CACHE_MAX_ENTRIES, RECIPES_LOG_LEVELต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ลิงก์ไปที่ไฟล์ของผู้ทำเอง เราไม่ได้เก็บหรือแพ็กใหม่ เปิดไฟล์แล้ว Claude Desktop จะติดตั้งให้
พิมพ์คำสั่งนี้ใน Terminal
claude mcp add recipes --env RECIPES_USER_AGENT='ใส่ค่าของคุณ' --env RECIPES_MIN_INTERVAL_MS='ใส่ค่าของคุณ' --env RECIPES_TIMEOUT_MS='ใส่ค่าของคุณ' --env RECIPES_MAX_RETRIES='ใส่ค่าของคุณ' --env RECIPES_CACHE_TTL_MS='ใส่ค่าของคุณ' --env RECIPES_CACHE_MAX_ENTRIES='ใส่ค่าของคุณ' --env RECIPES_LOG_LEVEL='ใส่ค่าของคุณ' -- npx -y mcp-recipesเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"recipes": {
"command": "npx",
"args": [
"-y",
"mcp-recipes"
],
"env": {
"RECIPES_USER_AGENT": "ใส่ค่าของคุณ",
"RECIPES_MIN_INTERVAL_MS": "ใส่ค่าของคุณ",
"RECIPES_TIMEOUT_MS": "ใส่ค่าของคุณ",
"RECIPES_MAX_RETRIES": "ใส่ค่าของคุณ",
"RECIPES_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"RECIPES_CACHE_MAX_ENTRIES": "ใส่ค่าของคุณ",
"RECIPES_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"recipes": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-recipes"
],
"env": {
"RECIPES_USER_AGENT": "ใส่ค่าของคุณ",
"RECIPES_MIN_INTERVAL_MS": "ใส่ค่าของคุณ",
"RECIPES_TIMEOUT_MS": "ใส่ค่าของคุณ",
"RECIPES_MAX_RETRIES": "ใส่ค่าของคุณ",
"RECIPES_CACHE_TTL_MS": "ใส่ค่าของคุณ",
"RECIPES_CACHE_MAX_ENTRIES": "ใส่ค่าของคุณ",
"RECIPES_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
RECIPES_USER_AGENT envRECIPES_MIN_INTERVAL_MS envRECIPES_TIMEOUT_MS envRECIPES_MAX_RETRIES envRECIPES_CACHE_TTL_MS envRECIPES_CACHE_MAX_ENTRIES envRECIPES_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub smeet666 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (4.1.0) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, MCPB ในเครื่องด้วย
ในหมวดเดียวกันมี Context7, Codebase Memory, Exa
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ส่งคู่มือการใช้ไลบรารีและเฟรมเวิร์กรุ่นล่าสุดให้ AI อ่านก่อนตอบ ช่วยให้โค้ดที่ AI เขียนไม่ใช้คำสั่งเก่าที่เลิกใช้แล้ว
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Recipes live on many sites, and each one writes them its own way: a French cooking site publishes in French, with its own measures and its own idea of what a serving is, and a wiki cookbook in English, with equipment lists and prose the first has no field for. Asking a question of one of them answers about one of them.
This server reads six. Three publish in French, Marmiton, Ptitchef and Supertoinette; two in English, the Wikibooks Cookbook and BBC Good Food; and one in Spanish, Pequerecetas. You can search them all with one question, read a recipe from any of them in one shape, put several versions of the same dish side by side, and rescale any ingredient list. It needs no API key and no account.
_Version française_
One-click install
Claude Code
claude mcp add recipes -- npx -y mcp-recipes
Claude Desktop, Cursor, and any client using the standard config format
{
"mcpServers": { "recipes": { "command": "npx", "args": ["-y", "mcp-recipes"] } } }
Node 24 or later is required, and no environment variable has to be set.
{
"mcpServers": { "recipes": { "command": "docker", "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-recipes:4.1.0"] } } }
-i keeps stdin open, which is where the protocol travels, and -t is left out because a TTY rewrites the stream. The container needs outbound HTTPS to www.marmiton.org, api.wikimedia.org, www.ptitchef.com, www.bbcgoodfood.com, www.supertoinette.com and www.pequerecetas.com, and nothing else: no volume, no port, no credential.
Download mcp-recipes-4.1.0.mcpb from the latest release and open it. A client that supports MCP bundles installs it on its own, with no npm and no configuration file to edit. The bundle carries its dependencies, so nothing is fetched at install time.
The ordinary path runs from a search to a reading: a row carries an id naming its source, and get_recipe takes it.
| Source | Site | Language |
|---|---|---|
marmiton | www.marmiton.org | French |
cookbook | Wikibooks Cookbook | English |
ptitchef | www.ptitchef.com | French |
goodfood | www.bbcgoodfood.com | English |
supertoinette | www.supertoinette.com | French |
pequerecetas | www.pequerecetas.com | Spanish |
A row's id names its source, so an identifier read from one answer goes back to the right site. Counts are never added across sources, and a source that failed is reported as having failed rather than as having found nothing.
Each site is read at its own pace: two of them ask for three seconds between requests, and a setting posted for all of them can only make this server more patient than the slowest asks for.
Two of these sites file something other than a recipe at the address a recipe lives at. The Wikibooks Cookbook keeps pages about an ingredient beside the recipes using it, and Pequerecetas publishes articles that gather recipes. A search says so, and get_recipe says what it read off the page.
| Tool | What it does |
|---|---|
search_recipes | Searches every source with one question. |
get_recipe | Reads one recipe from any source, in one shape. |
compare_recipes | Puts several versions of the same dish side by side. |
scale_ingredients | Rescales any ingredient list, with no request to any site. |
search_recipesSearches every source with one question.
| Argument | Type | Required | What it does |
|---|---|---|---|
query | string, 1 to 200 characters | yes | The dish or the ingredient to look for. |
limit_per_source | integer, 1 to 25, default 5 | no | Rows to keep from each source. |
sources | array of source ids | no | Ask these sources alone. |
fan_out | boolean, default true | no | Also send each source shorter wordings derived from the question. |
In return: results, rows carrying id, which get_recipe takes; source and source_name saying which site published the row; title; url; image_url; and an excerpt where the source offers one. per_source gives one report per site with its status, reading answered or failed, the count it contributed, and its reported_total alongside reported_total_means, which says what that number counts on that site. names_the_dish says how many of that site's rows carry the dish in their title, out of count: a search index answers the words it is handed, so a site can offer rows and none of them be the dish. order says in words how the list was built.
get_recipeReads one recipe from any source, in one shape.
| Argument | Type | Required | What it does |
|---|---|---|---|
id | string, 1 to 500 characters | yes | The identifier a row carries, such as marmiton:44078. Two sources address a recipe by a bare number, so spell an id with its source. |
servings | integer, 1 to 500 | no | Rescale the ingredients to this many servings. |
sections | array of ingredients, steps, times, nutrition, tips, equipment, default ["ingredients", "steps"] | no | Which parts to return. |
max_steps | integer, 1 to 100, default 20 | no | Steps to serve. |
max_gathered | integer, 1 to 500, default 30 | no | Recipes and headings to return from an address that gathers recipes. |
max_step_chars | integer, 80 to 4000, default 600 | no | Characters kept per step. |
In return: kind says what the address held. A recipe answer carries recipe and no collection; a collection answer carries collection and no recipe, and is an article gathering other recipes, with the headings it is built from and the recipes it points at, each of them readable with get_recipe.
A recipe comes in the shape every source is rendered into, whichever published it: its title, its address, its ingredients with each line's scaling and is_equipment, its steps, and the sections asked for. A field one source publishes and another has no notion of comes back absent rather than invented. rest_minutes carries a resting time from a source that prints one apart, and is in no other time here. steps_as_one_block says when a source published its method as one block of prose rather than as steps. withheld names a part a source keeps for its subscribers, which is a part the page has rather than a part that could not be read. scaling_summary counts the lines four ways, and the four add up to the list. Raise max_step_chars when a step was cut mid-sentence.
compare_recipesPuts several versions of the same dish side by side.
| Argument | Type | Required | What it does |
|---|---|---|---|
dish | string, 1 to 200 characters | yes | The dish to compare. |
servings | integer, 1 to 500 | no | Rescale every version to this many servings. |
| sections | array of `ingre
ตัดมาแค่ช่วงต้น อ่านต่อใน repo