Forkmate

ai.forkmate由 forkmate.ai 發布官方發布者v0.1.11更新於 Oct 24, 2026

Free AI calorie & macro tracker: tell your AI what you ate and it logs it to your private food diary

已驗證Streamable HTTP可網頁執行位置與生活資料與分析

概覽

AI 產生的概覽

Forkmate 是託管的熱量與營養素追蹤服務,讓助理把飲食記錄寫進私人飲食日記,並讀取每日總計、偏好與常吃食物。

可以做什麼
  • 記錄、修改與刪除飲食日記項目,包括項目中的單一食物
  • 讀取某一天或某段日期範圍的熱量與營養素總計
  • 讀取並編輯飲食檔案:飲食風格、過敏原、喜歡與不喜歡的食物
  • 讀取最常記錄與最近吃過的食物
  • 搜尋 USDA FoodData Central、Open Food Facts 與餐廳菜單,或依條碼查詢包裝食品
  • 記錄健康資料同意、讀取通知並送出意見回饋
適用情境
適合想透過和助理對話來記錄飲食、不想另外開應用程式的人:隨口描述吃了什麼就能記錄,詢問今天攝取多少熱量或蛋白質,回顧一週狀況。也適合集中保存過敏原與口味偏好,讓建議更貼近個人需求。
執行需求
遠端 MCP 伺服器,使用 Forkmate 端點,無需安裝。登入採用 OAuth 2.1(PKCE 與動態用戶端註冊),用戶端會在首次呼叫工具時開啟登入頁,因此需要 Forkmate 帳號。免費,沒有付費方案,也不需要信用卡。
安裝前請注意
飲食日記屬於健康相關資料,由 Forkmate 儲存;記錄時可能需要使用者在對話中明確同意,助理不能代為同意。刪除為永久操作且無法復原,修改會變更已儲存的日記與檔案資料。熱量與營養素數值為估算,不適用於胰島素劑量或其他醫療決定,自行填寫的過敏原也不構成安全保證。意見回饋內容會由 Forkmate 保存。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Forkmate,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ai.forkmate%2Fforkmate/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "forkmate": {
      "type": "http",
      "url": "https://mcp.forkmate.ai/"
    }
  }
}

README

Forkmate — free AI calorie tracker MCP server (Claude, ChatGPT, Cursor)

[Add to Cursor] [Install in VS Code] [MCP Registry] [Glama]

Forkmate (forkmate.ai) is a free AI calorie and macro tracker you talk to. Tell your AI assistant what you ate, and it logs the meal with its calories, protein, carbs and fat to your private food diary. See the day in the web diary at app.forkmate.ai.

It is a hosted, remote MCP server. There is nothing to install or run: add one URL to your client and sign in.

Server URLhttps://mcp.forkmate.ai/
TransportStreamable HTTP
AuthOAuth 2.1 with PKCE and dynamic client registration. Your client opens the sign-in when it first calls a tool
PriceFree. No paid tier, no trial, no card, no ads
Registry nameai.forkmate/forkmate (server.json)
Setup guideforkmate.ai/connect

Connect your AI

Claude (claude.ai and Claude Desktop)

Settings → Connectors → Add custom connector → paste https://mcp.forkmate.ai/ → sign in.

Claude Code

sh
claude mcp add --transport http forkmate https://mcp.forkmate.ai/

ChatGPT

On a plan that offers developer mode, turn it on in ChatGPT's settings, create a developer-mode app with the URL https://mcp.forkmate.ai/, choose OAuth, and sign in.

Cursor

Click Add to Cursor above, or add this to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "forkmate": { "url": "https://mcp.forkmate.ai/" }  }}

VS Code (GitHub Copilot)

Click Install in VS Code above, or add this to .vscode/mcp.json:

json
{  "servers": {    "forkmate": { "type": "http", "url": "https://mcp.forkmate.ai/" }  }}

Windsurf

Add this to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "forkmate": { "serverUrl": "https://mcp.forkmate.ai/" }  }}

Cline

MCP Servers → Remote Servers → name forkmate, URL https://mcp.forkmate.ai/, transport Streamable HTTP. AI agents installing it can follow llms-install.md.

Gemini CLI

Add this to ~/.gemini/settings.json:

json
{  "mcpServers": {    "forkmate": { "httpUrl": "https://mcp.forkmate.ai/" }  }}

Any other MCP client

Add a remote HTTP MCP server with the URL https://mcp.forkmate.ai/ and complete the sign-in.

Then tell your assistant what you ate ("two eggs and toast for breakfast"), or ask "how many calories today?".

Tools

ToolWhat it does
log_mealLog what you ate to your diary
update_mealCorrect an entry already in your diary
delete_mealRemove an entry from your diary
get_dayRead one day's diary with calorie and macro totals
get_rangeRead a date range with per-day totals
get_preferencesRead your food profile: likes, dislikes, allergies and diet style
update_preferencesAdd or remove likes, dislikes and allergies, or set your diet style
get_usual_foodsRead the foods you eat most often and the last week's foods
search_foodsSearch USDA FoodData Central and Open Food Facts
lookup_barcodeLook up a packaged food by barcode (Open Food Facts)
whoamiConfirm which account is connected

Prompts

log-meal · log-photo · today-so-far · hit-protein · week-review · import-myfitnesspal

Your client shows these as ready-made starting points.

Coming from MyFitnessPal?

Export your MyFitnessPal data for free and bring your history across: forkmate.ai/migrate-from-myfitnesspal.

Privacy

Every call is scoped to your own signed-in account. Forkmate stores your food diary, which is health-related data. Read the privacy policy and the consumer health data policy. Export and account deletion are self-serve in the app.

Calorie and macro values are estimates. They are not suitable for insulin dosing or any other medical decision.

About this repository

This repository holds the public server manifest and setup instructions. The server itself is hosted at mcp.forkmate.ai; its source is not public.

Made by Shawn Azar. Support: [email protected].

來源:README.md,提交 e387fa0

工具

14

whoami

Who am I

Diagnostic: confirms that this connection is signed in to a Forkmate account. Returns no account id, email or other identifier.

無需輸入參數。

get_day

Get day's diary

Read the user's food diary for one day: its entries, each listed with its `id` and each food with its item_index, quantity and macros, and calorie/macro totals. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數local_date

get_range

Get diary range

Read the user's food diary across a date range, with per-day calorie/macro totals and each entry listed with its `id`. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數end必填start必填

get_preferences

Get food profile

Read the user's food profile: diet style, allergies (a structured list of the major US allergens), foods they like, foods they dislike, and a typical-portion note. Allergies are self-reported and not a safety guarantee; the response includes an allergy_disclaimer. Likes and dislikes are taste preferences, not allergies or restrictions.

無需輸入參數。

update_preferences

Update food profile

Edit the user's food profile: add or remove foods they like or dislike, add or remove allergies from the major US allergen list, or set their diet style. Only the fields sent change. A removal matches a saved name in any casing; a name that matches nothing is reported in `not_found` and nothing else is affected. Adding a food to likes takes it off dislikes, and the reverse. Lists hold up to 50 foods of up to 80 characters each. The reply is the whole updated profile. It saves what the user states about their own tastes and allergies, not inferences from the diary. Every call carries `user_approved: true`, meaning the user saw this exact change and said yes to it; a call without it changes nothing and returns the change for the user to approve. A user stating a preference (e.g. 'I dislike olives') has not approved saving it: approval is a later message agreeing to the change as proposed. The server cannot verify that a person gave the approval. Removals work without health-data consent and then return only what was removed. The user can see and edit the same profile in Forkmate's Settings.

輸入參數add_likesdiet_styleadd_dislikesremove_likesadd_allergiesuser_approved必填remove_dislikesremove_allergies

get_usual_foods

Get usual foods

Read what the user usually and recently eats. `usual` lists their most-logged foods, most frequent first, each with how many times it was logged, the date last eaten, the meal it is usually logged under, and the portion and macros from the last time. `recent` lists each distinct food from the last seven days with the date last eaten, its meal and how many times. An optional `meal` narrows both lists to one meal. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數meal

log_meal

Log a meal

Add a meal to the user's food diary: one or more food items, each with an optional quantity and macros, plus an optional meal label, date, note and provenance `source`. The reply names the new entry's `id` and `local_date`, which identify it for a later edit or deletion. A restaurant meal's numbers depend most on the restaurant, the specific menu item, its size and its add-ons (cheese, fries, sauce, dressing); a bare dish name is logged as a typical serving. When the user names one of their saved recipes ("my chicken and rice", "half my chili"), send their words as one item's name, with any amount in quantity; Forkmate logs the recipe's own foods and numbers in its place. Portion amounts are checked against the user's own words for the meal when they arrive in `said`, and the reply lists each food with the amount it was logged at. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數atmealnotesaiditems必填sourcelocal_date

update_meal

Edit a logged food

Correct a food already in the user's diary — its name, quantity, macros, caffeine or fluid — or change an entry's meal label or note. The entry is identified by `id` and `local_date`, and a food by its `item_index`. Only the fields sent change; macros are merged onto the existing values and overwritten in place, with no history kept. A new `quantity` sent without `macros` rescales the food's macros, caffeine and fluid by the new amount ÷ the old one when both are the same kind of amount (a weight, a volume or a count), so '150 g' to '300 g' doubles them; otherwise the macros stay as they were and the reply says so. An entry cannot be moved to another day. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數id必填mealnamenotesaidmacrosfluid_mlquantityitem_indexlocal_date必填caffeine_mg

delete_meal

Delete a logged food

Delete one food from a diary entry (by `item_index`), or the whole entry (without it). The entry is identified by `id` and `local_date`. Deletion is permanent, with no undo; deleting the last food removes the entry, and an `id` that matches no entry on that date returns a not-found error and deletes nothing. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數id必填item_indexlocal_date必填

search_foods

Search foods

Search USDA FoodData Central, Open Food Facts and Forkmate's curated restaurant menus for a named food. Returns up to 5 candidates, each with macros per 100 g, a `source` label ('USDA', 'Open Food Facts', 'Forkmate' or 'product label', a packaged product's published label read from a cited page and not yet checked by Forkmate), and, when known, `serving_grams`/`serving_label` for one household serving. Curated chain-menu candidates include a `provenance` object that may carry a portion caveat. A query names a food (at least 2 letters, no wildcards); there is no paging. For a bare generic dish ("a burger", "coffee"), the reply also lists `details_that_change_it`: the details that change that dish's numbers most, such as where it is from, which item, its size and add-ons. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數limitquery必填

lookup_barcode

Look up barcode

Look up a packaged food by its UPC/EAN barcode in Open Food Facts. Returns macros per 100 g, a `source` label ('Open Food Facts'), and, when known, `serving_grams`/`serving_label` for one household serving. All calorie and macro values, including carbohydrates, are estimates from USDA FoodData Central, Open Food Facts, the user's own entry or an AI assistant's estimate — approximate, not lab-measured or specific to a package or batch, and not suitable for insulin dosing (including carb counting for a meal bolus), blood-glucose prediction or any other medical decision.

輸入參數upc必填

send_feedback

Send feedback to Forkmate

Sends feedback to Forkmate to improve the app: a bug, a feature request, a food or nutrition figure that looked wrong (food_data), or something else. It is for feedback the user has asked to send, in the user's own words rather than a paraphrase. It changes nothing in the diary. The note is kept in the user's own account and deleted with it, and no reply is sent.

輸入參數aboutratingmessage必填category

get_notifications

Get notifications

Reads the user's Forkmate notifications, newest first: notices that something the user reported was fixed, Forkmate release notes (what's new), and account messages. Each one has a kind, a title, a body, an optional link, the day it arrived and whether it is unread, and the reply includes the unread count. Read-only: reading marks nothing as read. Notifications older than 180 days are not kept.

輸入參數limitunread_only

版本歷史

5
  1. v0.1.11最新Oct 8, 2026
  2. v0.1.9Oct 8, 2026
  3. v0.1.7Oct 2, 2026
  4. v0.1.6Oct 1, 2026
  5. v0.1.4Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。