@nestr/mcp 0.1.8 → 0.1.10

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.
Files changed (3) hide show
  1. package/README.md +35 -89
  2. package/package.json +1 -1
  3. package/web/index.html +45 -83
package/README.md CHANGED
@@ -14,39 +14,31 @@ This MCP server allows AI assistants to interact with your Nestr workspace:
14
14
 
15
15
  ## Quick Start
16
16
 
17
- ### 1. Get Your API Key
17
+ **Visit [mcp.nestr.io](https://mcp.nestr.io)** for the easiest setup with step-by-step instructions for Claude Desktop, Claude Code, and Cursor.
18
18
 
19
- 1. Go to your [Nestr workspace](https://app.nestr.io)
20
- 2. Click **Settings** (gear icon) in the top right
21
- 3. Go to the **Integrations** tab
22
- 4. Find **"Workspace API access"** and click **Configure**
23
- 5. Click **"New API key"** and copy it
24
-
25
- ### 2. Configure Your AI Client
19
+ ### Claude Desktop
26
20
 
27
- #### Claude Desktop
21
+ 1. Go to **Settings → Connectors → Add custom connector**
22
+ 2. Set **Name** to `Nestr` and **Remote MCP URL** to `https://mcp.nestr.io/mcp`
23
+ 3. Click "Add" then "Authenticate" to log in with Nestr
28
24
 
29
- Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
25
+ ### Claude Code
30
26
 
31
- ```json
32
- {
33
- "mcpServers": {
34
- "nestr": {
35
- "command": "npx",
36
- "args": ["-y", "@nestr/mcp"],
37
- "env": {
38
- "NESTR_API_KEY": "your-api-key-here"
39
- }
40
- }
41
- }
42
- }
27
+ ```bash
28
+ claude mcp add nestr --transport http https://mcp.nestr.io/mcp
43
29
  ```
44
30
 
45
- Restart Claude Desktop after saving.
31
+ Then run `/mcp` in Claude Code and click "Authenticate" to log in.
46
32
 
47
- #### Claude Code
33
+ ### Using the npm Package (Local)
34
+
35
+ If you prefer to run the MCP server locally:
36
+
37
+ ```bash
38
+ npx @nestr/mcp
39
+ ```
48
40
 
49
- Add to your Claude Code MCP settings:
41
+ Configure your AI client with:
50
42
 
51
43
  ```json
52
44
  {
@@ -62,11 +54,12 @@ Add to your Claude Code MCP settings:
62
54
  }
63
55
  ```
64
56
 
65
- #### Cursor
66
-
67
- Add to your Cursor MCP configuration with the same format as above.
57
+ To get an API key:
58
+ 1. Go to your [Nestr workspace](https://app.nestr.io)
59
+ 2. Click **Settings** **Integrations** **Workspace API access** **Configure**
60
+ 3. Click **"New API key"** and copy it
68
61
 
69
- ### 3. Start Using It
62
+ ## Start Using It
70
63
 
71
64
  Ask your AI assistant things like:
72
65
 
@@ -75,7 +68,6 @@ Ask your AI assistant things like:
75
68
  - "Create a new project called 'Q1 Planning'"
76
69
  - "What are my current projects and their status?"
77
70
  - "Who is responsible for customer support?"
78
- - "Show me the structure of the Product circle"
79
71
 
80
72
  ## Available Tools
81
73
 
@@ -100,9 +92,9 @@ Ask your AI assistant things like:
100
92
  | `nestr_list_labels` | List available labels |
101
93
  | `nestr_get_label` | Get label details |
102
94
  | `nestr_get_projects` | List projects with status |
103
- | `nestr_get_insights` | Get self-organization and team health metrics |
95
+ | `nestr_get_insights` | Get workspace metrics |
104
96
  | `nestr_get_insight_history` | Get historical trend data for a metric |
105
- | `nestr_get_workspace_apps` | List enabled apps/features in workspace |
97
+ | `nestr_get_workspace_apps` | List enabled apps/features |
106
98
  | `nestr_list_inbox` | List items in user's inbox (OAuth only) |
107
99
  | `nestr_create_inbox_item` | Quick capture to inbox (OAuth only) |
108
100
  | `nestr_get_inbox_item` | Get inbox item details (OAuth only) |
@@ -110,56 +102,17 @@ Ask your AI assistant things like:
110
102
 
111
103
  ## Authentication
112
104
 
113
- There are two ways to authenticate with the Nestr MCP server:
114
-
115
- ### Option 1: API Key (Simple)
116
-
117
- API keys provide full workspace access and are the easiest way to get started. See [Quick Start](#quick-start) above.
118
-
119
- **Note:** API keys have full workspace access regardless of user permissions.
120
-
121
- ### Option 2: OAuth (Recommended for Hosted Service)
122
-
123
- OAuth authentication respects user-specific permissions - the AI assistant can only access what the authenticated user can access.
124
-
125
- #### Using the Hosted Service (mcp.nestr.io)
126
-
127
- The hosted service at [mcp.nestr.io](https://mcp.nestr.io) supports OAuth out of the box:
128
-
129
- 1. Visit [mcp.nestr.io/oauth/authorize](https://mcp.nestr.io/oauth/authorize)
130
- 2. Log in with your Nestr account and authorize access
131
- 3. Copy the access token from the success page
132
- 4. Use the token in your MCP client configuration:
133
-
134
- ```json
135
- {
136
- "mcpServers": {
137
- "nestr": {
138
- "command": "npx",
139
- "args": ["-y", "@nestr/mcp"],
140
- "env": {
141
- "NESTR_OAUTH_TOKEN": "your-oauth-token-here"
142
- }
143
- }
144
- }
145
- }
146
- ```
105
+ ### OAuth (Recommended)
147
106
 
148
- #### Self-Hosted OAuth Setup
107
+ The hosted service at [mcp.nestr.io](https://mcp.nestr.io) handles OAuth automatically. Just add the server and authenticate through your browser.
149
108
 
150
- If you're running your own instance of the MCP server and want to enable OAuth:
109
+ OAuth respects user-specific permissions - the AI assistant can only access what the authenticated user can access.
151
110
 
152
- 1. **Contact Nestr** at [dev@nestr.io](mailto:dev@nestr.io) to register an OAuth client
153
- 2. Provide your callback URL (e.g., `https://your-domain.com/oauth/callback`)
154
- 3. Nestr will provide you with a `client_id` and `client_secret`
155
- 4. Set the following environment variables:
111
+ ### API Key
156
112
 
157
- ```bash
158
- NESTR_OAUTH_CLIENT_ID=your-client-id
159
- NESTR_OAUTH_CLIENT_SECRET=your-client-secret
160
- ```
113
+ API keys provide full workspace access and work with the local npm package. See [Quick Start](#using-the-npm-package-local) above.
161
114
 
162
- Once configured, users can authenticate via `/oauth/authorize` on your server.
115
+ **Note:** API keys have full workspace access regardless of user permissions.
163
116
 
164
117
  ## Environment Variables
165
118
 
@@ -168,10 +121,8 @@ Once configured, users can authenticate via `/oauth/authorize` on your server.
168
121
  | `NESTR_API_KEY` | Nestr API key (full workspace access) | Yes* |
169
122
  | `NESTR_OAUTH_TOKEN` | OAuth token (respects user permissions) | Yes* |
170
123
  | `NESTR_API_BASE` | API base URL (default: `https://app.nestr.io/api`) | No |
171
- | `NESTR_OAUTH_CLIENT_ID` | OAuth client ID (for self-hosted OAuth) | No |
172
- | `NESTR_OAUTH_CLIENT_SECRET` | OAuth client secret (for self-hosted OAuth) | No |
173
124
 
174
- \* Either `NESTR_API_KEY` or `NESTR_OAUTH_TOKEN` is required.
125
+ \* Either `NESTR_API_KEY` or `NESTR_OAUTH_TOKEN` is required for local usage.
175
126
 
176
127
  ## Development
177
128
 
@@ -199,24 +150,19 @@ npm run build
199
150
  npm run inspect
200
151
  ```
201
152
 
202
- ## Hosted Service
203
-
204
- A hosted version is available at [mcp.nestr.io](https://mcp.nestr.io) for users who prefer not to run the server locally.
205
-
206
153
  ## Security
207
154
 
208
155
  - Never commit your API key or OAuth token to version control
209
- - API keys provide full workspace access - consider using OAuth for more granular permissions
210
- - OAuth tokens respect user permissions and are the recommended approach for shared environments
211
- - Store credentials securely (e.g., in a password manager or secrets manager)
212
- - Rotate keys/tokens if you suspect they've been compromised
156
+ - OAuth tokens respect user permissions and are recommended
157
+ - API keys provide full workspace access - use OAuth for granular permissions
158
+ - Rotate credentials if you suspect they've been compromised
213
159
 
214
160
  ## Resources
215
161
 
162
+ - [Setup Guide](https://mcp.nestr.io) - Step-by-step setup instructions
216
163
  - [Nestr Help Center](https://help.nestr.io)
217
164
  - [Nestr API Documentation](https://app.nestr.io/api/docs)
218
165
  - [Model Context Protocol](https://modelcontextprotocol.io)
219
- - [MCP Specification](https://modelcontextprotocol.io/specification/2025-11-25)
220
166
 
221
167
  ## License
222
168
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestr/mcp",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "MCP server for Nestr - connect AI assistants to your workspace",
5
5
  "author": "Nestr <dev@nestr.io>",
6
6
  "license": "MIT",
package/web/index.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Nestr MCP Server - Connect AI to Your Workspace</title>
7
- <meta name="description" content="Connect Claude, Cursor, Raycast, and other AI assistants to your Nestr workspace using the Model Context Protocol (MCP).">
7
+ <meta name="description" content="Connect Claude, Cursor, and other AI assistants to your Nestr workspace using the Model Context Protocol (MCP).">
8
8
  <link rel="stylesheet" href="styles.css">
9
9
  <link rel="icon" href="https://app.nestr.io/favicon.ico">
10
10
  </head>
@@ -31,7 +31,7 @@
31
31
  <div class="container">
32
32
  <h1>Connect AI to Your Nestr Workspace</h1>
33
33
  <p class="subtitle">
34
- Use the Model Context Protocol (MCP) to let Claude, Cursor, Raycast, and other AI assistants
34
+ Use the Model Context Protocol (MCP) to let Claude, Cursor, and other AI assistants
35
35
  interact with your tasks, projects, circles, and roles.
36
36
  </p>
37
37
  <div class="cta-buttons">
@@ -174,40 +174,39 @@
174
174
  <button class="tab active" data-tab="claude-desktop">Claude Desktop</button>
175
175
  <button class="tab" data-tab="claude-code">Claude Code</button>
176
176
  <button class="tab" data-tab="cursor">Cursor</button>
177
- <button class="tab" data-tab="raycast">Raycast</button>
178
177
  </div>
179
178
 
180
179
  <div class="tab-content active" id="claude-desktop">
181
- <p>Edit your Claude Desktop configuration file:</p>
182
- <ul>
183
- <li><strong>macOS:</strong> <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></li>
184
- <li><strong>Windows:</strong> <code>%APPDATA%\Claude\claude_desktop_config.json</code></li>
185
- </ul>
186
- <p>Add the following configuration:</p>
187
-
188
- <pre class="config-block hosted oauth active"><code>{
189
- "mcpServers": {
190
- "nestr": {
191
- "url": "https://mcp.nestr.io/mcp",
192
- "headers": {
193
- "Authorization": "Bearer your-oauth-token-here"
194
- }
195
- }
196
- }
197
- }</code></pre>
180
+ <div class="config-block hosted oauth active">
181
+ <div class="quickstart-box">
182
+ <h4>Quickstart (Recommended)</h4>
183
+ <p><strong>Step 1:</strong> In Claude Desktop, go to <strong>Settings &rarr; Connectors &rarr; Add custom connector</strong></p>
184
+ <p><strong>Step 2:</strong> Fill in the following:</p>
185
+ <table class="field-table">
186
+ <tr><td><strong>Name</strong></td><td><code>Nestr</code></td></tr>
187
+ <tr><td><strong>Remote MCP URL</strong></td><td><code>https://mcp.nestr.io/mcp</code></td></tr>
188
+ </table>
189
+ <p><strong>Step 3:</strong> Click "Add" and then "Authenticate" to log in with your Nestr account.</p>
190
+ <p class="quickstart-note">That's it! Claude Desktop will handle the OAuth flow automatically.</p>
191
+ </div>
192
+ </div>
198
193
 
199
- <pre class="config-block hosted apikey"><code>{
200
- "mcpServers": {
201
- "nestr": {
202
- "url": "https://mcp.nestr.io/mcp",
203
- "headers": {
204
- "X-Nestr-API-Key": "your-api-key-here"
205
- }
206
- }
207
- }
208
- }</code></pre>
194
+ <div class="config-block hosted apikey">
195
+ <p>Go to <strong>Settings &rarr; Connectors &rarr; Add custom connector</strong> and fill in:</p>
196
+ <table class="field-table">
197
+ <tr><td><strong>Name</strong></td><td><code>Nestr</code></td></tr>
198
+ <tr><td><strong>Remote MCP URL</strong></td><td><code>https://mcp.nestr.io/mcp</code></td></tr>
199
+ <tr><td><strong>Headers</strong></td><td><code>X-Nestr-API-Key: your-api-key-here</code></td></tr>
200
+ </table>
201
+ </div>
209
202
 
210
- <pre class="config-block local oauth"><code>{
203
+ <div class="config-block local oauth">
204
+ <p>For local setup, edit your config file:</p>
205
+ <ul>
206
+ <li><strong>macOS:</strong> <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></li>
207
+ <li><strong>Windows:</strong> <code>%APPDATA%\Claude\claude_desktop_config.json</code></li>
208
+ </ul>
209
+ <pre><code>{
211
210
  "mcpServers": {
212
211
  "nestr": {
213
212
  "command": "npx",
@@ -218,8 +217,16 @@
218
217
  }
219
218
  }
220
219
  }</code></pre>
220
+ <p>Restart Claude Desktop after saving.</p>
221
+ </div>
221
222
 
222
- <pre class="config-block local apikey"><code>{
223
+ <div class="config-block local apikey">
224
+ <p>For local setup, edit your config file:</p>
225
+ <ul>
226
+ <li><strong>macOS:</strong> <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></li>
227
+ <li><strong>Windows:</strong> <code>%APPDATA%\Claude\claude_desktop_config.json</code></li>
228
+ </ul>
229
+ <pre><code>{
223
230
  "mcpServers": {
224
231
  "nestr": {
225
232
  "command": "npx",
@@ -230,16 +237,18 @@
230
237
  }
231
238
  }
232
239
  }</code></pre>
233
- <p>Restart Claude Desktop after saving.</p>
240
+ <p>Restart Claude Desktop after saving.</p>
241
+ </div>
234
242
  </div>
235
243
 
236
244
  <div class="tab-content" id="claude-code">
237
245
  <div class="config-block hosted oauth active">
238
246
  <div class="quickstart-box">
239
247
  <h4>Quickstart (Recommended)</h4>
240
- <p>Claude Code supports automatic OAuth authentication. Just run:</p>
248
+ <p><strong>Step 1:</strong> Add the Nestr MCP server:</p>
241
249
  <pre><code>claude mcp add nestr --transport http https://mcp.nestr.io/mcp</code></pre>
242
- <p class="quickstart-note">Claude Code will automatically open your browser to authenticate with Nestr. No token setup required!</p>
250
+ <p><strong>Step 2:</strong> In Claude Code, run <code>/mcp</code> and click "Authenticate" next to Nestr. This will open your browser to log in with Nestr.</p>
251
+ <p class="quickstart-note">That's it! Once authenticated, Claude Code can access your Nestr workspace.</p>
243
252
  </div>
244
253
  <p>Or, if you already have a token, add it manually:</p>
245
254
  <pre><code>claude mcp add nestr --transport http https://mcp.nestr.io/mcp \
@@ -264,7 +273,7 @@
264
273
  --env NESTR_API_KEY=your-api-key-here</code></pre>
265
274
  </div>
266
275
 
267
- <p>After adding, run <code>/mcp</code> in Claude Code to verify the connection.</p>
276
+ <p>Run <code>/mcp</code> anytime to check connection status or re-authenticate.</p>
268
277
  </div>
269
278
 
270
279
  <div class="tab-content" id="cursor">
@@ -323,53 +332,6 @@
323
332
  <p>Restart Cursor after saving.</p>
324
333
  </div>
325
334
 
326
- <div class="tab-content" id="raycast">
327
- <p>In Raycast, go to <strong>Settings &rarr; Extensions &rarr; AI &rarr; MCP Servers</strong>, then press <kbd>&#8984;N</kbd> to add a new server.</p>
328
-
329
- <div class="config-block hosted oauth active">
330
- <p>Fill in the following fields:</p>
331
- <table class="field-table">
332
- <tr><td><strong>Name</strong></td><td><code>Nestr</code></td></tr>
333
- <tr><td><strong>Transport</strong></td><td>HTTP</td></tr>
334
- <tr><td><strong>URL</strong></td><td><code>https://mcp.nestr.io/mcp</code></td></tr>
335
- <tr><td><strong>HTTP Headers</strong></td><td>Click "Add Item" and add:<br><code>Authorization</code> = <code>Bearer your-oauth-token</code></td></tr>
336
- </table>
337
- </div>
338
-
339
- <div class="config-block hosted apikey">
340
- <p>Fill in the following fields:</p>
341
- <table class="field-table">
342
- <tr><td><strong>Name</strong></td><td><code>Nestr</code></td></tr>
343
- <tr><td><strong>Transport</strong></td><td>HTTP</td></tr>
344
- <tr><td><strong>URL</strong></td><td><code>https://mcp.nestr.io/mcp</code></td></tr>
345
- <tr><td><strong>HTTP Headers</strong></td><td>Click "Add Item" and add:<br><code>X-Nestr-API-Key</code> = <code>your-api-key</code></td></tr>
346
- </table>
347
- </div>
348
-
349
- <div class="config-block local oauth">
350
- <p>Fill in the following fields:</p>
351
- <table class="field-table">
352
- <tr><td><strong>Name</strong></td><td><code>Nestr</code></td></tr>
353
- <tr><td><strong>Transport</strong></td><td>Standard Input/Output</td></tr>
354
- <tr><td><strong>Command</strong></td><td><code>npx</code></td></tr>
355
- <tr><td><strong>Arguments</strong></td><td><code>-y @nestr/mcp</code></td></tr>
356
- <tr><td><strong>Environment</strong></td><td>Click "Add Item" and add:<br><code>NESTR_OAUTH_TOKEN</code> = <code>your-oauth-token</code></td></tr>
357
- </table>
358
- </div>
359
-
360
- <div class="config-block local apikey">
361
- <p>Fill in the following fields:</p>
362
- <table class="field-table">
363
- <tr><td><strong>Name</strong></td><td><code>Nestr</code></td></tr>
364
- <tr><td><strong>Transport</strong></td><td>Standard Input/Output</td></tr>
365
- <tr><td><strong>Command</strong></td><td><code>npx</code></td></tr>
366
- <tr><td><strong>Arguments</strong></td><td><code>-y @nestr/mcp</code></td></tr>
367
- <tr><td><strong>Environment</strong></td><td>Click "Add Item" and add:<br><code>NESTR_API_KEY</code> = <code>your-api-key</code></td></tr>
368
- </table>
369
- </div>
370
-
371
- <p>Save the server and it will be available in Raycast AI.</p>
372
- </div>
373
335
  </div>
374
336
  </div>
375
337