harmony-mcp 1.0.4 → 1.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
@@ -1,10 +1,13 @@
1
1
  # harmony-mcp
2
2
 
3
- MCP (Model Context Protocol) server for Harmony Kanban board. Enables Claude Code, Claude Desktop, and other LLMs to interact with your Harmony boards.
3
+ MCP (Model Context Protocol) server for Harmony Kanban board. Enables AI coding agents (Claude Code, OpenAI Codex, Cursor, Windsurf) to interact with your Harmony boards.
4
4
 
5
5
  ## Features
6
6
 
7
7
  - **20+ MCP Tools** for full board control (cards, columns, labels, subtasks)
8
+ - **Agent Session Tracking** - track work progress with timer badges
9
+ - **Multi-Agent Support** - works with Claude Code, Codex, Cursor, Windsurf
10
+ - **One-Command Setup** - auto-configure all supported agents
8
11
  - **Natural Language Processing** via voice-nlu edge function
9
12
  - **API Key Authentication** - no database credentials required
10
13
 
@@ -29,19 +32,30 @@ npm install -g harmony-mcp
29
32
  harmony-mcp configure --api-key hmy_your_key_here
30
33
  ```
31
34
 
32
- Or run interactively:
35
+ ### 4. Initialize for Your AI Agents
33
36
 
34
37
  ```bash
35
- harmony-mcp configure
38
+ # Auto-detect and configure all installed agents
39
+ harmony-mcp init --detect
40
+
41
+ # Or configure all supported agents
42
+ harmony-mcp init --all
43
+
44
+ # Or configure specific agents
45
+ harmony-mcp init --agent claude codex cursor windsurf
36
46
  ```
37
47
 
38
- ### 4. Add to Claude Code
48
+ This creates the necessary configuration files and workflow prompts for each agent.
49
+
50
+ ### Manual Setup (Alternative)
51
+
52
+ If you prefer manual setup for Claude Code:
39
53
 
40
54
  ```bash
41
55
  claude mcp add harmony -- harmony-mcp serve
42
56
  ```
43
57
 
44
- Or add manually to `~/.claude/settings.json`:
58
+ Or add to `~/.claude/settings.json`:
45
59
 
46
60
  ```json
47
61
  {
@@ -54,12 +68,34 @@ Or add manually to `~/.claude/settings.json`:
54
68
  }
55
69
  ```
56
70
 
57
- That's it! Your API key is stored securely in `~/.harmony-mcp/config.json`.
71
+ ## Supported AI Agents
72
+
73
+ | Agent | MCP Config | Workflow Command |
74
+ | ---------------- | ------------------------------------- | ------------------------ |
75
+ | **Claude Code** | `~/.claude/settings.json` | `/hmy #42` |
76
+ | **OpenAI Codex** | `~/.codex/config.toml` | `/prompts:hmy #42` |
77
+ | **Cursor** | `.cursor/mcp.json` | MCP tools auto-available |
78
+ | **Windsurf** | `~/.codeium/windsurf/mcp_config.json` | MCP tools auto-available |
79
+
80
+ ## Card Workflow
81
+
82
+ When you start working on a card (e.g., `/hmy #42`):
83
+
84
+ 1. **Find** - Locates the card by short ID, UUID, or name
85
+ 2. **Move** - Moves the card to "In Progress" column
86
+ 3. **Label** - Adds the "agent" label to indicate AI is working
87
+ 4. **Track** - Starts a session timer visible in the UI
88
+ 5. **Implement** - Work on the task with progress updates
89
+ 6. **Complete** - Move to "Review" when done
58
90
 
59
91
  ## CLI Commands
60
92
 
61
93
  ```bash
62
94
  harmony-mcp configure # Set up API key
95
+ harmony-mcp init # Initialize for AI agents (interactive)
96
+ harmony-mcp init --all # Configure all supported agents
97
+ harmony-mcp init --detect # Auto-detect and configure installed agents
98
+ harmony-mcp init --agent X Y # Configure specific agents
63
99
  harmony-mcp status # Show current config
64
100
  harmony-mcp reset # Clear configuration
65
101
  harmony-mcp set-workspace ID # Set active workspace
@@ -70,6 +106,7 @@ harmony-mcp serve # Start MCP server
70
106
  ## Available Tools
71
107
 
72
108
  ### Card Operations
109
+
73
110
  - `harmony_create_card` - Create a new card
74
111
  - `harmony_update_card` - Update card properties
75
112
  - `harmony_move_card` - Move card to different column
@@ -79,21 +116,25 @@ harmony-mcp serve # Start MCP server
79
116
  - `harmony_get_card` - Get card details
80
117
 
81
118
  ### Column Operations
119
+
82
120
  - `harmony_create_column` - Create new column
83
121
  - `harmony_update_column` - Update column properties
84
122
  - `harmony_delete_column` - Delete column
85
123
 
86
124
  ### Label Operations
125
+
87
126
  - `harmony_create_label` - Create new label
88
127
  - `harmony_add_label_to_card` - Add label to card
89
128
  - `harmony_remove_label_from_card` - Remove label
90
129
 
91
130
  ### Subtask Operations
131
+
92
132
  - `harmony_create_subtask` - Create subtask
93
133
  - `harmony_toggle_subtask` - Toggle completion
94
134
  - `harmony_delete_subtask` - Delete subtask
95
135
 
96
136
  ### Context Operations
137
+
97
138
  - `harmony_list_workspaces` - List workspaces
98
139
  - `harmony_list_projects` - List projects
99
140
  - `harmony_get_board` - Get full board state
@@ -103,8 +144,16 @@ harmony-mcp serve # Start MCP server
103
144
  - `harmony_get_context` - Get current context
104
145
 
105
146
  ### Natural Language
147
+
106
148
  - `harmony_process_command` - Process natural language commands
107
149
 
150
+ ### Agent Session Tracking
151
+
152
+ - `harmony_start_agent_session` - Start tracking work on a card
153
+ - `harmony_update_agent_progress` - Update progress, status, blockers
154
+ - `harmony_end_agent_session` - End session (completed/paused)
155
+ - `harmony_get_agent_session` - Get current session state
156
+
108
157
  ## Direct API Access
109
158
 
110
159
  You can also call the Harmony API directly from any HTTP client:
@@ -116,28 +165,28 @@ curl -X GET "https://gethmy.com/api/workspaces" \
116
165
 
117
166
  ### API Endpoints
118
167
 
119
- | Endpoint | Method | Description |
120
- |----------|--------|-------------|
121
- | `/workspaces` | GET | List workspaces |
122
- | `/workspaces/:id/projects` | GET | List projects in workspace |
123
- | `/workspaces/:id/members` | GET | Get workspace members |
124
- | `/board/:projectId` | GET | Get full board state |
125
- | `/cards` | POST | Create card |
126
- | `/cards/:id` | GET | Get card |
127
- | `/cards/:id` | PATCH | Update card |
128
- | `/cards/:id` | DELETE | Delete card |
129
- | `/cards/:id/move` | POST | Move card |
130
- | `/search?q=query` | GET | Search cards |
131
- | `/columns` | POST | Create column |
132
- | `/columns/:id` | PATCH | Update column |
133
- | `/columns/:id` | DELETE | Delete column |
134
- | `/labels` | POST | Create label |
135
- | `/cards/:id/labels` | POST | Add label to card |
136
- | `/cards/:id/labels/:labelId` | DELETE | Remove label |
137
- | `/subtasks` | POST | Create subtask |
138
- | `/subtasks/:id/toggle` | POST | Toggle subtask |
139
- | `/subtasks/:id` | DELETE | Delete subtask |
140
- | `/nlu` | POST | Process natural language |
168
+ | Endpoint | Method | Description |
169
+ | ---------------------------- | ------ | -------------------------- |
170
+ | `/workspaces` | GET | List workspaces |
171
+ | `/workspaces/:id/projects` | GET | List projects in workspace |
172
+ | `/workspaces/:id/members` | GET | Get workspace members |
173
+ | `/board/:projectId` | GET | Get full board state |
174
+ | `/cards` | POST | Create card |
175
+ | `/cards/:id` | GET | Get card |
176
+ | `/cards/:id` | PATCH | Update card |
177
+ | `/cards/:id` | DELETE | Delete card |
178
+ | `/cards/:id/move` | POST | Move card |
179
+ | `/search?q=query` | GET | Search cards |
180
+ | `/columns` | POST | Create column |
181
+ | `/columns/:id` | PATCH | Update column |
182
+ | `/columns/:id` | DELETE | Delete column |
183
+ | `/labels` | POST | Create label |
184
+ | `/cards/:id/labels` | POST | Add label to card |
185
+ | `/cards/:id/labels/:labelId` | DELETE | Remove label |
186
+ | `/subtasks` | POST | Create subtask |
187
+ | `/subtasks/:id/toggle` | POST | Toggle subtask |
188
+ | `/subtasks/:id` | DELETE | Delete subtask |
189
+ | `/nlu` | POST | Process natural language |
141
190
 
142
191
  ## Configuration
143
192
 
@@ -169,13 +218,14 @@ Your configuration is stored in `~/.harmony-mcp/config.json`:
169
218
 
170
219
 
171
220
  ┌──────────────────┐
172
- Supabase
173
- │ (Database) │
221
+ Database
222
+ │ (Supabase) │
174
223
  └──────────────────┘
175
224
  ```
176
225
 
177
226
  **Key Benefits:**
178
- - No Supabase credentials needed - just a Harmony API key
227
+
228
+ - No Database credentials needed - just a Harmony API key
179
229
  - Any Harmony user can use it
180
230
  - Business logic stays in Harmony
181
231
  - Centralized security and rate limiting