agent-chef-mcp 1.0.6 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/catalog.json +300 -5
- package/package.json +1 -1
package/catalog.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"synced_at": "2026-09-
|
|
2
|
+
"synced_at": "2026-09-08T23:16:36.525Z",
|
|
3
3
|
"server": {
|
|
4
4
|
"name": "agent-chef",
|
|
5
5
|
"version": "0.4.0"
|
|
6
6
|
},
|
|
7
|
-
"instructions": "# How to run Agent Chef\n\nYou are the household's agent. Agent Chef is the state machine; you are the hands. You never need to remember where the week stands: the server tells you.\n\nRUN LOOP. When the user says \"run agent chef\", call run_agent_chef (it returns this manual, today's checklist, and whether a recurring schedule exists) and follow it. The first time, also schedule yourself to run \"Run Agent Chef.\" twice a day (09:00 and 18:00 in the household's timezone) and confirm it with record_schedule, so the whole week runs end to end without anyone asking. Then:\n1. Call next_actions.\n2. Execute the returned actions in order. Each one names the tool, why it's due, and the arguments or message text to use. Where an argument is in <angle brackets>, you fill it in (e.g. write the 10 recipes).\n3. Call next_actions again. Repeat until it returns no actions, then stop and report a one-line summary.\n\nWHAT THE PHASES MEAN\n- new_cycle: it's past the household's plan day. Propose 10 recipes and send the ballot. Last week's unrated dinners are collected on the ballot page itself (a rating card sits above the new options), so don't send a separate rating request; the ballot text mentions it.\n- voting: people vote on their personal links until voting_closes_at (household setting: weekday + time; set_voting_deadline moves it). You may be asked to send one reminder to non-voters shortly before the deadline, or to add 2-3 options answering ballot feedback. When everyone has voted or the deadline passes, lock in the winners, announce them, and build the cart.\n- shopping: assemble_online_grocery_order gives you the list minus the pantry plus the household's shopping_preferences (brands, organic, substitutions): follow them when picking products. Fill the cart in the store's website, show the total, and STOP for explicit approval before checkout. Then record_grocery_order.\n- cooking / idle: nothing to do until the next plan day.\n\nWRITING RECIPES (propose_recipes / add_candidates): read get_recipe_preferences first. Source recipes from real pages: import_recipe(url) saves a recipe from a trusted site with its photo, ingredients and steps, then pass its recipe_id; aim for most of the ballot to come from real sources. search_recipes finds anything already in the library. PHOTOS ARE YOUR JOB: every candidate should have a real image_url (the source page's photo, or one you found by searching). The server checks each URL is a live image and rejects dead ones; a card without a photo means you skipped this. If no real photo exists, generate one with your image tool (a realistic photo of the plated dish, natural light, no text, no people) and attach it with set_recipe_image, which stores it permanently; image-tool URLs expire, so never pass them as image_url directly. After propose_recipes, check the returned candidates for a missing image_url and fix each with set_recipe_image. Use get_favorite_recipes (include 1-2), get_past_recipes (avoid repeats from the last ~4 weeks), get_past_votes (lean into what wins), get_ingredients (use what's on hand). Each recipe: title, one appetizing sentence, servings, complete ingredients with quantities, steps, tags, and a real image_url (see PHOTOS).\n\nMESSAGING: message_group sends push notifications (to members who tapped \"notify me\" on their vote page), SMS or email, and personalises {vote_link} per person; channel auto picks push first, then text, then email. Pass the kind the action specifies so the server can track what was sent. If the household prefers, you may post the same text into their own group chat instead; still call message_group so it's logged (it dry-runs if no provider is configured).\n\nSWITCHING FROM ANOTHER APP: when the owner lists meals they loved elsewhere (Mealime, a meal kit, a recipe manager), find a real recipe page for each name on a well-known recipe site, then save them all at once with import_recipes (favorite_all: true); URLs they give you go straight in. If you have a browser tool, you can collect the favorites yourself: open the old app, let the owner sign in (never type their password), gather the recipe links, then import. Mealime and HelloFresh recipe pages import cleanly; Blue Apron and Marley Spoon block automated fetching, so for those read each recipe card in your browser and save it with create_recipe (title, ingredients with quantities, steps, servings, photo URL, source link, favorite: true). Use create_recipe whenever import_recipe fails on a page you can read. Report what you saved and what you could not find. Favorites are re-proposed on future ballots.\n\nHOUSEHOLDS OF ONE work the same way: one voter, top N by their votes, same loop. Never block on adding members.\n\nRULES: never invent a vote or a rating; never check out without explicit approval in this conversation; keep messages short and friendly; if a tool errors, fix the input and retry once, then report.",
|
|
7
|
+
"instructions": "# How to run Agent Chef\n\nYou are the household's agent. Agent Chef is the state machine; you are the hands. You never need to remember where the week stands: the server tells you.\n\nRUN LOOP. When the user says \"run agent chef\", call run_agent_chef (it returns this manual, today's checklist, and whether a recurring schedule exists) and follow it. The first time, also schedule yourself to run \"Run Agent Chef.\" twice a day (09:00 and 18:00 in the household's timezone) and confirm it with record_schedule, so the whole week runs end to end without anyone asking. Then:\n1. Call next_actions.\n2. Execute the returned actions in order. Each one names the tool, why it's due, and the arguments or message text to use. Where an argument is in <angle brackets>, you fill it in (e.g. write the 10 recipes).\n3. Call next_actions again. Repeat until it returns no actions, then stop and report a one-line summary.\n\nWHAT THE PHASES MEAN\n- new_cycle: it's past the household's plan day. Propose 10 recipes and send the ballot. Last week's unrated dinners are collected on the ballot page itself (a rating card sits above the new options), so don't send a separate rating request; the ballot text mentions it.\n- voting: people vote on their personal links until voting_closes_at (household setting: weekday + time; set_voting_deadline moves it). You may be asked to send one reminder to non-voters shortly before the deadline, or to add 2-3 options answering ballot feedback. When everyone has voted or the deadline passes, lock in the winners, announce them, and build the cart.\n- shopping: assemble_online_grocery_order gives you the list minus the pantry plus the household's shopping_preferences (brands, organic, substitutions): follow them when picking products. Fill the cart in the store's website, show the total, and STOP for explicit approval before checkout. Then record_grocery_order.\n- cooking / idle: nothing to do until the next plan day.\n\nWRITING RECIPES (propose_recipes / add_candidates): read get_recipe_preferences first. Source recipes from real pages: import_recipe(url) saves a recipe from a trusted site with its photo, ingredients and steps, then pass its recipe_id; aim for most of the ballot to come from real sources. search_recipes finds anything already in the library. PHOTOS ARE YOUR JOB: every candidate should have a real image_url (the source page's photo, or one you found by searching). The server checks each URL is a live image and rejects dead ones; a card without a photo means you skipped this. If no real photo exists, generate one with your image tool (a realistic photo of the plated dish, natural light, no text, no people) and attach it with set_recipe_image, which stores it permanently; image-tool URLs expire, so never pass them as image_url directly. After propose_recipes, check the returned candidates for a missing image_url and fix each with set_recipe_image. Use get_favorite_recipes (include 1-2), get_past_recipes (avoid repeats from the last ~4 weeks), get_past_votes (lean into what wins), get_ingredients (use what's on hand). Each recipe: title, one appetizing sentence, servings, complete ingredients with quantities, steps, tags, and a real image_url (see PHOTOS).\n\nMESSAGING: message_group sends push notifications (to members who tapped \"notify me\" on their vote page), SMS or email, and personalises {vote_link} per person; channel auto picks push first, then text, then email. Pass the kind the action specifies so the server can track what was sent. If the household prefers, you may post the same text into their own group chat instead; still call message_group so it's logged (it dry-runs if no provider is configured).\n\nSWITCHING FROM ANOTHER APP: when the owner lists meals they loved elsewhere (Mealime, a meal kit, a recipe manager), find a real recipe page for each name on a well-known recipe site, then save them all at once with import_recipes (favorite_all: true); URLs they give you go straight in. If you have a browser tool, you can collect the favorites yourself: open the old app, let the owner sign in (never type their password), gather the recipe links, then import. Mealime and HelloFresh recipe pages import cleanly; Blue Apron and Marley Spoon block automated fetching, so for those read each recipe card in your browser and save it with create_recipe (title, ingredients with quantities, steps, servings, photo URL, source link, favorite: true). Use create_recipe whenever import_recipe fails on a page you can read. Report what you saved and what you could not find. Favorites are re-proposed on future ballots.\n\nON-DEMAND REQUESTS: when the owner asks for something the schedule wouldn't do yet (\"start next week's ballot now\", \"add two more options\", \"lock it in early\", \"send a reminder\"), do it directly with the matching tool even if next_actions says nothing is due. For an early ballot, call propose_recipes with week_start set to the coming cycle start (next_actions returns it as on_demand / cycle_start) and then message_group with the ballot.\n\nHOUSEHOLDS OF ONE work the same way: one voter, top N by their votes, same loop. Never block on adding members.\n\nRULES: never invent a vote or a rating; never check out without explicit approval in this conversation; keep messages short and friendly; if a tool errors, fix the input and retry once, then report.",
|
|
8
8
|
"tools": [
|
|
9
9
|
{
|
|
10
10
|
"name": "run_agent_chef",
|
|
@@ -99,6 +99,13 @@
|
|
|
99
99
|
"string",
|
|
100
100
|
"null"
|
|
101
101
|
]
|
|
102
|
+
},
|
|
103
|
+
"share_url": {
|
|
104
|
+
"type": [
|
|
105
|
+
"string",
|
|
106
|
+
"null"
|
|
107
|
+
],
|
|
108
|
+
"description": "Public page showing this week's winners"
|
|
102
109
|
}
|
|
103
110
|
},
|
|
104
111
|
"required": [
|
|
@@ -204,6 +211,12 @@
|
|
|
204
211
|
"null"
|
|
205
212
|
]
|
|
206
213
|
},
|
|
214
|
+
"on_demand": {
|
|
215
|
+
"type": [
|
|
216
|
+
"string",
|
|
217
|
+
"null"
|
|
218
|
+
]
|
|
219
|
+
},
|
|
207
220
|
"billing": {
|
|
208
221
|
"anyOf": [
|
|
209
222
|
{
|
|
@@ -567,6 +580,13 @@
|
|
|
567
580
|
"string",
|
|
568
581
|
"null"
|
|
569
582
|
]
|
|
583
|
+
},
|
|
584
|
+
"share_url": {
|
|
585
|
+
"type": [
|
|
586
|
+
"string",
|
|
587
|
+
"null"
|
|
588
|
+
],
|
|
589
|
+
"description": "Public page showing this week's winners"
|
|
570
590
|
}
|
|
571
591
|
},
|
|
572
592
|
"required": [
|
|
@@ -672,6 +692,12 @@
|
|
|
672
692
|
"null"
|
|
673
693
|
]
|
|
674
694
|
},
|
|
695
|
+
"on_demand": {
|
|
696
|
+
"type": [
|
|
697
|
+
"string",
|
|
698
|
+
"null"
|
|
699
|
+
]
|
|
700
|
+
},
|
|
675
701
|
"billing": {
|
|
676
702
|
"anyOf": [
|
|
677
703
|
{
|
|
@@ -1488,6 +1514,19 @@
|
|
|
1488
1514
|
"null"
|
|
1489
1515
|
]
|
|
1490
1516
|
},
|
|
1517
|
+
"is_public": {
|
|
1518
|
+
"type": [
|
|
1519
|
+
"boolean",
|
|
1520
|
+
"null"
|
|
1521
|
+
]
|
|
1522
|
+
},
|
|
1523
|
+
"public_url": {
|
|
1524
|
+
"type": [
|
|
1525
|
+
"string",
|
|
1526
|
+
"null"
|
|
1527
|
+
],
|
|
1528
|
+
"description": "Indexable public page, when published"
|
|
1529
|
+
},
|
|
1491
1530
|
"created_at": {
|
|
1492
1531
|
"type": [
|
|
1493
1532
|
"string",
|
|
@@ -1678,6 +1717,19 @@
|
|
|
1678
1717
|
"null"
|
|
1679
1718
|
]
|
|
1680
1719
|
},
|
|
1720
|
+
"is_public": {
|
|
1721
|
+
"type": [
|
|
1722
|
+
"boolean",
|
|
1723
|
+
"null"
|
|
1724
|
+
]
|
|
1725
|
+
},
|
|
1726
|
+
"public_url": {
|
|
1727
|
+
"type": [
|
|
1728
|
+
"string",
|
|
1729
|
+
"null"
|
|
1730
|
+
],
|
|
1731
|
+
"description": "Indexable public page, when published"
|
|
1732
|
+
},
|
|
1681
1733
|
"created_at": {
|
|
1682
1734
|
"type": [
|
|
1683
1735
|
"string",
|
|
@@ -1741,7 +1793,7 @@
|
|
|
1741
1793
|
{
|
|
1742
1794
|
"name": "get_recipe",
|
|
1743
1795
|
"title": "Get a recipe",
|
|
1744
|
-
"description": "Full details for one recipe: ingredients, steps, servings, source, tags, ratings, comments, how often it's been cooked,
|
|
1796
|
+
"description": "Full details for one recipe: ingredients, steps, servings, source, tags, ratings, comments, how often it's been cooked, a link to its page, and a public share_url anyone can open.",
|
|
1745
1797
|
"inputSchema": {
|
|
1746
1798
|
"type": "object",
|
|
1747
1799
|
"properties": {
|
|
@@ -1857,6 +1909,19 @@
|
|
|
1857
1909
|
"null"
|
|
1858
1910
|
]
|
|
1859
1911
|
},
|
|
1912
|
+
"is_public": {
|
|
1913
|
+
"type": [
|
|
1914
|
+
"boolean",
|
|
1915
|
+
"null"
|
|
1916
|
+
]
|
|
1917
|
+
},
|
|
1918
|
+
"public_url": {
|
|
1919
|
+
"type": [
|
|
1920
|
+
"string",
|
|
1921
|
+
"null"
|
|
1922
|
+
],
|
|
1923
|
+
"description": "Indexable public page, when published"
|
|
1924
|
+
},
|
|
1860
1925
|
"created_at": {
|
|
1861
1926
|
"type": [
|
|
1862
1927
|
"string",
|
|
@@ -1964,6 +2029,13 @@
|
|
|
1964
2029
|
},
|
|
1965
2030
|
"url": {
|
|
1966
2031
|
"$ref": "#/properties/id"
|
|
2032
|
+
},
|
|
2033
|
+
"share_url": {
|
|
2034
|
+
"type": [
|
|
2035
|
+
"string",
|
|
2036
|
+
"null"
|
|
2037
|
+
],
|
|
2038
|
+
"description": "Public page for this recipe"
|
|
1967
2039
|
}
|
|
1968
2040
|
},
|
|
1969
2041
|
"required": [
|
|
@@ -2102,6 +2174,19 @@
|
|
|
2102
2174
|
"null"
|
|
2103
2175
|
]
|
|
2104
2176
|
},
|
|
2177
|
+
"is_public": {
|
|
2178
|
+
"type": [
|
|
2179
|
+
"boolean",
|
|
2180
|
+
"null"
|
|
2181
|
+
]
|
|
2182
|
+
},
|
|
2183
|
+
"public_url": {
|
|
2184
|
+
"type": [
|
|
2185
|
+
"string",
|
|
2186
|
+
"null"
|
|
2187
|
+
],
|
|
2188
|
+
"description": "Indexable public page, when published"
|
|
2189
|
+
},
|
|
2105
2190
|
"created_at": {
|
|
2106
2191
|
"type": [
|
|
2107
2192
|
"string",
|
|
@@ -2190,7 +2275,7 @@
|
|
|
2190
2275
|
{
|
|
2191
2276
|
"name": "update_recipe",
|
|
2192
2277
|
"title": "Update a recipe",
|
|
2193
|
-
"description": "Edit a stored recipe: fix an ingredient, add steps, change servings, tags, image or source. Only provided fields change.",
|
|
2278
|
+
"description": "Edit a stored recipe: fix an ingredient, add steps, change servings, tags, image or source, or set public to publish it on agentchef.net/recipes. Only provided fields change.",
|
|
2194
2279
|
"inputSchema": {
|
|
2195
2280
|
"type": "object",
|
|
2196
2281
|
"properties": {
|
|
@@ -2243,6 +2328,10 @@
|
|
|
2243
2328
|
"items": {
|
|
2244
2329
|
"type": "string"
|
|
2245
2330
|
}
|
|
2331
|
+
},
|
|
2332
|
+
"public": {
|
|
2333
|
+
"type": "boolean",
|
|
2334
|
+
"description": "Publish this recipe on agentchef.net/recipes (indexable, with the household's name). Imported recipes show ingredients and link to the source for steps."
|
|
2246
2335
|
}
|
|
2247
2336
|
},
|
|
2248
2337
|
"required": [
|
|
@@ -2353,6 +2442,19 @@
|
|
|
2353
2442
|
"null"
|
|
2354
2443
|
]
|
|
2355
2444
|
},
|
|
2445
|
+
"is_public": {
|
|
2446
|
+
"type": [
|
|
2447
|
+
"boolean",
|
|
2448
|
+
"null"
|
|
2449
|
+
]
|
|
2450
|
+
},
|
|
2451
|
+
"public_url": {
|
|
2452
|
+
"type": [
|
|
2453
|
+
"string",
|
|
2454
|
+
"null"
|
|
2455
|
+
],
|
|
2456
|
+
"description": "Indexable public page, when published"
|
|
2457
|
+
},
|
|
2356
2458
|
"created_at": {
|
|
2357
2459
|
"type": [
|
|
2358
2460
|
"string",
|
|
@@ -2498,6 +2600,19 @@
|
|
|
2498
2600
|
"null"
|
|
2499
2601
|
]
|
|
2500
2602
|
},
|
|
2603
|
+
"is_public": {
|
|
2604
|
+
"type": [
|
|
2605
|
+
"boolean",
|
|
2606
|
+
"null"
|
|
2607
|
+
]
|
|
2608
|
+
},
|
|
2609
|
+
"public_url": {
|
|
2610
|
+
"type": [
|
|
2611
|
+
"string",
|
|
2612
|
+
"null"
|
|
2613
|
+
],
|
|
2614
|
+
"description": "Indexable public page, when published"
|
|
2615
|
+
},
|
|
2501
2616
|
"created_at": {
|
|
2502
2617
|
"type": [
|
|
2503
2618
|
"string",
|
|
@@ -2695,6 +2810,19 @@
|
|
|
2695
2810
|
"null"
|
|
2696
2811
|
]
|
|
2697
2812
|
},
|
|
2813
|
+
"is_public": {
|
|
2814
|
+
"type": [
|
|
2815
|
+
"boolean",
|
|
2816
|
+
"null"
|
|
2817
|
+
]
|
|
2818
|
+
},
|
|
2819
|
+
"public_url": {
|
|
2820
|
+
"type": [
|
|
2821
|
+
"string",
|
|
2822
|
+
"null"
|
|
2823
|
+
],
|
|
2824
|
+
"description": "Indexable public page, when published"
|
|
2825
|
+
},
|
|
2698
2826
|
"created_at": {
|
|
2699
2827
|
"type": [
|
|
2700
2828
|
"string",
|
|
@@ -3007,6 +3135,19 @@
|
|
|
3007
3135
|
"null"
|
|
3008
3136
|
]
|
|
3009
3137
|
},
|
|
3138
|
+
"is_public": {
|
|
3139
|
+
"type": [
|
|
3140
|
+
"boolean",
|
|
3141
|
+
"null"
|
|
3142
|
+
]
|
|
3143
|
+
},
|
|
3144
|
+
"public_url": {
|
|
3145
|
+
"type": [
|
|
3146
|
+
"string",
|
|
3147
|
+
"null"
|
|
3148
|
+
],
|
|
3149
|
+
"description": "Indexable public page, when published"
|
|
3150
|
+
},
|
|
3010
3151
|
"created_at": {
|
|
3011
3152
|
"type": [
|
|
3012
3153
|
"string",
|
|
@@ -3139,6 +3280,13 @@
|
|
|
3139
3280
|
"string",
|
|
3140
3281
|
"null"
|
|
3141
3282
|
]
|
|
3283
|
+
},
|
|
3284
|
+
"share_url": {
|
|
3285
|
+
"type": [
|
|
3286
|
+
"string",
|
|
3287
|
+
"null"
|
|
3288
|
+
],
|
|
3289
|
+
"description": "Public page showing this week's winners"
|
|
3142
3290
|
}
|
|
3143
3291
|
},
|
|
3144
3292
|
"required": [
|
|
@@ -3251,6 +3399,19 @@
|
|
|
3251
3399
|
"null"
|
|
3252
3400
|
]
|
|
3253
3401
|
},
|
|
3402
|
+
"is_public": {
|
|
3403
|
+
"type": [
|
|
3404
|
+
"boolean",
|
|
3405
|
+
"null"
|
|
3406
|
+
]
|
|
3407
|
+
},
|
|
3408
|
+
"public_url": {
|
|
3409
|
+
"type": [
|
|
3410
|
+
"string",
|
|
3411
|
+
"null"
|
|
3412
|
+
],
|
|
3413
|
+
"description": "Indexable public page, when published"
|
|
3414
|
+
},
|
|
3254
3415
|
"created_at": {
|
|
3255
3416
|
"type": [
|
|
3256
3417
|
"string",
|
|
@@ -3636,6 +3797,13 @@
|
|
|
3636
3797
|
"string",
|
|
3637
3798
|
"null"
|
|
3638
3799
|
]
|
|
3800
|
+
},
|
|
3801
|
+
"share_url": {
|
|
3802
|
+
"type": [
|
|
3803
|
+
"string",
|
|
3804
|
+
"null"
|
|
3805
|
+
],
|
|
3806
|
+
"description": "Public page showing this week's winners"
|
|
3639
3807
|
}
|
|
3640
3808
|
},
|
|
3641
3809
|
"required": [
|
|
@@ -3741,6 +3909,19 @@
|
|
|
3741
3909
|
"null"
|
|
3742
3910
|
]
|
|
3743
3911
|
},
|
|
3912
|
+
"is_public": {
|
|
3913
|
+
"type": [
|
|
3914
|
+
"boolean",
|
|
3915
|
+
"null"
|
|
3916
|
+
]
|
|
3917
|
+
},
|
|
3918
|
+
"public_url": {
|
|
3919
|
+
"type": [
|
|
3920
|
+
"string",
|
|
3921
|
+
"null"
|
|
3922
|
+
],
|
|
3923
|
+
"description": "Indexable public page, when published"
|
|
3924
|
+
},
|
|
3744
3925
|
"created_at": {
|
|
3745
3926
|
"type": [
|
|
3746
3927
|
"string",
|
|
@@ -3987,6 +4168,13 @@
|
|
|
3987
4168
|
"string",
|
|
3988
4169
|
"null"
|
|
3989
4170
|
]
|
|
4171
|
+
},
|
|
4172
|
+
"share_url": {
|
|
4173
|
+
"type": [
|
|
4174
|
+
"string",
|
|
4175
|
+
"null"
|
|
4176
|
+
],
|
|
4177
|
+
"description": "Public page showing this week's winners"
|
|
3990
4178
|
}
|
|
3991
4179
|
},
|
|
3992
4180
|
"required": [
|
|
@@ -4092,6 +4280,19 @@
|
|
|
4092
4280
|
"null"
|
|
4093
4281
|
]
|
|
4094
4282
|
},
|
|
4283
|
+
"is_public": {
|
|
4284
|
+
"type": [
|
|
4285
|
+
"boolean",
|
|
4286
|
+
"null"
|
|
4287
|
+
]
|
|
4288
|
+
},
|
|
4289
|
+
"public_url": {
|
|
4290
|
+
"type": [
|
|
4291
|
+
"string",
|
|
4292
|
+
"null"
|
|
4293
|
+
],
|
|
4294
|
+
"description": "Indexable public page, when published"
|
|
4295
|
+
},
|
|
4095
4296
|
"created_at": {
|
|
4096
4297
|
"type": [
|
|
4097
4298
|
"string",
|
|
@@ -4343,7 +4544,7 @@
|
|
|
4343
4544
|
{
|
|
4344
4545
|
"name": "message_group",
|
|
4345
4546
|
"title": "Message the household",
|
|
4346
|
-
"description": "Send a push notification, SMS/MMS or email to household members. '{vote_link}' in the message becomes each member's personal voting link. Channel 'auto' texts members with a phone and emails the rest. Providers now: {\"sms\":\"dry-run\",\"email\":\"
|
|
4547
|
+
"description": "Send a push notification, SMS/MMS or email to household members. '{vote_link}' in the message becomes each member's personal voting link. Channel 'auto' texts members with a phone and emails the rest. Providers now: {\"sms\":\"dry-run\",\"email\":\"resend\",\"push\":\"web-push\"} (dry-run = logged only).",
|
|
4347
4548
|
"inputSchema": {
|
|
4348
4549
|
"type": "object",
|
|
4349
4550
|
"properties": {
|
|
@@ -4646,6 +4847,13 @@
|
|
|
4646
4847
|
"string",
|
|
4647
4848
|
"null"
|
|
4648
4849
|
]
|
|
4850
|
+
},
|
|
4851
|
+
"share_url": {
|
|
4852
|
+
"type": [
|
|
4853
|
+
"string",
|
|
4854
|
+
"null"
|
|
4855
|
+
],
|
|
4856
|
+
"description": "Public page showing this week's winners"
|
|
4649
4857
|
}
|
|
4650
4858
|
},
|
|
4651
4859
|
"required": [
|
|
@@ -4779,6 +4987,13 @@
|
|
|
4779
4987
|
"string",
|
|
4780
4988
|
"null"
|
|
4781
4989
|
]
|
|
4990
|
+
},
|
|
4991
|
+
"share_url": {
|
|
4992
|
+
"type": [
|
|
4993
|
+
"string",
|
|
4994
|
+
"null"
|
|
4995
|
+
],
|
|
4996
|
+
"description": "Public page showing this week's winners"
|
|
4782
4997
|
}
|
|
4783
4998
|
},
|
|
4784
4999
|
"required": [
|
|
@@ -4884,6 +5099,19 @@
|
|
|
4884
5099
|
"null"
|
|
4885
5100
|
]
|
|
4886
5101
|
},
|
|
5102
|
+
"is_public": {
|
|
5103
|
+
"type": [
|
|
5104
|
+
"boolean",
|
|
5105
|
+
"null"
|
|
5106
|
+
]
|
|
5107
|
+
},
|
|
5108
|
+
"public_url": {
|
|
5109
|
+
"type": [
|
|
5110
|
+
"string",
|
|
5111
|
+
"null"
|
|
5112
|
+
],
|
|
5113
|
+
"description": "Indexable public page, when published"
|
|
5114
|
+
},
|
|
4887
5115
|
"created_at": {
|
|
4888
5116
|
"type": [
|
|
4889
5117
|
"string",
|
|
@@ -5053,6 +5281,12 @@
|
|
|
5053
5281
|
"recipes"
|
|
5054
5282
|
],
|
|
5055
5283
|
"additionalProperties": true
|
|
5284
|
+
},
|
|
5285
|
+
"share_hint": {
|
|
5286
|
+
"type": [
|
|
5287
|
+
"string",
|
|
5288
|
+
"null"
|
|
5289
|
+
]
|
|
5056
5290
|
}
|
|
5057
5291
|
},
|
|
5058
5292
|
"required": [
|
|
@@ -5119,6 +5353,13 @@
|
|
|
5119
5353
|
"string",
|
|
5120
5354
|
"null"
|
|
5121
5355
|
]
|
|
5356
|
+
},
|
|
5357
|
+
"share_url": {
|
|
5358
|
+
"type": [
|
|
5359
|
+
"string",
|
|
5360
|
+
"null"
|
|
5361
|
+
],
|
|
5362
|
+
"description": "Public page showing this week's winners"
|
|
5122
5363
|
}
|
|
5123
5364
|
},
|
|
5124
5365
|
"required": [
|
|
@@ -5224,6 +5465,19 @@
|
|
|
5224
5465
|
"null"
|
|
5225
5466
|
]
|
|
5226
5467
|
},
|
|
5468
|
+
"is_public": {
|
|
5469
|
+
"type": [
|
|
5470
|
+
"boolean",
|
|
5471
|
+
"null"
|
|
5472
|
+
]
|
|
5473
|
+
},
|
|
5474
|
+
"public_url": {
|
|
5475
|
+
"type": [
|
|
5476
|
+
"string",
|
|
5477
|
+
"null"
|
|
5478
|
+
],
|
|
5479
|
+
"description": "Indexable public page, when published"
|
|
5480
|
+
},
|
|
5227
5481
|
"created_at": {
|
|
5228
5482
|
"type": [
|
|
5229
5483
|
"string",
|
|
@@ -5374,6 +5628,13 @@
|
|
|
5374
5628
|
"string",
|
|
5375
5629
|
"null"
|
|
5376
5630
|
]
|
|
5631
|
+
},
|
|
5632
|
+
"share_url": {
|
|
5633
|
+
"type": [
|
|
5634
|
+
"string",
|
|
5635
|
+
"null"
|
|
5636
|
+
],
|
|
5637
|
+
"description": "Public page showing this week's winners"
|
|
5377
5638
|
}
|
|
5378
5639
|
},
|
|
5379
5640
|
"required": [
|
|
@@ -5530,6 +5791,19 @@
|
|
|
5530
5791
|
"null"
|
|
5531
5792
|
]
|
|
5532
5793
|
},
|
|
5794
|
+
"is_public": {
|
|
5795
|
+
"type": [
|
|
5796
|
+
"boolean",
|
|
5797
|
+
"null"
|
|
5798
|
+
]
|
|
5799
|
+
},
|
|
5800
|
+
"public_url": {
|
|
5801
|
+
"type": [
|
|
5802
|
+
"string",
|
|
5803
|
+
"null"
|
|
5804
|
+
],
|
|
5805
|
+
"description": "Indexable public page, when published"
|
|
5806
|
+
},
|
|
5533
5807
|
"created_at": {
|
|
5534
5808
|
"type": [
|
|
5535
5809
|
"string",
|
|
@@ -5575,6 +5849,13 @@
|
|
|
5575
5849
|
"string",
|
|
5576
5850
|
"null"
|
|
5577
5851
|
]
|
|
5852
|
+
},
|
|
5853
|
+
"share_url": {
|
|
5854
|
+
"type": [
|
|
5855
|
+
"string",
|
|
5856
|
+
"null"
|
|
5857
|
+
],
|
|
5858
|
+
"description": "Public page showing this week's winners"
|
|
5578
5859
|
}
|
|
5579
5860
|
},
|
|
5580
5861
|
"required": [
|
|
@@ -5686,6 +5967,13 @@
|
|
|
5686
5967
|
"string",
|
|
5687
5968
|
"null"
|
|
5688
5969
|
]
|
|
5970
|
+
},
|
|
5971
|
+
"share_url": {
|
|
5972
|
+
"type": [
|
|
5973
|
+
"string",
|
|
5974
|
+
"null"
|
|
5975
|
+
],
|
|
5976
|
+
"description": "Public page showing this week's winners"
|
|
5689
5977
|
}
|
|
5690
5978
|
},
|
|
5691
5979
|
"required": [
|
|
@@ -5893,6 +6181,13 @@
|
|
|
5893
6181
|
"string",
|
|
5894
6182
|
"null"
|
|
5895
6183
|
]
|
|
6184
|
+
},
|
|
6185
|
+
"share_url": {
|
|
6186
|
+
"type": [
|
|
6187
|
+
"string",
|
|
6188
|
+
"null"
|
|
6189
|
+
],
|
|
6190
|
+
"description": "Public page showing this week's winners"
|
|
5896
6191
|
}
|
|
5897
6192
|
},
|
|
5898
6193
|
"required": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-chef-mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "Family meal planning run by your own AI agent: weekly dinners, household votes, grocery list minus the pantry. Stdio MCP server for the hosted Agent Chef service (https://agentchef.net/mcp).",
|
|
5
5
|
"homepage": "https://agentchef.net",
|
|
6
6
|
"repository": {
|