Almost Fire

com.almostfire由 almostfire.com 發布官方發布者v1.3.1更新於 Nov 8, 2026

Strength training plans for 26 weeks, plus set, meal and progress logging in Almost Fire.

已驗證Streamable HTTP可網頁執行位置與生活效率與工作流資料與分析

概覽

AI 產生的概覽

Almost Fire 產生 26 週肌力訓練計畫,並讓助理執行計畫:記錄組數、有氧、飲食與體重,查看進度。

可以做什麼
  • 產生並儲存 26 週肌力訓練計畫,查詢動作要領、身體部位圖與替代動作
  • 讀取今日訓練、行程安排,以及單次訓練的組目標與已記錄組數
  • 記錄、修改、刪除訓練組、有氧、體重與狀態回報;開始、完成、略過或移動訓練
  • 在訓練中替換動作,並列出同類型動作的替代選項
  • 讀取餐食照片或搜尋食物,記錄或刪除飲食項目並查看每日營養
  • 顯示進度圖表、進度數據與每週回顧,並復原最近的變更
適用情境
適合想在健身房或在家進行肌力訓練、並以對話方式執行計畫的成年人:索取計畫、查看今日訓練、記錄組數與飲食、回顧進度。產生計畫與查詢動作不需帳號。
執行需求
遠端 MCP 端點 strength.almostfire.com,不需在本機安裝。產生計畫與查詢動作不需帳號;儲存計畫及所有記錄類工具需登入 Almost Fire 帳號並授權應用程式,首次儲存時會建立帳號。
安裝前請注意
記錄類工具會讀取並變更使用者自己的 Almost Fire 帳號資料:訓練組、訓練、飲食、體重與回報可被寫入、修改、移動或刪除,每次變更會回傳復原識別碼。餐食照片與帳號資料會傳送給聊天助理以產生回覆。不構成醫療建議:不進行診斷、不規劃復健,也不判定任何人可以訓練;疼痛與症狀的停止規則適用。

安裝

在 SourceWeft 中

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

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

交給代理程式安裝

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

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

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

其他 MCP 客戶端

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

{
  "mcpServers": {
    "almost-fire": {
      "type": "http",
      "url": "https://strength.almostfire.com/api/mcp"
    }
  }
}

README

Almost Fire for ChatGPT and Claude

Almost Fire makes strength-training plans and runs them with you. Ask for a plan and you get all 26 weeks from the engine the Almost Fire app uses: a split for the days you have, every session's exercises with sets, reps, rest and effort, a lighter week to finish each block, and gentler swaps for a shoulder, back or knee you want to protect. Print it, save it as a PDF or change it in the chat, and look up any exercise on the body map with its cues and swaps. None of that needs an account, and saving the plan to Almost Fire is free: the first time, it makes your account.

With your Almost Fire account you can run the plan from the chat: today's session with each set's target, logging sets, cardio and weigh-ins, logging a meal from a photo with its grams, calories and protein, and your progress graphs and Sunday review. Every change comes back with Undo.

It's for adults who want to get stronger in a gym or at home. Each plan carries stop rules for pain. It isn't medical advice, and it doesn't plan rehab, running or sport-specific training.

Try it

  • "Make me a 3-day strength plan for building muscle." Then "Save it to Almost Fire."
  • "How do I do a Romanian deadlift?"
  • "What's my session today?" (asks you to sign in to Almost Fire the first time)
  • "Log 60 kg for 8 reps on bench."
  • "Log my lunch from a photo."

What's in this folder

PathWhat it is
.claude-plugin/plugin.json, .mcp.jsonThe plugin for Claude, and the connector it uses
plugin.json, mcp.jsonThe same plugin for ChatGPT, with its listing and review test cases
server.jsonThe connector's entry in the MCP Registry
skills/Five skills: start-training, coach-like-stoke, train-today, log-food-from-a-photo, weekly-check-in
assets/The icon and screenshots

The skills are instructions only. The plugin runs nothing on your computer: no hooks, scripts or local servers.

What it connects to and sends

The plugin connects to one server, https://strength.almostfire.com/api/mcp, run by Almost Fire.

  • Without an account, a plan request sends the answers you give (days a week, goal, equipment, anything to protect) and an exercise lookup sends the exercise's name. Almost Fire doesn't keep them.
  • With your account, the connector reads and changes only your own Almost Fire account, after you sign in to Almost Fire and allow the app. What you ask for (your plan, sessions, sets, food, weigh-ins and progress, and the meal photos you send) goes to ChatGPT or Claude to answer you. Apple Health numbers never go.
  • Meal photos are read the same way the Almost Fire app reads them.
  • Disconnect Almost Fire in ChatGPT's or Claude's settings at any time.

Privacy policy: https://strength.almostfire.com/privacy. Terms: https://strength.almostfire.com/terms.

Support

https://strength.almostfire.com/support, or email [email protected].

來源:README.md,提交 a19c6ca

工具

28

make_plan

Make a training plan

Use this when someone asks for a strength, gym, weightlifting or muscle-building program or workout plan, at a gym or at home. Builds all 26 weeks from Almost Fire's plan engine, the one the app uses: the split for their days, each session's exercises with sets, reps, rest and effort, a lighter week to end each block, and gentler swaps for anything they protect. No account needed. Ask how many days they can train first; fill the rest from what they've said and leave the others null. Do not use for running or race plans, sport-specific conditioning, diet plans or injury rehab.

輸入參數goalsplitstyleprotectequipmentloveLiftsskipLiftsdaysPerWeek必填sessionMinutesbuildPriorities

save_plan

Save the plan to Almost Fire

Use this when the person wants to keep, save or start a plan make_plan made, or presses Save on its card. Saves the plan to their Almost Fire account, free: the first time it asks them to sign in, which makes their account. Send the answers make_plan used, so the saved plan is the one they saw. The card then opens their plan page in Almost Fire, where their first week starts. emailWeekly true also emails them each week's sessions on Monday mornings, until they start in the app. Do not use before make_plan has shown them a plan, or to change the plan of someone who already trains in Almost Fire.

輸入參數goalsplitstyleprotectequipmentloveLiftsskipLiftsdaysPerWeek必填emailWeeklyidempotencyKeysessionMinutesbuildPriorities

show_exercise

Show an exercise

Use this when someone asks how to do an exercise, which muscles it works, or what to do instead. Shows it on the body map with its equipment, its cues and swaps that train the same thing. No account needed. Do not use to diagnose pain or to give rehab exercises.

輸入參數exercise必填

get_today

Today

Use this when the person asks what's on today or how today's session is going, and before logging a set. Reads today's session (or the next one) in their Almost Fire account with every exercise, its target and the sets logged, this week's sessions and training volume, and their food and weight so far today. Do not use for another day's session; use get_schedule and get_session.

無需輸入參數。

get_schedule

Sessions in a range

Use this when the person asks what's coming up this week or next, or what they did on other days. Lists their sessions between two ISO times (from, to), each with its id, day, time and status. Do not use for today's session; use get_today.

輸入參數to必填from必填

get_session

One session

Use this when you need one session in full, by its id from get_today or get_schedule. Reads its exercises (slots) with each target, the exercises each slot allows, and the sets logged. Do not use to list sessions; use get_schedule.

輸入參數sessionId必填

log_set

Log a set

Use this when the person tells you a set they did. Give the session and slot from get_today or get_session, and the load and reps they said. Never invent a number. loadUnit kg or lb as they said it (label for a machine's own numbers); rir only if they say it. setNumber null logs the next set. Comes back with an Undo. Do not use to correct a set already logged; use edit_set.

輸入參數rirload必填reps必填slot必填loadUnitsessionId必填setNumberidempotencyKey必填

edit_set

Correct a set

Use this when the person corrects a set they already logged. Give its setId from get_today or get_session and only the values they change; null keeps the rest. Comes back with an Undo. Do not use to log a new set; use log_set.

輸入參數rirloadrepssetId必填loadUnitidempotencyKey必填

delete_set

Remove a set

Use this when the person asks to remove a set they logged by mistake. Give its setId. Comes back with an Undo. Do not use to change a set's numbers; use edit_set.

輸入參數setId必填idempotencyKey必填

list_alternatives

Swaps for an exercise

Use this when the person wants a different exercise in a session (a busy machine, a sore joint, missing kit). Lists the swaps that train the same movement in that slot and week, best first, by sessionId and slot. Nothing changes; swap with swap_exercise. Do not use to explain how an exercise is done; use show_exercise.

輸入參數slot必填sessionId必填

swap_exercise

Swap an exercise

Use this when the person asks to swap the exercise in a session. Give the sessionId and slot, and the exerciseKey they chose, or a same-movement one from list_alternatives when they leave it to you. The new exercise brings its own rules, and loads never carry over between exercises. untilWeek null swaps that session only; a week keeps the swap for that day through that program week. Comes back with an Undo. Do not use to move a session; use move_session.

輸入參數slot必填sessionId必填untilWeekexerciseKey必填idempotencyKey必填

update_session

Start or finish a session

Use this when the person starts, finishes or skips a session, or says how it felt. status IN_PROGRESS starts it, DONE finishes it and SKIPPED skips it; feeling is 1 to 5; notes and gym as they say. Null leaves a field as it is. Comes back with an Undo. Do not use to move a session to another day; use move_session.

輸入參數gymnotesstatusfeelingsessionId必填idempotencyKey必填

move_session

Move a session

Use this when the person asks to move a session to another day or time. Give its sessionId and the new start and end as ISO times. Comes back with an Undo. Do not use to skip a session; use update_session.

輸入參數end必填start必填sessionId必填idempotencyKey必填

log_cardio

Log cardio

Use this when the person tells you about cardio they did: a run, a ride, the rower, a walk. Record cardio the person did, with the numbers they give: minutes always; distance, heart rate, level, incline, energy and intervals only when given. Never invent them. effort is a talk test: easy (could hold a conversation), steady (short sentences), hard (a few words). Give sessionId to count it in that session (it fills the session's planned cardio when it is the same exercise), or null for cardio on its own. Null startedAt is just finished. Cardio counts as minutes, never kilograms. Applied immediately with Undo. Do not use for a lifting set; use log_set.

輸入參數kcalleveleffortinclineminutes必填intervalssessionIdstartedAtdistanceKmexerciseKey必填avgHeartRatemaxHeartRate另有 1 個

record_checkin

Check in

Use this when the person says how they feel before or after training, or tells you about pain or swelling. Record the person’s reported readiness and symptoms. symptoms.pec is pain anywhere (sharp means sharp pain or pulling) and symptoms.knee is swelling anywhere, whatever the body part. After a session they may also report feel, strength, effort (1–10 for the whole session), more (sets they could have added), areas and soreness (muscle, joint, sharp, swelling); also set pec or knee from soreness as the phone does: joint is knee ache, sharp is pec sharp, swelling is knee swollen, muscle leaves both clear. A morning check-in has no session: readiness is how they feel today (1 Flat, 2 Meh, 3 Okay, 4 Good, 5 On fire), morning is true, and behind lists what they say is behind it (sleep, work, sore, stress, family, sick, travel); log their weight with log_weight. How they feel the morning after a session is next (clear or worse) on that session’s check-in. Never infer medical clearance. Do not use to diagnose pain or to log their weight; use log_weight for weight.

輸入參數notesymptoms必填readinesssessionIdidempotencyKey必填

log_weight

Log a weigh-in

Use this when the person tells you their weight. Give the weight and unit, and when (null is now). Targets follow the smoothed trend, never one reading. Comes back with an Undo. Do not use to set a weight goal.

輸入參數unitweight必填measuredAtidempotencyKey必填

open_camera

Open the Almost Fire camera

Use this when the person wants to log a meal from a photo but hasn't attached one, or the app can't hand you their photo. Opens the Almost Fire camera in the chat: they take or choose a photo there, Stoke reads each food with its grams and calories, and Log saves it. Do not use when they've attached a photo; use read_meal_photo.

輸入參數note

read_meal_photo

Read a meal photo

Use this when the person attaches a photo of food they ate or will eat. Reads it as the Almost Fire camera does: a plate or bowl comes back as each food with its grams, calories, macros and how sure the read is; a packet as its label per 100 g; a pot on a kitchen scale as its grams. Nothing is logged: read it back, take their corrections, then call log_foods with its logItems (or they tap Log on the card). Do not use for a photo that isn't food, or to judge anyone's body.

輸入參數notephoto必填

read_meal_photo_upload

Read the camera's photo

The Almost Fire camera card's photo, read as read_meal_photo reads one. Only the card calls it.

輸入參數noteimage必填mimeType必填

search_foods

Find their foods

Use this when the person tells you a food they ate without a photo, before log_foods. Find the person's own foods before anything else, by name or by kind: the words they used ("protein powder", "milk", "my usual bread"), not a brand you guess. mine is their saved foods that fit, each with an id, macros per 100 g, their usual grams (lastGrams), match (name: its name holds the words; kind: it is that kind of food, so "protein powder" finds their whey; word: only the last of their words, the one that says what it is, fits, so it is a different food of that sort, never theirs unless they say so) and lastEatenAt. When none fits by name, recent lists the saved foods they logged lately: read it too, because their food is often named by brand (a protein powder called Impact Lean Whey, a milk called Light Start). list is at most three plain foods from the food list, each with a foodKey; logging one saves it as a new food of theirs. Use their own food (mine or recent) when it is the same thing, or the kind of food they named (their milk for "milk", their whey for "protein powder"); a food that only sounds alike or shares a word is not it (corn flour is not corn, dark soy sauce is not dark chocolate). "My most recent" or "my usual" means the one they ate latest. Use list, an estimate or create_food only when none of theirs is it, and say it's new. Search before estimating, and log what it finds by grams. A recipe has recipe set: its foods and their grams, serves, cookedGrams and gramsLeft, what's left of the pot. Do not use to read a photo; use read_meal_photo.

輸入參數query必填

log_foods

Log a meal

Use this when the person has agreed what they ate and wants it logged. One entry per food: from a photo read (read_meal_photo's logItems, with their corrections), a saved food or recipe by id and grams (from search_foods), or an estimate with a name, serving, quantity and its numbers per serving. eatenAt null is now. Comes back with an Undo. Do not use before they've agreed the foods and amounts, or for a meal they're only planning.

輸入參數items必填eatenAtidempotencyKey必填

delete_food_entry

Remove a food

Use this when the person asks to remove a food they logged by mistake. Give its entry id from get_nutrition. Comes back with an Undo. Do not use for a food they still ate; log the right amount instead.

輸入參數entryId必填idempotencyKey必填

get_nutrition

Food for a day

Use this when the person asks what they've eaten or how their calories and protein are going, and before removing a logged food. Reads a day's food (date null is today): every entry with its id, the totals against the day's targets, their usual foods and saved recipes, and the weight trend. Do not use to log food; use log_foods.

輸入參數date

show_progress_chart

Show a progress graph

Use this when the person asks to see their progress on a graph. Draws one of their Progress graphs from their records: lift_max or lift_volume per session for one exercise (key), weekly_volume, body_weight (90 days), cardio_distance, cardio_pace or cardio_heart_rate, daily_kcal or daily_protein (30 days). Training volume is the number that matters most. Do not use for sleep or heart-rate numbers, which stay in the Almost Fire app.

輸入參數keynotemetric必填

get_progress

Progress

Use this when the person asks how they're progressing, in numbers. Reads their Progress page: training volume by week, bests, each lift's estimated max and trend, sessions done, bodyweight and cardio, as the app shows them. Do not use for a graph; use show_progress_chart.

無需輸入參數。

get_weekly_review

The Sunday review

Use this when the person asks how their week went or what changes next week. Reads the Sunday review of a program week (null is the latest): sessions, volume, new bests, the pace, each change Stoke made to next week with its reason, and what was kept and why. Those changes follow fixed rules: explain each from its reason, never invent another. Do not use for today's session; use get_today.

輸入參數week

undo_review_change

Keep next week as planned

Use this when the person doesn't want one of the changes the Sunday review made to next week. Give the change's index from get_weekly_review. Next week goes back to the program's target for that change. Do not use for a change they made themselves; use undo.

輸入參數week必填index必填idempotencyKey必填

undo

Undo a change

Use this when the person wants to take back a change made here (a logged set, meal, weigh-in or any other) while its Undo is open. Give the undo.id the change came back with. Do not use for a change they made in the Almost Fire app itself.

輸入參數undoId必填idempotencyKey必填

版本歷史

1
  1. v1.3.1最新Nov 8, 2026

評分

已滿足適用檢查項的 100%

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

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