Skip to Content
ResourcesIntegrationsProductivity & DocsForkable

Forkable

Forkable icon
Arcade Optimized

Arcade tools for Forkable — list this week's meals, browse menus, and pick what you want delivered

Author:Arcade
Version:1.0.1
Auth:No authentication required
5tools
5require secrets

Forkable is a workplace meal delivery service; this toolkit lets agents and users browse weekly menus, inspect dietary restrictions, and manage picks (swap or skip) entirely through code.

Capabilities

  • Weekly schedule visibility — retrieve upcoming delivery days, current pick state (open / locked / delivered), and linked menu IDs in one call.
  • Menu browsing — fetch full menu details (sections, items, prices, modifiers, IDs) for one or more menus at once.
  • Meal selection & modification — swap an existing allocated meal with any available menu item, receiving the refreshed pick and updated amount due.
  • Skip management — remove an assigned meal from an open (unlocked) delivery day.
  • Dietary safety checks — validate a prospective item + modifier combination against the signed-in user's dietary restrictions before committing a pick.

Secrets

This toolkit requires credentials for a Forkable account. No OAuth flow is used — authentication is performed with a registered email and password.

  • FORKABLE_EMAIL — The email address associated with your Forkable account. This is the same address used to log in at forkable.com. No special account tier is required.

  • FORKABLE_PASSWORD — The password for that Forkable account. Retrieve or reset it via the Forkable login/account page. Store it as a secret rather than hardcoding it — never expose it in prompts or logs.

Store both secrets in the Arcade secrets manager. See the Arcade secrets docs for setup instructions, or manage them directly at https://api.arcade.dev/dashboard/auth/secrets.

Available tools(5)

5 of 5 tools
Operations
Behavior
Tool nameDescriptionSecrets
Check whether picking this item (with the given modifier selections) would conflict with the signed-in user's dietary restrictions. Returns the list of conflict tags (e.g. `["dairy_free"]`) — empty if the item is safe. Call this before `pick_meal` to warn the user, or to let the agent pick a different item.
2
Fetch the full menu (sections, items, prices, modifiers) for one or more menu IDs. Each item ships with the `item_id` and `menu_id` you'll need to pass to `pick_meal`.
2
List your upcoming Forkable delivery days and what's currently picked for each. Each entry shows the delivery date, current state (open / locked / delivered), the meal currently assigned to you (`my_pick`), and the menu IDs you can swap to via `list_menu_items` + `pick_meal`. Results are sorted by delivery date. An entry whose `my_pick.piece_id` is empty has no meal allocated to you yet — `pick_meal` cannot operate on it (it only swaps existing picks).
2
Replace your assigned meal on one delivery with a different menu item. Only works on deliveries that already have a meal allocated to you (a non-empty `my_pick.piece_id`). Forkable's `replacePiece` mutation swaps an existing pick; it can't create one from nothing — initial allocation happens on the Forkable side. The mutation returns the refreshed delivery; this tool surfaces the new pick and the updated amount due.
2
Skip a day — removes your assigned meal from a Forkable order. Use only when the delivery is still open for changes (`locked: false` and not `past_late_order_deadline`).
2

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

Forkable.CheckMealRestrictions

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Check whether picking this item (with the given modifier selections) would conflict with the signed-in user's dietary restrictions. Returns the list of conflict tags (e.g. `["dairy_free"]`) — empty if the item is safe. Call this before `pick_meal` to warn the user, or to let the agent pick a different item.

Parameters

ParameterTypeReq.Description
menu_idstringRequiredThe menu the item belongs to — the `menu_id` from a `list_menu_items` entry.
item_idstringRequiredThe menu item to check — the `item_id` from a `list_menu_items` entry.
selectionsjsonOptionalModifier picks as { modifier_id: [option_id, ...] }. Omit if the item has no modifiers.

Requirements

Secrets:FORKABLE_EMAILFORKABLE_PASSWORD

Output

Type:jsonNo description provided.
#

Forkable.ListMenuItems

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Fetch the full menu (sections, items, prices, modifiers) for one or more menu IDs. Each item ships with the `item_id` and `menu_id` you'll need to pass to `pick_meal`.

Parameters

ParameterTypeReq.Description
menu_idsarray<string>RequiredThe Forkable menu IDs to fetch. Use the `available_menu_ids` from a `list_my_meals_this_week` entry. At least one ID is required.
club_idstringRequiredThe meal club ID for the delivery — the `meal_club_id` from a `list_my_meals_this_week` entry.

Requirements

Secrets:FORKABLE_EMAILFORKABLE_PASSWORD

Output

Type:jsonNo description provided.
#

Forkable.ListMyMealsThisWeek

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Read
MCP behavior
Yes

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

List your upcoming Forkable delivery days and what's currently picked for each. Each entry shows the delivery date, current state (open / locked / delivered), the meal currently assigned to you (`my_pick`), and the menu IDs you can swap to via `list_menu_items` + `pick_meal`. Results are sorted by delivery date. An entry whose `my_pick.piece_id` is empty has no meal allocated to you yet — `pick_meal` cannot operate on it (it only swaps existing picks).

Parameters

ParameterTypeReq.Description
from_datestringOptionalFirst day of the window in YYYY-MM-DD format. Leave empty to start at Monday of the current week.
daysintegerOptionalHow many days from `from_date` to include in the window (1-31). Defaults to 7.

Requirements

Secrets:FORKABLE_EMAILFORKABLE_PASSWORD

Output

Type:jsonNo description provided.
#

Forkable.PickMeal

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Update
MCP behavior
No

Reads data without modifying any state in the target system.

No

May permanently delete or overwrite data in the target system.

No

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Replace your assigned meal on one delivery with a different menu item. Only works on deliveries that already have a meal allocated to you (a non-empty `my_pick.piece_id`). Forkable's `replacePiece` mutation swaps an existing pick; it can't create one from nothing — initial allocation happens on the Forkable side. The mutation returns the refreshed delivery; this tool surfaces the new pick and the updated amount due.

Parameters

ParameterTypeReq.Description
delivery_idstringRequiredThe Forkable delivery ID — the `delivery_id` from a `list_my_meals_this_week` entry.
piece_idstringRequiredYour current piece ID for that delivery — the `my_pick.piece_id` from a `list_my_meals_this_week` entry. This is what gets replaced. If `my_pick.piece_id` is empty, this delivery has no meal allocated to you yet and there is nothing to replace.
item_idstringRequiredThe menu item you want — the `item_id` from a `list_menu_items` entry.
menu_idstringRequiredThe menu the chosen item belongs to — the `menu_id` from a `list_menu_items` entry.
instructionsstringOptionalFree-text note to the venue (e.g. 'no onions'). Leave empty for none.
selectionsjsonOptionalModifier picks as { modifier_id: [option_id, ...] }. Omit if the item has no modifiers.

Requirements

Secrets:FORKABLE_EMAILFORKABLE_PASSWORD

Output

Type:jsonNo description provided.
#

Forkable.SkipMeal

Execution hints

Signals for MCP clients and agents about how this tool behaves.

Operations
Delete
MCP behavior
No

Reads data without modifying any state in the target system.

Yes

May permanently delete or overwrite data in the target system.

Yes

Repeated calls with the same inputs produce no additional effect.

Yes

Communicates with external APIs, databases, or other services.

Skip a day — removes your assigned meal from a Forkable order. Use only when the delivery is still open for changes (`locked: false` and not `past_late_order_deadline`).

Parameters

ParameterTypeReq.Description
order_idstringRequiredThe order ID for the delivery you want to skip — the `order_id` from a `list_my_meals_this_week` entry.
piece_idstringRequiredYour current piece ID for that order — the `my_pick.piece_id` from a `list_my_meals_this_week` entry.

Requirements

Secrets:FORKABLE_EMAILFORKABLE_PASSWORD

Output

Type:jsonNo description provided.
Last updated on