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 +81 -31
- package/dist/cli.js +643 -10
- package/dist/index.js +113 -0
- package/dist/init.js +413 -0
- package/package.json +11 -7
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,
|
|
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
|
-
|
|
35
|
+
### 4. Initialize for Your AI Agents
|
|
33
36
|
|
|
34
37
|
```bash
|
|
35
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
120
|
-
|
|
121
|
-
| `/workspaces`
|
|
122
|
-
| `/workspaces/:id/projects`
|
|
123
|
-
| `/workspaces/:id/members`
|
|
124
|
-
| `/board/:projectId`
|
|
125
|
-
| `/cards`
|
|
126
|
-
| `/cards/:id`
|
|
127
|
-
| `/cards/:id`
|
|
128
|
-
| `/cards/:id`
|
|
129
|
-
| `/cards/:id/move`
|
|
130
|
-
| `/search?q=query`
|
|
131
|
-
| `/columns`
|
|
132
|
-
| `/columns/:id`
|
|
133
|
-
| `/columns/:id`
|
|
134
|
-
| `/labels`
|
|
135
|
-
| `/cards/:id/labels`
|
|
136
|
-
| `/cards/:id/labels/:labelId` | DELETE | Remove label
|
|
137
|
-
| `/subtasks`
|
|
138
|
-
| `/subtasks/:id/toggle`
|
|
139
|
-
| `/subtasks/:id`
|
|
140
|
-
| `/nlu`
|
|
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
|
-
│
|
|
173
|
-
│ (
|
|
221
|
+
│ Database │
|
|
222
|
+
│ (Supabase) │
|
|
174
223
|
└──────────────────┘
|
|
175
224
|
```
|
|
176
225
|
|
|
177
226
|
**Key Benefits:**
|
|
178
|
-
|
|
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
|