@kanbodev/mcp 1.1.6 → 1.1.8

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
@@ -3,7 +3,9 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@kanbodev/mcp.svg)](https://www.npmjs.com/package/@kanbodev/mcp)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- AI-native project management via [Model Context Protocol](https://modelcontextprotocol.io). Connect your AI assistant (Claude, Cursor, VS Code, Claude Code) to Kanbo and manage tickets, projects, releases, and workflows through natural conversation.
6
+ AI-native project management via [Model Context Protocol](https://modelcontextprotocol.io). Connect your AI assistant (VS Code, Cursor, Windsurf, Claude Code, Claude Desktop) to [Kanbo](https://www.kanbo.dev/) and manage tickets, projects, releases, and workflows through natural conversation.
7
+
8
+ [Try the demo](https://www.kanbo.dev/demo) | [See a live project](https://hub.kanbo.dev/dev/default)
7
9
 
8
10
  ## Quick Setup
9
11
 
@@ -15,7 +17,7 @@ That's it. This single command will:
15
17
 
16
18
  1. Open your browser to sign in and select your organization
17
19
  2. Store credentials locally at `~/.kanbo/config.json`
18
- 3. **Auto-register the MCP server** with detected editors (VS Code, Cursor, Claude Desktop, Claude Code CLI)
20
+ 3. **Auto-register the MCP server** with detected editors (VS Code, VS Code Insiders, Cursor, Windsurf, Claude Code, Claude Desktop, Claude Code CLI)
19
21
 
20
22
  Reload your editor and start using Kanbo tools immediately.
21
23
 
@@ -29,7 +31,71 @@ npx @kanbodev/mcp install
29
31
 
30
32
  ### Manual setup
31
33
 
32
- If auto-registration doesn't detect your editor, add the MCP server config manually. See [docs/SETUP.md](docs/SETUP.md) for manual API key setup, per-editor config snippets, and troubleshooting. See [docs/VSCODE.md](docs/VSCODE.md) for detailed VS Code setup.
34
+ If auto-registration doesn't detect your editor, add the config manually:
35
+
36
+ **VS Code / VS Code Insiders / Cursor** — add to `mcp.json`:
37
+
38
+ ```json
39
+ {
40
+ "servers": {
41
+ "kanbodev": {
42
+ "type": "stdio",
43
+ "command": "npx",
44
+ "args": ["@kanbodev/mcp"]
45
+ }
46
+ }
47
+ }
48
+ ```
49
+
50
+ **Claude Desktop / Windsurf / Claude Code** — add to config with `mcpServers` key:
51
+
52
+ ```json
53
+ {
54
+ "mcpServers": {
55
+ "kanbodev": {
56
+ "type": "stdio",
57
+ "command": "npx",
58
+ "args": ["@kanbodev/mcp"]
59
+ }
60
+ }
61
+ }
62
+ ```
63
+
64
+ **Claude Code CLI:**
65
+
66
+ ```bash
67
+ claude mcp add kanbodev -- npx @kanbodev/mcp
68
+ ```
69
+
70
+ <details>
71
+ <summary>Config file locations</summary>
72
+
73
+ | Editor | Config Path |
74
+ |--------|-------------|
75
+ | VS Code | `~/Library/Application Support/Code/User/mcp.json` (macOS) / `%APPDATA%\Code\User\mcp.json` (Windows) |
76
+ | VS Code Insiders | `~/Library/Application Support/Code - Insiders/User/mcp.json` (macOS) / `%APPDATA%\Code - Insiders\User\mcp.json` (Windows) |
77
+ | Cursor | `~/.cursor/mcp.json` |
78
+ | Windsurf | `~/.codeium/windsurf/mcp_config.json` |
79
+ | Claude Code | `~/.claude/settings.json` |
80
+ | Claude Desktop | `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) / `%APPDATA%\Claude\claude_desktop_config.json` (Windows) |
81
+
82
+ </details>
83
+
84
+ ### Manual API key setup
85
+
86
+ If you prefer environment variables over the login flow:
87
+
88
+ 1. Go to your Kanbo dashboard → **Settings → API Keys**
89
+ 2. Create a new key and copy the token
90
+ 3. Add `"env": { "KANBO_API_KEY": "kanbo_pat_..." }` to your editor's MCP config
91
+
92
+ ### Environment variables
93
+
94
+ | Variable | Description | Default |
95
+ |----------|-------------|---------|
96
+ | `KANBO_API_KEY` | Personal Access Token (overrides config file) | from `~/.kanbo/config.json` |
97
+ | `KANBO_API_URL` | API server URL | `https://api.kanbo.dev` |
98
+ | `KANBO_WEB_URL` | Web app URL for login | `https://kanbo.dev` |
33
99
 
34
100
  ---
35
101
 
@@ -245,6 +311,13 @@ npx @kanbodev/mcp help # Show help
245
311
  npx @kanbodev/mcp version # Show version
246
312
  ```
247
313
 
314
+ ## Links
315
+
316
+ - [Kanbo Website](https://www.kanbo.dev/)
317
+ - [Interactive Demo](https://www.kanbo.dev/demo)
318
+ - [Public Project Hub](https://hub.kanbo.dev/dev/default)
319
+ - [npm Package](https://www.npmjs.com/package/@kanbodev/mcp)
320
+
248
321
  ## License
249
322
 
250
323
  MIT
package/dist/index.js CHANGED
@@ -227,7 +227,7 @@ var init_constants = __esm(() => {
227
227
  };
228
228
  SERVER_INFO = {
229
229
  name: "kanbo-mcp",
230
- version: "1.1.6",
230
+ version: "1.1.8",
231
231
  description: "MCP server for Kanbo project management"
232
232
  };
233
233
  PAT_CONFIG = {
@@ -15891,9 +15891,26 @@ function getVscodeMcpPath() {
15891
15891
  }
15892
15892
  return path3.join(os3.homedir(), ".config", "Code", "User", "mcp.json");
15893
15893
  }
15894
+ function getVscodeInsidersMcpPath() {
15895
+ const platform = process.platform;
15896
+ if (platform === "darwin") {
15897
+ return path3.join(os3.homedir(), "Library", "Application Support", "Code - Insiders", "User", "mcp.json");
15898
+ }
15899
+ if (platform === "win32") {
15900
+ const appData = process.env.APPDATA || path3.join(os3.homedir(), "AppData", "Roaming");
15901
+ return path3.join(appData, "Code - Insiders", "User", "mcp.json");
15902
+ }
15903
+ return path3.join(os3.homedir(), ".config", "Code - Insiders", "User", "mcp.json");
15904
+ }
15894
15905
  function getCursorMcpPath() {
15895
15906
  return path3.join(os3.homedir(), ".cursor", "mcp.json");
15896
15907
  }
15908
+ function getWindsurfMcpPath() {
15909
+ return path3.join(os3.homedir(), ".codeium", "windsurf", "mcp_config.json");
15910
+ }
15911
+ function getClaudeCodeSettingsPath() {
15912
+ return path3.join(os3.homedir(), ".claude", "settings.json");
15913
+ }
15897
15914
  function getClaudeDesktopMcpPath() {
15898
15915
  const platform = process.platform;
15899
15916
  if (platform === "darwin") {
@@ -15913,8 +15930,14 @@ function registerInConfigFile(configPath, hostName, serversKey = "servers") {
15913
15930
  }
15914
15931
  let config3 = {};
15915
15932
  if (fs3.existsSync(configPath)) {
15916
- const content = fs3.readFileSync(configPath, "utf-8");
15917
- config3 = JSON.parse(content);
15933
+ try {
15934
+ const content = fs3.readFileSync(configPath, "utf-8");
15935
+ config3 = JSON.parse(content);
15936
+ } catch {
15937
+ const backupPath = configPath + ".backup";
15938
+ fs3.copyFileSync(configPath, backupPath);
15939
+ config3 = {};
15940
+ }
15918
15941
  }
15919
15942
  const servers = config3[serversKey] || {};
15920
15943
  if (servers[SERVER_NAME]) {
@@ -15969,7 +15992,10 @@ function registerWithClaudeCli() {
15969
15992
  function registerMcpServer() {
15970
15993
  const results = [];
15971
15994
  results.push(registerInConfigFile(getVscodeMcpPath(), "VS Code"));
15995
+ results.push(registerInConfigFile(getVscodeInsidersMcpPath(), "VS Code Insiders"));
15972
15996
  results.push(registerInConfigFile(getCursorMcpPath(), "Cursor"));
15997
+ results.push(registerInConfigFile(getWindsurfMcpPath(), "Windsurf", "mcpServers"));
15998
+ results.push(registerInConfigFile(getClaudeCodeSettingsPath(), "Claude Code", "mcpServers"));
15973
15999
  results.push(registerInConfigFile(getClaudeDesktopMcpPath(), "Claude Desktop", "mcpServers"));
15974
16000
  results.push(registerWithClaudeCli());
15975
16001
  return results;
@@ -15999,8 +16025,9 @@ function printRegistrationResults(results) {
15999
16025
  return anySuccess;
16000
16026
  }
16001
16027
  function printManualInstructions() {
16002
- console.log(" To register the MCP server manually, add this to your mcp.json:");
16028
+ console.log(" To register the MCP server manually, add this to your editor config:");
16003
16029
  console.log("");
16030
+ console.log(" For VS Code / Cursor (mcp.json):");
16004
16031
  console.log(" {");
16005
16032
  console.log(' "servers": {');
16006
16033
  console.log(' "kanbodev": {');
@@ -16011,10 +16038,24 @@ function printManualInstructions() {
16011
16038
  console.log(" }");
16012
16039
  console.log(" }");
16013
16040
  console.log("");
16041
+ console.log(" For Claude Desktop / Windsurf / Claude Code:");
16042
+ console.log(" {");
16043
+ console.log(' "mcpServers": {');
16044
+ console.log(' "kanbodev": {');
16045
+ console.log(' "type": "stdio",');
16046
+ console.log(' "command": "npx",');
16047
+ console.log(' "args": ["@kanbodev/mcp"]');
16048
+ console.log(" }");
16049
+ console.log(" }");
16050
+ console.log(" }");
16051
+ console.log("");
16014
16052
  console.log(" Config file locations:");
16015
- console.log(` VS Code: ${getVscodeMcpPath()}`);
16016
- console.log(` Cursor: ${getCursorMcpPath()}`);
16017
- console.log(` Claude Desktop: ${getClaudeDesktopMcpPath()}`);
16053
+ console.log(` VS Code: ${getVscodeMcpPath()}`);
16054
+ console.log(` VS Code Insiders: ${getVscodeInsidersMcpPath()}`);
16055
+ console.log(` Cursor: ${getCursorMcpPath()}`);
16056
+ console.log(` Windsurf: ${getWindsurfMcpPath()}`);
16057
+ console.log(` Claude Code: ${getClaudeCodeSettingsPath()}`);
16058
+ console.log(` Claude Desktop: ${getClaudeDesktopMcpPath()}`);
16018
16059
  console.log("");
16019
16060
  console.log(" Or register via Claude Code CLI:");
16020
16061
  console.log(" claude mcp add kanbodev -- npx @kanbodev/mcp");
@@ -16872,20 +16913,19 @@ async function install() {
16872
16913
  Kanbo MCP — Install
16873
16914
  `);
16874
16915
  const config3 = loadConfig();
16875
- if (!config3) {
16876
- console.log(" You are not logged in. Please authenticate first:");
16877
- console.log(" npx @kanbodev/mcp login");
16878
- console.log("");
16879
- console.log(" Or register the MCP server manually:");
16880
- console.log("");
16881
- printManualInstructions();
16882
- console.log("");
16883
- return;
16916
+ if (config3) {
16917
+ console.log(` Logged in as ${config3.userEmail} (${config3.orgName})`);
16918
+ } else {
16919
+ console.log(" Not logged in yet — registering MCP server entry.");
16920
+ console.log(' Run "npx @kanbodev/mcp login" to authenticate after install.');
16884
16921
  }
16885
- console.log(` Logged in as ${config3.userEmail} (${config3.orgName})`);
16886
16922
  console.log("");
16887
16923
  const results = registerMcpServer();
16888
- printRegistrationResults(results);
16924
+ const anySuccess = printRegistrationResults(results);
16925
+ if (!anySuccess) {
16926
+ console.log("");
16927
+ printManualInstructions();
16928
+ }
16889
16929
  console.log("");
16890
16930
  }
16891
16931
  var init_install = __esm(() => {
package/docs/SETUP.md CHANGED
@@ -18,7 +18,7 @@ This will:
18
18
  1. Open your browser to sign in with your Kanbo account
19
19
  2. Let you select which organization to use
20
20
  3. Automatically create and store an API key
21
- 4. **Auto-register the MCP server** with detected editors (VS Code, Cursor, Claude Desktop, Claude Code CLI)
21
+ 4. **Auto-register the MCP server** with detected editors (VS Code, VS Code Insiders, Cursor, Windsurf, Claude Code, Claude Desktop, Claude Code CLI)
22
22
 
23
23
  You'll see output like:
24
24
 
@@ -129,7 +129,7 @@ This means you can:
129
129
 
130
130
  ## Using with Other AI Tools
131
131
 
132
- > **Note:** `npx @kanbodev/mcp login` auto-registers with VS Code, Cursor, Claude Desktop, and Claude Code CLI. The manual configs below are only needed if auto-registration didn't detect your editor.
132
+ > **Note:** `npx @kanbodev/mcp login` auto-registers with VS Code, VS Code Insiders, Cursor, Windsurf, Claude Code, Claude Desktop, and Claude Code CLI. The manual configs below are only needed if auto-registration didn't detect your editor.
133
133
 
134
134
  ### Cursor
135
135
 
@@ -151,6 +151,38 @@ Add to `~/.cursor/mcp.json`:
151
151
 
152
152
  See the full [VS Code setup guide](VSCODE.md) for native MCP support (v1.99+), Claude Code extension, and Cursor/Windsurf.
153
153
 
154
+ ### Windsurf
155
+
156
+ Add to `~/.codeium/windsurf/mcp_config.json`:
157
+
158
+ ```json
159
+ {
160
+ "mcpServers": {
161
+ "kanbodev": {
162
+ "type": "stdio",
163
+ "command": "npx",
164
+ "args": ["@kanbodev/mcp"]
165
+ }
166
+ }
167
+ }
168
+ ```
169
+
170
+ ### Claude Code (VS Code Extension)
171
+
172
+ Add to `~/.claude/settings.json`:
173
+
174
+ ```json
175
+ {
176
+ "mcpServers": {
177
+ "kanbodev": {
178
+ "type": "stdio",
179
+ "command": "npx",
180
+ "args": ["@kanbodev/mcp"]
181
+ }
182
+ }
183
+ }
184
+ ```
185
+
154
186
  ### Claude Code CLI
155
187
 
156
188
  ```bash
package/docs/VSCODE.md CHANGED
@@ -94,7 +94,7 @@ Open the terminal in VS Code and run:
94
94
  claude mcp add kanbo -- npx @kanbodev/mcp
95
95
  ```
96
96
 
97
- This writes the config to `~/.claude.json` (global) by default.
97
+ This writes the config to `~/.claude.json` (global) by default. The `login` command also auto-registers in `~/.claude/settings.json`.
98
98
 
99
99
  ### Via config file
100
100
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kanbodev/mcp",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "description": "MCP (Model Context Protocol) server for Kanbo - AI-native project management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -41,6 +41,7 @@
41
41
  "claude",
42
42
  "cursor"
43
43
  ],
44
+ "homepage": "https://kanbo.dev",
44
45
  "author": "Kanbo",
45
46
  "license": "MIT"
46
47
  }