hevy-mcp 4.1.2 → 5.0.0
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/README.md +9 -8
- package/dist/cli.mjs +2 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +2 -2
- package/dist/{src-Wa4VP4Na.mjs → src-BUmpaxmH.mjs} +877 -973
- package/package.json +3 -2
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[](#hosted-cloudflare-endpoint)
|
|
13
13
|
[](./LICENSE)
|
|
14
14
|
|
|
15
|
-
[Connect to the hosted MCP](#connect-to-the-hosted-endpoint) · [Watch the 18-second demo](https://raw.githubusercontent.com/chrisdoc/hevy-mcp/main/docs/assets/hevy-mcp-demo.mp4) · [Explore all
|
|
15
|
+
[Connect to the hosted MCP](#connect-to-the-hosted-endpoint) · [Watch the 18-second demo](https://raw.githubusercontent.com/chrisdoc/hevy-mcp/main/docs/assets/hevy-mcp-demo.mp4) · [Explore all 26 tools](#tools)
|
|
16
16
|
|
|
17
17
|
</div>
|
|
18
18
|
|
|
@@ -295,10 +295,10 @@ only when your assistant calls them.
|
|
|
295
295
|
|
|
296
296
|
These server-provided MCP prompts coordinate common multi-step workflows:
|
|
297
297
|
|
|
298
|
-
| Prompt | Arguments
|
|
299
|
-
| ----------------------------- |
|
|
300
|
-
| `analyze-workout-progress` | Optional `weeks` from 1-12; default `4`
|
|
301
|
-
| `create-workout-from-routine` | Required `
|
|
298
|
+
| Prompt | Arguments | Workflow |
|
|
299
|
+
| ----------------------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------- |
|
|
300
|
+
| `analyze-workout-progress` | Optional `weeks` from 1-12; default `4` | Calls `get-training-summary`, then analyzes workout activity and body-measurement trends from the returned evidence. |
|
|
301
|
+
| `create-workout-from-routine` | Required `routine_id` and UTC `start_time` | Loads a routine, collects actual completed-set data and an end time, then creates a workout without inventing results. |
|
|
302
302
|
|
|
303
303
|
> [!NOTE]
|
|
304
304
|
> With MCP SDK v1.29.0, clients invoking `analyze-workout-progress` with its
|
|
@@ -307,7 +307,7 @@ These server-provided MCP prompts coordinate common multi-step workflows:
|
|
|
307
307
|
|
|
308
308
|
## Tools
|
|
309
309
|
|
|
310
|
-
`hevy-mcp` registers
|
|
310
|
+
`hevy-mcp` registers 26 tools. Read-only tools are safe for exploration; create
|
|
311
311
|
and update tools are exposed with MCP mutation annotations so compatible clients
|
|
312
312
|
can request confirmation.
|
|
313
313
|
|
|
@@ -319,7 +319,8 @@ can request confirmation.
|
|
|
319
319
|
| Workouts | `get-workout-count` | Return the account's total workout count. |
|
|
320
320
|
| Workouts | `get-workout-events` | List workout update and delete events since a timestamp. |
|
|
321
321
|
| Workouts | `create-workout` | Create a completed workout in Hevy. |
|
|
322
|
-
| Workouts | `update-workout` |
|
|
322
|
+
| Workouts | `update-workout` | Patch workout metadata by ID; omitted fields and all exercises remain unchanged. |
|
|
323
|
+
| Workouts | `replace-workout-exercises` | Replace all exercises and sets while preserving workout metadata. |
|
|
323
324
|
| Routines | `search-routines` | Search routine titles and return compact metadata for discovery. |
|
|
324
325
|
| Routines | `get-routines` | List custom and default workout routines. |
|
|
325
326
|
| Routines | `get-routine` | Get one routine and its exercise configuration by ID. |
|
|
@@ -361,7 +362,7 @@ https://hevy.chrisdoc.dev/mcp
|
|
|
361
362
|
```
|
|
362
363
|
|
|
363
364
|
It is the quickest way to use `hevy-mcp`: there is nothing to install or keep
|
|
364
|
-
running locally, and it exposes the same
|
|
365
|
+
running locally, and it exposes the same 26 tools as the npm package and Docker
|
|
365
366
|
image.
|
|
366
367
|
|
|
367
368
|
The Cloudflare Worker uses stateless **Streamable HTTP** at `POST /mcp`.
|
package/dist/cli.mjs
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
(function() {
|
|
5
5
|
try {
|
|
6
6
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {};
|
|
7
|
-
e.SENTRY_RELEASE = { id: "hevy-mcp@
|
|
7
|
+
e.SENTRY_RELEASE = { id: "hevy-mcp@5.0.0" };
|
|
8
8
|
var n = new e.Error().stack;
|
|
9
9
|
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "625c4c9c-e20d-40b3-96b1-4e799ef130f3", e._sentryDebugIdIdentifier = "sentry-dbid-625c4c9c-e20d-40b3-96b1-4e799ef130f3");
|
|
10
10
|
} catch (e) {}
|
|
11
11
|
})();
|
|
12
|
-
import { a as createSafeErrorDiagnostic, i as MissingHevyApiKeyError, n as runServer, o as flushTelemetry } from "./src-
|
|
12
|
+
import { a as createSafeErrorDiagnostic, i as MissingHevyApiKeyError, n as runServer, o as flushTelemetry } from "./src-BUmpaxmH.mjs";
|
|
13
13
|
//#region src/cli.ts
|
|
14
14
|
runServer().catch(async (error) => {
|
|
15
15
|
if (error instanceof MissingHevyApiKeyError) console.error(error.message);
|
package/dist/index.d.mts
CHANGED
|
@@ -5,7 +5,7 @@ type NodeTransport = "stdio" | "http";
|
|
|
5
5
|
//#region src/index.d.ts
|
|
6
6
|
declare function createNodeMcpServer({ apiKey }: {
|
|
7
7
|
apiKey: string;
|
|
8
|
-
}, transport?: NodeTransport): Promise<import("@modelcontextprotocol/
|
|
8
|
+
}, transport?: NodeTransport): Promise<import("@modelcontextprotocol/server").McpServer>;
|
|
9
9
|
declare function runStdioServer(): Promise<void>;
|
|
10
10
|
declare function runServer(): Promise<void>;
|
|
11
11
|
//#endregion
|
package/dist/index.mjs
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
(function() {
|
|
5
5
|
try {
|
|
6
6
|
var e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {};
|
|
7
|
-
e.SENTRY_RELEASE = { id: "hevy-mcp@
|
|
7
|
+
e.SENTRY_RELEASE = { id: "hevy-mcp@5.0.0" };
|
|
8
8
|
var n = new e.Error().stack;
|
|
9
9
|
n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "e9496b31-626b-4ad1-9416-47ba4ffd2995", e._sentryDebugIdIdentifier = "sentry-dbid-e9496b31-626b-4ad1-9416-47ba4ffd2995");
|
|
10
10
|
} catch (e) {}
|
|
11
11
|
})();
|
|
12
|
-
import { n as runServer, r as runStdioServer, t as createNodeMcpServer } from "./src-
|
|
12
|
+
import { n as runServer, r as runStdioServer, t as createNodeMcpServer } from "./src-BUmpaxmH.mjs";
|
|
13
13
|
export { createNodeMcpServer, runServer, runStdioServer };
|