@gethmy/mcp 2.9.4 → 2.9.5
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 +15 -15
- package/dist/cli.js +674 -275
- package/dist/index.js +530 -205
- package/dist/lib/api-client.js +352 -182
- package/dist/lib/config.js +37 -26
- package/package.json +2 -2
- package/src/api-client.ts +50 -4
- package/src/cli.ts +13 -2
- package/src/config.ts +53 -25
- package/src/graph-expansion.ts +7 -4
- package/src/http.ts +3 -14
- package/src/memory-floor.ts +2 -1
- package/src/oauth-login.ts +288 -0
- package/src/oauth-refresh.ts +209 -0
- package/src/server.ts +6 -6
- package/src/skills.ts +4 -2
- package/src/tui/setup.ts +106 -16
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Enables AI coding agents (Claude Code, OpenAI Codex, Cursor) to interact with yo
|
|
|
17
17
|
- **Memory Sync** - bidirectional sync between local markdown files and remote database
|
|
18
18
|
- **Multi-Agent Support** - works with Claude Code, Codex, Cursor, Claude.ai
|
|
19
19
|
- **Smart Setup** - one command configures everything
|
|
20
|
-
- **
|
|
20
|
+
- **Browser Sign-In** - secure OAuth setup (loopback + PKCE), no key to copy or paste; API keys still supported for CI
|
|
21
21
|
|
|
22
22
|
## Prerequisites
|
|
23
23
|
|
|
@@ -26,14 +26,7 @@ Enables AI coding agents (Claude Code, OpenAI Codex, Cursor) to interact with yo
|
|
|
26
26
|
|
|
27
27
|
## Quick Start
|
|
28
28
|
|
|
29
|
-
###
|
|
30
|
-
|
|
31
|
-
1. Log into [Harmony](https://gethmy.com)
|
|
32
|
-
2. Go to **[API Keys](https://gethmy.com/user/keys)**
|
|
33
|
-
3. Click **"Generate New Key"**
|
|
34
|
-
4. Copy the key (starts with `hmy_`)
|
|
35
|
-
|
|
36
|
-
### 2. Run Setup
|
|
29
|
+
### Run Setup
|
|
37
30
|
|
|
38
31
|
```bash
|
|
39
32
|
npx @gethmy/mcp setup
|
|
@@ -41,13 +34,15 @@ npx @gethmy/mcp setup
|
|
|
41
34
|
|
|
42
35
|
The smart setup wizard will:
|
|
43
36
|
|
|
44
|
-
-
|
|
37
|
+
- Sign you in through your browser (OAuth — no API key to copy or paste). You can also create a free account or paste an existing key from the same prompt.
|
|
45
38
|
- Detect installed AI agents (Claude Code, Cursor, Codex)
|
|
46
39
|
- Install skills globally (recommended) or locally
|
|
47
40
|
- Let you select your workspace and project
|
|
48
41
|
|
|
49
42
|
That's it! You're ready to use Harmony with your AI agent.
|
|
50
43
|
|
|
44
|
+
> **Prefer an API key?** Generate one at [gethmy.com/user/keys](https://gethmy.com/user/keys) (starts with `hmy_`) and choose "Paste an API key" in the setup prompt, or pass `--api-key` for unattended CI. Browser sign-in is the recommended path for interactive setup.
|
|
45
|
+
|
|
51
46
|
## Remote MCP (Hosted)
|
|
52
47
|
|
|
53
48
|
Connect any MCP-compatible agent to Harmony's hosted endpoint - no local server required.
|
|
@@ -114,11 +109,12 @@ It detects your existing configuration and only asks for the project context.
|
|
|
114
109
|
## CLI Commands
|
|
115
110
|
|
|
116
111
|
```bash
|
|
117
|
-
# Setup (recommended)
|
|
112
|
+
# Setup (recommended) — authorizes in your browser, no API key handling
|
|
118
113
|
npx @gethmy/mcp setup # Smart setup wizard
|
|
119
114
|
|
|
120
115
|
# Setup with flags (non-interactive)
|
|
121
|
-
npx @gethmy/mcp setup --
|
|
116
|
+
npx @gethmy/mcp setup --global --workspace ID --project ID
|
|
117
|
+
# --api-key is supported for unattended CI only (deprecated — see below)
|
|
122
118
|
|
|
123
119
|
# Status and management
|
|
124
120
|
npx @gethmy/mcp status # Show current configuration
|
|
@@ -132,7 +128,7 @@ npx @gethmy/mcp serve # Start MCP server
|
|
|
132
128
|
|
|
133
129
|
| Flag | Description |
|
|
134
130
|
| -------------------------- | ---------------------------------------------------- |
|
|
135
|
-
| `-k, --api-key <key>` |
|
|
131
|
+
| `-k, --api-key <key>` | **Deprecated** — insecure (leaks via argv/shell history). Unattended CI only; interactive setup uses browser sign-in. |
|
|
136
132
|
| `-e, --email <email>` | Your email for auto-assignment |
|
|
137
133
|
| `-a, --agents <agents...>` | Agents to configure: claude, codex, cursor, windsurf |
|
|
138
134
|
| `-g, --global` | Install skills globally (recommended) |
|
|
@@ -395,11 +391,15 @@ curl -X GET "https://gethmy.com/api/v1/workspaces" \
|
|
|
395
391
|
|
|
396
392
|
### Global Configuration
|
|
397
393
|
|
|
398
|
-
Stored in `~/.harmony-mcp/config.json
|
|
394
|
+
Stored in `~/.harmony-mcp/config.json`. Browser sign-in writes OAuth tokens (and nulls `apiKey`); API-key setup writes `apiKey` instead. The server prefers a live OAuth token and refreshes it automatically:
|
|
399
395
|
|
|
400
396
|
```json
|
|
401
397
|
{
|
|
402
|
-
"apiKey":
|
|
398
|
+
"apiKey": null,
|
|
399
|
+
"oauthAccessToken": "hmy_at_...",
|
|
400
|
+
"oauthRefreshToken": "...",
|
|
401
|
+
"oauthExpiresAt": 1750000000,
|
|
402
|
+
"oauthClientId": "...",
|
|
403
403
|
"apiUrl": "https://gethmy.com/api",
|
|
404
404
|
"userEmail": "you@example.com",
|
|
405
405
|
"activeWorkspaceId": null,
|