@gethmy/mcp 2.9.3 → 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 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
- - **API Key Authentication** - no database credentials required
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
- ### 1. Get an API Key
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
- - Validate your API key
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 --api-key KEY --global --workspace ID --project ID
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>` | API key (skips prompt) |
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": "hmy_...",
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,