healthy-companion 1.0.4 → 1.0.6

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 ADDED
@@ -0,0 +1,36 @@
1
+ # 🌿 Healthy Companion
2
+
3
+ A lightweight MCP server for tracking todos.
4
+
5
+ ## 🚀 Setup
6
+
7
+ ### 🔧 Kilo Code
8
+
9
+ Add to your Kilo Code MCP settings (`.kilocode/mcp.json`):
10
+
11
+ ```json
12
+ {
13
+ "mcpServers": {
14
+ "healthy-companion": {
15
+ "command": "npx",
16
+ "args": ["-y", "healthy-companion"]
17
+ }
18
+ }
19
+ }
20
+ ```
21
+
22
+ ## 🛠️ Tools
23
+
24
+ | Tool | Description |
25
+ | ------------- | ------------------------- |
26
+ | `todo_add` | ➕ Add a todo item |
27
+ | `todo_list` | 📋 List all todos |
28
+ | `todo_remove` | 🗑️ Remove a todo by number |
29
+
30
+ ## 💬 Usage
31
+
32
+ Just ask AI:
33
+
34
+ - ➕ "Add a todo: buy groceries"
35
+ - 📋 "Show my todos"
36
+ - 🗑️ "Remove todo 2"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "healthy-companion",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "type": "module",
5
5
  "description": "A healthy companion MCP server with todo and water tracking",
6
6
  "main": "server.js",
package/server.js CHANGED
@@ -18,7 +18,7 @@ void async function main ()
18
18
  {
19
19
  const transport = new StdioServerTransport();
20
20
  await server.connect( transport );
21
- console.warn( "MCP server is running..." );
21
+ console.error( "MCP server is running..." );
22
22
  }
23
23
  catch ( error )
24
24
  {
package/tools/todo.js CHANGED
@@ -6,8 +6,12 @@ export function registerTodoTools ( server )
6
6
  {
7
7
  server.tool(
8
8
  "todo_add",
9
- "Add a TODO item",
10
- { item: z.string().describe( "The text of the todo item" ) },
9
+ {
10
+ description: "Add a TODO item. Call this when the user expresses intent to do something later, needs to remember a task, or mentions something they should do - even if phrased casually like 'I should do that', 'I need to remember', 'let's do this later', 'don't forget to', etc.",
11
+ inputSchema: {
12
+ item: z.string().describe( "The text of the todo item. Extract the task from the user's message, rephrasing as a clear action item if needed." )
13
+ }
14
+ },
11
15
  async ({ item }) =>
12
16
  {
13
17
  todos.push( item );
@@ -19,8 +23,10 @@ export function registerTodoTools ( server )
19
23
 
20
24
  server.tool(
21
25
  "todo_list",
22
- "List all TODO items",
23
- {},
26
+ {
27
+ description: "List all TODO items. Call this when the user asks about their todos, wants to see what they need to do, mentions checking their list, or asks 'what do I have to do', 'show my todos', 'what's on my list', etc.",
28
+ inputSchema: {}
29
+ },
24
30
  async () =>
25
31
  {
26
32
  if ( todos.length === 0 )
@@ -34,8 +40,12 @@ export function registerTodoTools ( server )
34
40
 
35
41
  server.tool(
36
42
  "todo_remove",
37
- "Remove a TODO item by its number",
38
- { index: z.number().int().positive().describe( "1-based index of the item to remove" ) },
43
+ {
44
+ description: "Remove a TODO item by its number. Call this when the user wants to delete a todo, says they completed a task, wants to remove something from their list, or says 'done with that', 'remove it', 'delete that todo', 'I finished that', etc.",
45
+ inputSchema: {
46
+ index: z.number().int().positive().describe( "1-based index of the item to remove" )
47
+ }
48
+ },
39
49
  async ({ index }) =>
40
50
  {
41
51
  const i = index - 1;