wellness-nourish 0.1.0 → 0.1.1

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 CHANGED
@@ -39,23 +39,23 @@ Agents should never ask users to paste API keys, tokens, raw health exports, or
39
39
  ## CLI Commands
40
40
 
41
41
  ```bash
42
- nourish-mcp status
43
- nourish-mcp doctor
44
- nourish-mcp setup --client claude
45
- nourish-mcp search banana
46
- nourish-mcp barcode 0000000000000
47
- nourish-mcp log --preview --meal breakfast "2 eggs and banana"
48
- nourish-mcp log "2 eggs and banana"
49
- nourish-mcp list 2026-05-05
50
- nourish-mcp edit --entry intake_id --meal snack --notes "corrected"
51
- nourish-mcp today --format markdown
52
- nourish-mcp weekly --format markdown
53
- nourish-mcp goals --set-calories 2200 --set-protein 120 --set-water 2500
54
- nourish-mcp water 500 --date 2026-05-05
55
- nourish-mcp water today --date 2026-05-05
56
- nourish-mcp export --format csv
57
- nourish-mcp clear-day 2026-05-05 --yes
58
- nourish-mcp delete --entry intake_id
42
+ wellness-nourish status
43
+ wellness-nourish doctor
44
+ wellness-nourish setup --client claude
45
+ wellness-nourish search banana
46
+ wellness-nourish barcode 0000000000000
47
+ wellness-nourish log --preview --meal breakfast "2 eggs and banana"
48
+ wellness-nourish log "2 eggs and banana"
49
+ wellness-nourish list 2026-05-05
50
+ wellness-nourish edit --entry intake_id --meal snack --notes "corrected"
51
+ wellness-nourish today --format markdown
52
+ wellness-nourish weekly --format markdown
53
+ wellness-nourish goals --set-calories 2200 --set-protein 120 --set-water 2500
54
+ wellness-nourish water 500 --date 2026-05-05
55
+ wellness-nourish water today --date 2026-05-05
56
+ wellness-nourish export --format csv
57
+ wellness-nourish clear-day 2026-05-05 --yes
58
+ wellness-nourish delete --entry intake_id
59
59
  ```
60
60
 
61
61
  No arguments start the stdio MCP server. `--http` starts HTTP transport, `--version` prints the package version, and `--help` prints usage.
@@ -73,6 +73,7 @@ Ready-to-use examples live in `examples/`:
73
73
  - `examples/cursor.json`
74
74
  - `examples/windsurf.json`
75
75
  - `examples/hermes.md`
76
+ - `examples/hermes-skill.md`
76
77
  - `examples/openclaw.md`
77
78
 
78
79
  Claude Desktop style:
@@ -92,6 +93,26 @@ Claude Desktop style:
92
93
  }
93
94
  ```
94
95
 
96
+ ## Hermes / Telegram Personal Setup
97
+
98
+ For a personal Hermes server connected to your Telegram bot, let the package write the Hermes config and skill:
99
+
100
+ ```bash
101
+ npx -y wellness-nourish setup --client hermes --profile david --local-dir /root/.hermes/nourish/david
102
+ npx -y wellness-nourish doctor --client hermes --json
103
+ hermes mcp test nourish
104
+ ```
105
+
106
+ This adds a `nourish` MCP server block to `~/.hermes/config.yaml`, installs `~/.hermes/skills/nourish-mcp/SKILL.md`, and pins the npm package version. After config changes, use `/reload-mcp` or `hermes mcp test nourish`.
107
+
108
+ Recommended Telegram flow:
109
+
110
+ 1. User says what they ate.
111
+ 2. Hermes calls `nourish_estimate_meal` and replies with calories, protein, confidence and warnings.
112
+ 3. User confirms saving.
113
+ 4. Hermes calls `nourish_log_intake` with `explicit_user_intent: true`.
114
+ 5. User can ask for `today`, weekly summaries, goals, hydration, edits, deletes or exports.
115
+
95
116
  Local build:
96
117
 
97
118
  ```json
@@ -143,4 +164,4 @@ NOURISH_FIXTURE_MODE=1 NOURISH_FIXTURE_DIR=fixtures npm run test:cli-ux
143
164
 
144
165
  ## Delx Wellness
145
166
 
146
- Project page: <https://wellness.delx.ai/connectors/nourish>
167
+ Project page: <https://wellness.delx.ai/nutrition>
@@ -1,5 +1,7 @@
1
1
  import { lookupOpenFoodFactsBarcode } from "../providers/open-food-facts.js";
2
2
  import { searchUsdaFoods } from "../providers/usda.js";
3
+ import { NPM_PACKAGE_NAME } from "../constants.js";
4
+ import { inspectHermes, setupHermes } from "./hermes.js";
3
5
  import { buildConnectionStatus } from "../services/connection-status.js";
4
6
  import { getGoals, updateGoals } from "../services/goals-store.js";
5
7
  import { buildHydrationSummary, logWater } from "../services/hydration-store.js";
@@ -39,7 +41,7 @@ export async function runCliCommand(args) {
39
41
  case "status":
40
42
  return printStatus();
41
43
  case "doctor":
42
- return doctorCommand();
44
+ return doctorCommand(rest);
43
45
  case "setup":
44
46
  return setupCommand(rest);
45
47
  case "search":
@@ -81,10 +83,14 @@ function printStatus() {
81
83
  console.log(JSON.stringify(buildConnectionStatus(), null, 2));
82
84
  return 0;
83
85
  }
84
- function doctorCommand() {
86
+ function doctorCommand(args) {
87
+ const parsed = parseArgs(args);
85
88
  const status = buildConnectionStatus();
89
+ const client = optionString(parsed, "client");
90
+ const hermes = client === "hermes" ? inspectHermes({ homeDir: optionString(parsed, "home-dir") }) : undefined;
86
91
  console.log(JSON.stringify({
87
92
  ok: true,
93
+ ...(client === undefined ? {} : { client }),
88
94
  checks: [
89
95
  {
90
96
  name: "storage",
@@ -108,17 +114,26 @@ function doctorCommand() {
108
114
  },
109
115
  ],
110
116
  status,
117
+ ...(hermes === undefined ? {} : { client_checks: { hermes } }),
111
118
  }, null, 2));
112
119
  return 0;
113
120
  }
114
121
  function setupCommand(args) {
115
122
  const parsed = parseArgs(args);
116
123
  const client = optionString(parsed, "client") ?? "generic";
124
+ if (client === "hermes") {
125
+ console.log(JSON.stringify(setupHermes({
126
+ homeDir: optionString(parsed, "home-dir"),
127
+ localDir: optionString(parsed, "local-dir"),
128
+ profile: optionString(parsed, "profile"),
129
+ }), null, 2));
130
+ return 0;
131
+ }
117
132
  const config = {
118
133
  mcpServers: {
119
134
  nourish: {
120
135
  command: "npx",
121
- args: ["-y", "wellness-nourish"],
136
+ args: ["-y", NPM_PACKAGE_NAME],
122
137
  env: {
123
138
  FDC_API_KEY: "${FDC_API_KEY}",
124
139
  NOURISH_OFF_ENABLED: "1",
@@ -131,7 +146,7 @@ function setupCommand(args) {
131
146
  client,
132
147
  config,
133
148
  next_steps: [
134
- "Run nourish-mcp doctor.",
149
+ "Run wellness-nourish doctor.",
135
150
  "In agents, call nourish_connection_status before provider-backed tools.",
136
151
  "Use preview before write for food logs.",
137
152
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export interface HermesSetupOptions {
2
+ homeDir?: string | undefined;
3
+ localDir?: string | undefined;
4
+ profile?: string | undefined;
5
+ }
6
+ export interface HermesSetupResult {
7
+ ok: true;
8
+ client: "hermes";
9
+ client_config_path: string;
10
+ hermes_skill_path: string;
11
+ hermes_config_backup_path?: string;
12
+ nourish_local_dir: string;
13
+ personal_telegram_ready: true;
14
+ warnings: string[];
15
+ next_steps: string[];
16
+ }
17
+ export interface HermesDoctorCheck {
18
+ config_exists: boolean;
19
+ nourish_server_configured: boolean;
20
+ package_pinned: boolean;
21
+ skill_installed: boolean;
22
+ nourish_local_dir?: string;
23
+ nourish_local_dir_exists: boolean;
24
+ recommendations: string[];
25
+ }
26
+ export declare function setupHermes(options?: HermesSetupOptions): HermesSetupResult;
27
+ export declare function inspectHermes(options?: HermesSetupOptions): HermesDoctorCheck;
28
+ export declare function hermesSkillMarkdown(localDir?: string): string;
@@ -0,0 +1,220 @@
1
+ /// <reference types="node" />
2
+ import { chmodSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { dirname, join } from "node:path";
5
+ import { NPM_PACKAGE_NAME, PINNED_NPM_PACKAGE } from "../constants.js";
6
+ export function setupHermes(options = {}) {
7
+ const homeDir = expandHome(options.homeDir ?? homedir());
8
+ const profile = normalizeProfile(options.profile ?? "personal");
9
+ const localDir = expandHome(options.localDir ?? join(homeDir, ".hermes", "nourish", profile));
10
+ const configPath = join(homeDir, ".hermes", "config.yaml");
11
+ const skillPath = join(homeDir, ".hermes", "skills", "nourish-mcp", "SKILL.md");
12
+ mkdirSync(localDir, { recursive: true, mode: 0o700 });
13
+ chmodSync(localDir, 0o700);
14
+ mkdirSync(dirname(configPath), { recursive: true, mode: 0o700 });
15
+ mkdirSync(dirname(skillPath), { recursive: true, mode: 0o700 });
16
+ const backupPath = mergeHermesConfig(configPath, localDir);
17
+ writeFileSync(skillPath, `${hermesSkillMarkdown(localDir)}\n`, { mode: 0o600 });
18
+ chmodSync(skillPath, 0o600);
19
+ const warnings = [
20
+ "After editing Hermes MCP config, use `/reload-mcp` or `hermes mcp test nourish`; do not restart the Hermes gateway for normal Nourish data access.",
21
+ `Hermes config pins ${PINNED_NPM_PACKAGE} to avoid stale npx cache behavior.`,
22
+ "Food logs are personal data; keep NOURISH_LOCAL_DIR scoped to the intended Telegram user/profile.",
23
+ ];
24
+ return {
25
+ ok: true,
26
+ client: "hermes",
27
+ client_config_path: configPath,
28
+ hermes_skill_path: skillPath,
29
+ ...(backupPath === undefined ? {} : { hermes_config_backup_path: backupPath }),
30
+ nourish_local_dir: localDir,
31
+ personal_telegram_ready: true,
32
+ warnings,
33
+ next_steps: [
34
+ "Run `wellness-nourish doctor --client hermes --json`.",
35
+ "Reload Hermes MCP with `/reload-mcp` or `hermes mcp test nourish`.",
36
+ "From Telegram, ask Hermes to call `nourish_connection_status`, then preview and log a small meal.",
37
+ ],
38
+ };
39
+ }
40
+ export function inspectHermes(options = {}) {
41
+ const homeDir = expandHome(options.homeDir ?? homedir());
42
+ const configPath = join(homeDir, ".hermes", "config.yaml");
43
+ const skillPath = join(homeDir, ".hermes", "skills", "nourish-mcp", "SKILL.md");
44
+ const configExists = existsSync(configPath);
45
+ const config = configExists ? readFileSync(configPath, "utf8") : "";
46
+ const localDir = parseNourishLocalDir(config);
47
+ const skillInstalled = existsSync(skillPath);
48
+ const check = {
49
+ config_exists: configExists,
50
+ nourish_server_configured: /^\s*nourish\s*:/m.test(config) && /wellness-nourish/.test(config),
51
+ package_pinned: config.includes(PINNED_NPM_PACKAGE),
52
+ skill_installed: skillInstalled,
53
+ ...(localDir === undefined ? {} : { nourish_local_dir: localDir }),
54
+ nourish_local_dir_exists: localDir === undefined ? false : existsSync(expandHome(localDir)),
55
+ };
56
+ return {
57
+ ...check,
58
+ recommendations: buildHermesRecommendations(check),
59
+ };
60
+ }
61
+ export function hermesSkillMarkdown(localDir = "~/.wellness-nourish") {
62
+ return [
63
+ "# Nourish MCP",
64
+ "",
65
+ "Use this skill whenever a user asks Hermes, including through Telegram, to search foods, estimate meals, log intake, log water, manage nutrition goals, or summarize nutrition through the Nourish MCP.",
66
+ "",
67
+ "## Runtime Contract",
68
+ "",
69
+ "- Prefer direct MCP tools exposed by Hermes.",
70
+ "- Start nutrition tasks with `mcp_nourish_nourish_connection_status` unless the user only asks for installation help.",
71
+ "- Use `mcp_nourish_nourish_capabilities` or `mcp_nourish_nourish_agent_manifest` when you need the machine-readable workflow contract.",
72
+ "- Do not use terminal, Python, curl or npm as a workaround for normal nutrition data access when MCP tools are available.",
73
+ "- After editing `/root/.hermes/config.yaml` or `~/.hermes/config.yaml`, reload MCP with `/reload-mcp` or `hermes mcp test nourish`.",
74
+ "- Do not restart the Hermes gateway for normal Nourish MCP config/data access. Restart only when Hermes itself is unhealthy.",
75
+ "- Never ask the user to paste provider API keys, tokens, raw health exports or private food logs into Telegram.",
76
+ "- Food logs, hydration and goals are personal data. Treat the configured local store as sensitive.",
77
+ "- Nutrition estimates are approximate context, not medical advice, diagnosis or treatment.",
78
+ "",
79
+ "## Telegram Meal Logging",
80
+ "",
81
+ "- If the user says `registra`, `anota`, `log`, `salva`, or otherwise clearly asks to save a meal, call `mcp_nourish_nourish_log_intake` with `explicit_user_intent: true`.",
82
+ "- If the user only says what they ate, first call `mcp_nourish_nourish_estimate_meal`, return a compact preview with calories, protein, confidence and warnings, then ask whether to save it.",
83
+ "- Preserve uncertainty. Include confidence and unresolved items instead of pretending estimates are exact.",
84
+ "- Use `response_format: markdown` for Telegram-facing summaries when available.",
85
+ "",
86
+ "## First Calls",
87
+ "",
88
+ "1. `mcp_nourish_nourish_connection_status`",
89
+ "2. `mcp_nourish_nourish_capabilities`",
90
+ "3. `mcp_nourish_nourish_estimate_meal` for natural-language meals",
91
+ "4. `mcp_nourish_nourish_log_intake` only after explicit save intent",
92
+ "5. `mcp_nourish_nourish_daily_summary` for today's Telegram summary",
93
+ "",
94
+ "## Personal Store",
95
+ "",
96
+ `Configured local store: \`${localDir}\`.`,
97
+ ].join("\n");
98
+ }
99
+ function mergeHermesConfig(configPath, localDir) {
100
+ const snippet = `mcp_servers:\n${nourishServerBlock(localDir)}\n`;
101
+ if (!existsSync(configPath)) {
102
+ writeFileSync(configPath, ensureReloadHint(snippet), { mode: 0o600 });
103
+ chmodSync(configPath, 0o600);
104
+ return undefined;
105
+ }
106
+ const backupPath = backupConfig(configPath);
107
+ const existing = readFileSync(configPath, "utf8");
108
+ const next = existing.trimEnd().length ? upsertNourishBlock(existing, localDir) : snippet;
109
+ writeFileSync(configPath, ensureReloadHint(next), { mode: 0o600 });
110
+ chmodSync(configPath, 0o600);
111
+ return backupPath;
112
+ }
113
+ function upsertNourishBlock(existing, localDir) {
114
+ const lines = existing.trimEnd().split("\n");
115
+ const block = nourishServerBlock(localDir).split("\n");
116
+ const mcpIndex = lines.findIndex((line) => /^mcp_servers:\s*$/.test(line));
117
+ if (mcpIndex === -1) {
118
+ return `${lines.join("\n")}\n\n# Added by ${NPM_PACKAGE_NAME} setup.\nmcp_servers:\n${block.join("\n")}\n`;
119
+ }
120
+ const start = lines.findIndex((line, index) => index > mcpIndex && /^ nourish:\s*$/.test(line));
121
+ if (start === -1) {
122
+ lines.splice(mcpIndex + 1, 0, ...block);
123
+ return `${lines.join("\n")}\n`;
124
+ }
125
+ let end = start + 1;
126
+ while (end < lines.length) {
127
+ const line = lines[end] ?? "";
128
+ if (/^ [A-Za-z0-9_-]+:\s*$/.test(line) || /^[A-Za-z0-9_-]+:\s*$/.test(line)) {
129
+ break;
130
+ }
131
+ end += 1;
132
+ }
133
+ lines.splice(start, end - start, ...block);
134
+ return `${lines.join("\n")}\n`;
135
+ }
136
+ function nourishServerBlock(localDir) {
137
+ return [
138
+ " nourish:",
139
+ " command: npx",
140
+ " args:",
141
+ " - -y",
142
+ ` - ${PINNED_NPM_PACKAGE}`,
143
+ " env:",
144
+ ` NOURISH_LOCAL_DIR: ${localDir}`,
145
+ ' NOURISH_OFF_ENABLED: "1"',
146
+ ].join("\n");
147
+ }
148
+ function backupConfig(path) {
149
+ const backupPath = `${path}.bak-nourish-mcp-${new Date().toISOString().replace(/[-:]/g, "").replace(/\..+/, "Z")}`;
150
+ renameSync(path, backupPath);
151
+ chmodSync(backupPath, 0o600);
152
+ writeFileSync(path, readFileSync(backupPath, "utf8"), { mode: 0o600 });
153
+ chmodSync(path, 0o600);
154
+ return backupPath;
155
+ }
156
+ function ensureReloadHint(text) {
157
+ if (/mcp_reload_confirm\s*:\s*false/.test(text)) {
158
+ return text.endsWith("\n") ? text : `${text}\n`;
159
+ }
160
+ if (/^approvals:\s*$/m.test(text)) {
161
+ return `${text.trimEnd()}\n mcp_reload_confirm: false\n`;
162
+ }
163
+ return `${text.trimEnd()}\n\napprovals:\n mcp_reload_confirm: false\n`;
164
+ }
165
+ function buildHermesRecommendations(check) {
166
+ const recommendations = [];
167
+ if (!check.config_exists || !check.nourish_server_configured) {
168
+ recommendations.push("Run `wellness-nourish setup --client hermes --profile personal` to create a Hermes MCP config and local Hermes skill.");
169
+ }
170
+ if (check.nourish_server_configured && !check.package_pinned) {
171
+ recommendations.push(`Pin the Hermes MCP command to \`${PINNED_NPM_PACKAGE}\` to avoid stale npx cache behavior.`);
172
+ }
173
+ if (!check.skill_installed) {
174
+ recommendations.push("Install the Hermes skill at `~/.hermes/skills/nourish-mcp/SKILL.md` so Telegram flows use preview-before-write.");
175
+ }
176
+ if (check.nourish_local_dir !== undefined && !check.nourish_local_dir_exists) {
177
+ recommendations.push(`Create the configured Nourish local store directory: \`${check.nourish_local_dir}\`.`);
178
+ }
179
+ recommendations.push("After config changes, use `/reload-mcp` or `hermes mcp test nourish`; do not restart the Hermes gateway for normal Nourish data access.");
180
+ recommendations.push("For Telegram, preview estimates first and only log intake after explicit save intent.");
181
+ return recommendations;
182
+ }
183
+ function parseNourishLocalDir(config) {
184
+ const lines = config.split("\n");
185
+ const nourishIndex = lines.findIndex((line) => /^ nourish:\s*$/.test(line));
186
+ if (nourishIndex === -1) {
187
+ return undefined;
188
+ }
189
+ for (let index = nourishIndex + 1; index < lines.length; index += 1) {
190
+ const line = lines[index] ?? "";
191
+ if (/^ [A-Za-z0-9_-]+:\s*$/.test(line) || /^[A-Za-z0-9_-]+:\s*$/.test(line)) {
192
+ return undefined;
193
+ }
194
+ const match = line.match(/^\s+NOURISH_LOCAL_DIR:\s*(.+?)\s*$/);
195
+ if (match?.[1]) {
196
+ return unquoteYamlScalar(match[1]);
197
+ }
198
+ }
199
+ return undefined;
200
+ }
201
+ function unquoteYamlScalar(value) {
202
+ const trimmed = value.trim();
203
+ if ((trimmed.startsWith("\"") && trimmed.endsWith("\"")) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
204
+ return trimmed.slice(1, -1);
205
+ }
206
+ return trimmed;
207
+ }
208
+ function expandHome(path) {
209
+ if (path === "~") {
210
+ return homedir();
211
+ }
212
+ if (path.startsWith("~/")) {
213
+ return join(homedir(), path.slice(2));
214
+ }
215
+ return path;
216
+ }
217
+ function normalizeProfile(profile) {
218
+ return profile.replace(/[^A-Za-z0-9_-]+/g, "-").replace(/^-+|-+$/g, "") || "personal";
219
+ }
220
+ //# sourceMappingURL=hermes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/cli/hermes.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export declare const SERVER_NAME = "nourish-mcp";
2
- export declare const SERVER_VERSION = "0.1.0";
2
+ export declare const SERVER_VERSION = "0.1.1";
3
+ export declare const NPM_PACKAGE_NAME = "wellness-nourish";
4
+ export declare const PINNED_NPM_PACKAGE = "wellness-nourish@0.1.1";
3
5
  export declare const DEFAULT_HOST = "127.0.0.1";
4
6
  export declare const DEFAULT_PORT = 3000;
5
7
  export declare const LOCAL_DIR_NAME = ".wellness-nourish";
6
- export declare const USER_AGENT = "wellness-nourish/0.1.0 (https://wellness.delx.ai; contact: david@delx.ai)";
8
+ export declare const USER_AGENT = "wellness-nourish/0.1.1 (https://wellness.delx.ai; contact: david@delx.ai)";
7
9
  export declare const USDA_BASE_URL = "https://api.nal.usda.gov/fdc/v1";
8
10
  export declare const OFF_BASE_URL = "https://world.openfoodfacts.org";
package/dist/constants.js CHANGED
@@ -1,9 +1,11 @@
1
1
  export const SERVER_NAME = "nourish-mcp";
2
- export const SERVER_VERSION = "0.1.0";
2
+ export const SERVER_VERSION = "0.1.1";
3
+ export const NPM_PACKAGE_NAME = "wellness-nourish";
4
+ export const PINNED_NPM_PACKAGE = `${NPM_PACKAGE_NAME}@${SERVER_VERSION}`;
3
5
  export const DEFAULT_HOST = "127.0.0.1";
4
6
  export const DEFAULT_PORT = 3000;
5
7
  export const LOCAL_DIR_NAME = ".wellness-nourish";
6
- export const USER_AGENT = "wellness-nourish/0.1.0 (https://wellness.delx.ai; contact: david@delx.ai)";
8
+ export const USER_AGENT = `${NPM_PACKAGE_NAME}/${SERVER_VERSION} (https://wellness.delx.ai; contact: david@delx.ai)`;
7
9
  export const USDA_BASE_URL = "https://api.nal.usda.gov/fdc/v1";
8
10
  export const OFF_BASE_URL = "https://world.openfoodfacts.org";
9
11
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,2EAA2E,CAAC;AACtG,MAAM,CAAC,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,gBAAgB,IAAI,cAAc,EAAE,CAAC;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,mBAAmB,CAAC;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,gBAAgB,IAAI,cAAc,qDAAqD,CAAC;AACrH,MAAM,CAAC,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAC"}
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ function helpText() {
35
35
  "Commands:",
36
36
  " status Print connection status.",
37
37
  " doctor Run local DX checks.",
38
- " setup --client <name> Print MCP client config.",
38
+ " setup --client <name> Print MCP config; writes Hermes config/skill for --client hermes.",
39
39
  " search <query> Search USDA foods.",
40
40
  " barcode <barcode> Lookup an Open Food Facts barcode.",
41
41
  " log [--preview] <text...> Estimate or log a meal.",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,19 @@ export function registerNourishPrompts(server) {
13
13
  },
14
14
  ],
15
15
  }));
16
+ server.registerPrompt("nourish_telegram_meal_log", {
17
+ title: "Nourish Telegram meal log",
18
+ description: "Handle a Telegram meal message with preview-before-write safety.",
19
+ }, async () => ({
20
+ messages: [
21
+ {
22
+ role: "user",
23
+ content: {
24
+ type: "text",
25
+ text: "For a Telegram meal message, call nourish_connection_status if needed, then use nourish_estimate_meal first. Reply with a compact Markdown preview: calories, protein, confidence, unresolved items, and warnings. If the user clearly asked to save/register/log, call nourish_log_intake with explicit_user_intent true. Otherwise ask for confirmation before logging. Do not provide medical advice.",
26
+ },
27
+ },
28
+ ],
29
+ }));
16
30
  }
17
31
  //# sourceMappingURL=nourish-prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nourish-prompts.js","sourceRoot":"","sources":["../../src/prompts/nourish-prompts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,cAAc,CACnB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,mFAAmF;KACjG,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,sSAAsS;iBACzS;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"nourish-prompts.js","sourceRoot":"","sources":["../../src/prompts/nourish-prompts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,cAAc,CACnB,sBAAsB,EACtB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,mFAAmF;KACjG,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,sSAAsS;iBACzS;aACF;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,cAAc,CACnB,2BAA2B,EAC3B;QACE,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,kEAAkE;KAChF,EACD,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EACF,0YAA0Y;iBAC7Y;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -61,12 +61,12 @@ export declare const ExportInputSchema: z.ZodObject<{
61
61
  }, z.core.$strict>;
62
62
  export declare const AgentManifestInputSchema: z.ZodObject<{
63
63
  client: z.ZodDefault<z.ZodEnum<{
64
+ hermes: "hermes";
64
65
  generic: "generic";
65
66
  cursor: "cursor";
66
67
  claude: "claude";
67
68
  codex: "codex";
68
69
  windsurf: "windsurf";
69
- hermes: "hermes";
70
70
  openclaw: "openclaw";
71
71
  }>>;
72
72
  response_format: z.ZodDefault<z.ZodEnum<{
@@ -19,6 +19,21 @@ export interface NourishAgentManifest {
19
19
  reload_after_config_change: string;
20
20
  use_direct_tools: boolean;
21
21
  avoid_terminal_workarounds: boolean;
22
+ no_gateway_restart_for_data_access: boolean;
23
+ common_tool_names: string[];
24
+ recommended_config: {
25
+ mcp_servers: {
26
+ nourish: {
27
+ command: string;
28
+ args: string[];
29
+ env: {
30
+ NOURISH_LOCAL_DIR: string;
31
+ NOURISH_OFF_ENABLED: string;
32
+ };
33
+ };
34
+ };
35
+ };
36
+ personal_telegram_contract: string[];
22
37
  };
23
38
  agent_rules: string[];
24
39
  capabilities: ReturnType<typeof buildCapabilities>;
@@ -1,4 +1,4 @@
1
- import { SERVER_NAME, SERVER_VERSION } from "../constants.js";
1
+ import { NPM_PACKAGE_NAME, PINNED_NPM_PACKAGE, SERVER_NAME, SERVER_VERSION } from "../constants.js";
2
2
  import { buildCapabilities } from "./capabilities.js";
3
3
  import { buildPrivacyAudit } from "./privacy-audit.js";
4
4
  const SUPPORTED_CLIENTS = [
@@ -45,7 +45,7 @@ export function buildAgentManifest(client) {
45
45
  supported_clients: SUPPORTED_CLIENTS,
46
46
  install: {
47
47
  command: "npx",
48
- args: ["-y", "wellness-nourish"],
48
+ args: ["-y", NPM_PACKAGE_NAME],
49
49
  optional_env: ["FDC_API_KEY", "NOURISH_OFF_ENABLED", "NOURISH_LOCAL_DIR"],
50
50
  },
51
51
  recommended_first_calls: RECOMMENDED_FIRST_CALLS,
@@ -61,12 +61,37 @@ export function buildAgentManifest(client) {
61
61
  reload_after_config_change: "/reload-mcp or hermes mcp test nourish",
62
62
  use_direct_tools: true,
63
63
  avoid_terminal_workarounds: true,
64
+ no_gateway_restart_for_data_access: true,
65
+ common_tool_names: [
66
+ "mcp_nourish_nourish_connection_status",
67
+ "mcp_nourish_nourish_estimate_meal",
68
+ "mcp_nourish_nourish_log_intake",
69
+ "mcp_nourish_nourish_daily_summary",
70
+ ],
71
+ recommended_config: {
72
+ mcp_servers: {
73
+ nourish: {
74
+ command: "npx",
75
+ args: ["-y", PINNED_NPM_PACKAGE],
76
+ env: {
77
+ NOURISH_LOCAL_DIR: "/root/.hermes/nourish/personal",
78
+ NOURISH_OFF_ENABLED: "1",
79
+ },
80
+ },
81
+ },
82
+ },
83
+ personal_telegram_contract: [
84
+ "Preview natural-language meals before writing unless the user explicitly says to save/register/log.",
85
+ "Use direct MCP tools from Telegram; avoid shell workarounds for normal nutrition access.",
86
+ "Return compact Markdown with calories, protein, confidence, warnings, and a confirmation question.",
87
+ ],
64
88
  },
65
89
  agent_rules: [
66
90
  "Call nourish_connection_status before provider-backed tools.",
67
91
  "Use exact search or barcode lookup before estimating nutrition.",
68
92
  "Preserve confidence values and source quality warnings in user-facing summaries.",
69
93
  "Ask confirmation before logging intake unless the user explicitly requested logging.",
94
+ "For Hermes Telegram usage, use preview -> confirm -> log as the default meal flow.",
70
95
  "Use preview/list/update/delete tools instead of overwriting private logs blindly.",
71
96
  "Use hydration and goals tools only for local tracking context, never for clinical advice.",
72
97
  "Never ask users to paste secrets, raw health exports, provider tokens, or private food logs.",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manifest.js","sourceRoot":"","sources":["../../src/services/agent-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,oBAAoB,CAAC;AAmCjF,MAAM,iBAAiB,GAAyB;IAC9C,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;CACV,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;CACtB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;IACnB,mBAAmB;IACnB,2BAA2B;IAC3B,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;CACtB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,iBAAiB,EAAE,iBAAiB;QACpC,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;YAChC,YAAY,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;SAC1E;QACD,uBAAuB,EAAE,uBAAuB;QAChD,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,uBAAuB;SACxB;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,cAAc;YAChC,0BAA0B,EAAE,wCAAwC;YACpE,gBAAgB,EAAE,IAAI;YACtB,0BAA0B,EAAE,IAAI;SACjC;QACD,WAAW,EAAE;YACX,8DAA8D;YAC9D,iEAAiE;YACjE,kFAAkF;YAClF,sFAAsF;YACtF,mFAAmF;YACnF,2FAA2F;YAC3F,8FAA8F;YAC9F,0FAA0F;YAC1F,qEAAqE;SACtE;QACD,YAAY,EAAE,iBAAiB,EAAE;QACjC,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agent-manifest.js","sourceRoot":"","sources":["../../src/services/agent-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,oBAAoB,CAAC;AAkDjF,MAAM,iBAAiB,GAAyB;IAC9C,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;CACV,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;CACtB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;IACnB,mBAAmB;IACnB,2BAA2B;IAC3B,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;CACtB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,iBAAiB,EAAE,iBAAiB;QACpC,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC9B,YAAY,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;SAC1E;QACD,uBAAuB,EAAE,uBAAuB;QAChD,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,uBAAuB;SACxB;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,cAAc;YAChC,0BAA0B,EAAE,wCAAwC;YACpE,gBAAgB,EAAE,IAAI;YACtB,0BAA0B,EAAE,IAAI;YAChC,kCAAkC,EAAE,IAAI;YACxC,iBAAiB,EAAE;gBACjB,uCAAuC;gBACvC,mCAAmC;gBACnC,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,kBAAkB,EAAE;gBAClB,WAAW,EAAE;oBACX,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;wBAChC,GAAG,EAAE;4BACH,iBAAiB,EAAE,gCAAgC;4BACnD,mBAAmB,EAAE,GAAG;yBACzB;qBACF;iBACF;aACF;YACD,0BAA0B,EAAE;gBAC1B,qGAAqG;gBACrG,0FAA0F;gBAC1F,oGAAoG;aACrG;SACF;QACD,WAAW,EAAE;YACX,8DAA8D;YAC9D,iEAAiE;YACjE,kFAAkF;YAClF,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,2FAA2F;YAC3F,8FAA8F;YAC9F,0FAA0F;YAC1F,qEAAqE;SACtE;QACD,YAAY,EAAE,iBAAiB,EAAE;QACjC,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC;AACJ,CAAC"}
@@ -11,7 +11,7 @@ function numberFromEnv(value, fallback) {
11
11
  return Number.isFinite(parsed) ? parsed : fallback;
12
12
  }
13
13
  export function getConfig() {
14
- const local_dir = process.env.NOURISH_LOCAL_DIR ?? join(homedir(), LOCAL_DIR_NAME);
14
+ const local_dir = expandHome(process.env.NOURISH_LOCAL_DIR ?? join(homedir(), LOCAL_DIR_NAME));
15
15
  const usda_api_key = process.env.FDC_API_KEY ?? process.env.USDA_FDC_API_KEY;
16
16
  mkdirSync(local_dir, { recursive: true });
17
17
  const config = {
@@ -29,4 +29,13 @@ export function getConfig() {
29
29
  export function getFixtureDir() {
30
30
  return process.env.NOURISH_FIXTURE_DIR ?? "fixtures";
31
31
  }
32
+ function expandHome(path) {
33
+ if (path === "~") {
34
+ return homedir();
35
+ }
36
+ if (path.startsWith("~/")) {
37
+ return join(homedir(), path.slice(2));
38
+ }
39
+ return path;
40
+ }
32
41
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,SAAS,aAAa,CAAC,KAAyB,EAAE,QAAgB;IAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;IACnF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7E,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAkB;QAC5B,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QACtD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;QACpD,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC;QAC7E,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;KAChE,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,SAAS,aAAa,CAAC,KAAyB,EAAE,QAAgB;IAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC7E,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAkB;QAC5B,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG;QACtD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG;QACpD,iBAAiB,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC;QAC7E,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;KAChE,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,UAAU,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -34,17 +34,27 @@ export function buildUsageGuide() {
34
34
  "Treat goals as local tracking preferences, not medical guidance.",
35
35
  ],
36
36
  },
37
+ {
38
+ name: "Hermes Telegram personal tracker",
39
+ steps: [
40
+ "Install with wellness-nourish setup --client hermes --profile personal.",
41
+ "Use direct mcp_nourish_* tools from Hermes instead of terminal workarounds.",
42
+ "For plain Telegram meal messages, preview first and ask before saving.",
43
+ "For explicit save/register/log messages, call nourish_log_intake with explicit_user_intent true.",
44
+ ],
45
+ },
37
46
  ],
38
47
  human_cli: {
39
- setup: "nourish-mcp setup --client claude",
40
- doctor: "nourish-mcp doctor",
41
- preview: "nourish-mcp log --preview --meal breakfast \"2 eggs and banana\"",
42
- list: "nourish-mcp list 2026-05-05",
43
- edit: "nourish-mcp edit --entry intake_id --meal snack --notes \"corrected\"",
44
- clear_day: "nourish-mcp clear-day 2026-05-05 --yes",
45
- hydration: "nourish-mcp water 500 --date 2026-05-05",
46
- goals: "nourish-mcp goals --set-calories 2200 --set-protein 120 --set-water 2500",
47
- csv_export: "nourish-mcp export --format csv",
48
+ setup: "wellness-nourish setup --client claude",
49
+ hermes_setup: "wellness-nourish setup --client hermes --profile personal",
50
+ doctor: "wellness-nourish doctor",
51
+ preview: "wellness-nourish log --preview --meal breakfast \"2 eggs and banana\"",
52
+ list: "wellness-nourish list 2026-05-05",
53
+ edit: "wellness-nourish edit --entry intake_id --meal snack --notes \"corrected\"",
54
+ clear_day: "wellness-nourish clear-day 2026-05-05 --yes",
55
+ hydration: "wellness-nourish water 500 --date 2026-05-05",
56
+ goals: "wellness-nourish goals --set-calories 2200 --set-protein 120 --set-water 2500",
57
+ csv_export: "wellness-nourish export --format csv",
48
58
  },
49
59
  safety_rules: [
50
60
  "Require explicit user intent for intake, hydration, goals, and deletion mutations.",
@@ -1 +1 @@
1
- {"version":3,"file":"usage-guide.js","sourceRoot":"","sources":["../../src/services/usage-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9D,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE;YACZ,iCAAiC;YACjC,4BAA4B;YAC5B,6BAA6B;YAC7B,wFAAwF;SACzF;QACD,eAAe,EAAE;YACf;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE;oBACL,sCAAsC;oBACtC,oEAAoE;oBACpE,0DAA0D;iBAC3D;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,4EAA4E;oBAC5E,sEAAsE;oBACtE,8EAA8E;iBAC/E;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE;oBACL,2DAA2D;oBAC3D,yDAAyD;oBACzD,kEAAkE;iBACnE;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,mCAAmC;YAC1C,MAAM,EAAE,oBAAoB;YAC5B,OAAO,EAAE,kEAAkE;YAC3E,IAAI,EAAE,6BAA6B;YACnC,IAAI,EAAE,uEAAuE;YAC7E,SAAS,EAAE,wCAAwC;YACnD,SAAS,EAAE,yCAAyC;YACpD,KAAK,EAAE,0EAA0E;YACjF,UAAU,EAAE,iCAAiC;SAC9C;QACD,YAAY,EAAE;YACZ,oFAAoF;YACpF,kFAAkF;YAClF,oDAAoD;YACpD,uDAAuD;SACxD;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"usage-guide.js","sourceRoot":"","sources":["../../src/services/usage-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9D,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE;YACZ,iCAAiC;YACjC,4BAA4B;YAC5B,6BAA6B;YAC7B,wFAAwF;SACzF;QACD,eAAe,EAAE;YACf;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE;oBACL,sCAAsC;oBACtC,oEAAoE;oBACpE,0DAA0D;iBAC3D;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,4EAA4E;oBAC5E,sEAAsE;oBACtE,8EAA8E;iBAC/E;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE;oBACL,2DAA2D;oBAC3D,yDAAyD;oBACzD,kEAAkE;iBACnE;aACF;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE;oBACL,yEAAyE;oBACzE,6EAA6E;oBAC7E,wEAAwE;oBACxE,kGAAkG;iBACnG;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,wCAAwC;YAC/C,YAAY,EAAE,2DAA2D;YACzE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EAAE,uEAAuE;YAChF,IAAI,EAAE,kCAAkC;YACxC,IAAI,EAAE,4EAA4E;YAClF,SAAS,EAAE,6CAA6C;YACxD,SAAS,EAAE,8CAA8C;YACzD,KAAK,EAAE,+EAA+E;YACtF,UAAU,EAAE,sCAAsC;SACnD;QACD,YAAY,EAAE;YACZ,oFAAoF;YACpF,kFAAkF;YAClF,oDAAoD;YACpD,uDAAuD;SACxD;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ # Nourish MCP
2
+
3
+ Use this skill whenever a user asks Hermes, including through Telegram, to search foods, estimate meals, log intake, log water, manage nutrition goals, or summarize nutrition through the Nourish MCP.
4
+
5
+ ## Runtime Contract
6
+
7
+ - Prefer direct MCP tools exposed by Hermes.
8
+ - Start nutrition tasks with `mcp_nourish_nourish_connection_status` unless the user only asks for installation help.
9
+ - Use `mcp_nourish_nourish_capabilities` or `mcp_nourish_nourish_agent_manifest` when you need the machine-readable workflow contract.
10
+ - Do not use terminal, Python, curl or npm as a workaround for normal nutrition data access when MCP tools are available.
11
+ - After editing `/root/.hermes/config.yaml` or `~/.hermes/config.yaml`, reload MCP with `/reload-mcp` or `hermes mcp test nourish`.
12
+ - Do not restart the Hermes gateway for normal Nourish MCP config/data access. Restart only when Hermes itself is unhealthy.
13
+ - Never ask the user to paste provider API keys, tokens, raw health exports or private food logs into Telegram.
14
+ - Food logs, hydration and goals are personal data. Treat the configured local store as sensitive.
15
+ - Nutrition estimates are approximate context, not medical advice, diagnosis or treatment.
16
+
17
+ ## Telegram Meal Logging
18
+
19
+ - If the user says `registra`, `anota`, `log`, `salva`, or otherwise clearly asks to save a meal, call `mcp_nourish_nourish_log_intake` with `explicit_user_intent: true`.
20
+ - If the user only says what they ate, first call `mcp_nourish_nourish_estimate_meal`, return a compact preview with calories, protein, confidence and warnings, then ask whether to save it.
21
+ - Preserve uncertainty. Include confidence and unresolved items instead of pretending estimates are exact.
22
+ - Use `response_format: markdown` for Telegram-facing summaries when available.
23
+
24
+ ## First Calls
25
+
26
+ 1. `mcp_nourish_nourish_connection_status`
27
+ 2. `mcp_nourish_nourish_capabilities`
28
+ 3. `mcp_nourish_nourish_estimate_meal` for natural-language meals
29
+ 4. `mcp_nourish_nourish_log_intake` only after explicit save intent
30
+ 5. `mcp_nourish_nourish_daily_summary` for today's Telegram summary
@@ -1,18 +1,34 @@
1
1
  # Hermes
2
2
 
3
- Use the package command as the MCP server command:
3
+ For personal Hermes + Telegram usage, let the package write the MCP config and skill:
4
+
5
+ ```bash
6
+ npx -y wellness-nourish setup --client hermes --profile david --local-dir /root/.hermes/nourish/david
7
+ npx -y wellness-nourish doctor --client hermes --json
8
+ hermes mcp test nourish
9
+ ```
10
+
11
+ This writes `~/.hermes/config.yaml` and `~/.hermes/skills/nourish-mcp/SKILL.md`.
12
+
13
+ The resulting MCP server block uses this shape:
4
14
 
5
15
  ```json
6
16
  {
7
17
  "name": "nourish",
8
18
  "command": "npx",
9
- "args": ["-y", "wellness-nourish"],
19
+ "args": ["-y", "wellness-nourish@0.1.1"],
10
20
  "env": {
11
- "FDC_API_KEY": "${FDC_API_KEY}",
12
21
  "NOURISH_OFF_ENABLED": "1",
13
- "NOURISH_LOCAL_DIR": "~/.wellness-nourish"
22
+ "NOURISH_LOCAL_DIR": "/root/.hermes/nourish/david"
14
23
  }
15
24
  }
16
25
  ```
17
26
 
18
27
  After config changes, reload MCP and call `nourish_connection_status`, `nourish_capabilities`, and `nourish_agent_manifest`.
28
+
29
+ Telegram flow:
30
+
31
+ 1. Preview with `nourish_estimate_meal`.
32
+ 2. Ask for confirmation unless the user clearly asked to save/register/log.
33
+ 3. Save with `nourish_log_intake` and `explicit_user_intent: true`.
34
+ 4. Summarize with `nourish_daily_summary` or `nourish_weekly_summary`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wellness-nourish",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Standalone MCP server for nutrition search, intake, and meal summaries.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "engines": {
32
32
  "node": ">=20"
33
33
  },
34
- "homepage": "https://wellness.delx.ai/connectors/nourish",
34
+ "homepage": "https://wellness.delx.ai/nutrition",
35
35
  "repository": {
36
36
  "type": "git",
37
37
  "url": "git+https://github.com/davidmosiah/wellness-nourish.git"
package/server.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "io.github.davidmosiah/wellness-nourish",
3
3
  "package": "wellness-nourish",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "description": "Local MCP server for nutrition search, barcode lookup, intake logging, hydration, goals, exports, and meal summaries.",
6
6
  "repository": {
7
7
  "type": "git",