brioright-mcp 1.0.0 → 1.1.0

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 (4) hide show
  1. package/README.md +13 -1
  2. package/index.js +7 -0
  3. package/package.json +2 -2
  4. package/setup.js +105 -0
package/README.md CHANGED
@@ -7,7 +7,19 @@ This server supports two transport modes:
7
7
  1. **Stdio mode (Local)**: Runs as a subprocess for local clients like Claude Desktop or Cursor.
8
8
  2. **HTTP/SSE mode (Cloud)**: Runs as a persistent web server for cloud-based AI assistants (like Antigravity).
9
9
 
10
- ## Quick Setup
10
+ ## Quick Setup (Easiest Way)
11
+
12
+ Instead of manually editing JSON configuration files, you can use our interactive setup wizard to automatically connect your IDE to Brioright:
13
+
14
+ ```bash
15
+ npx -y brioright-mcp connect
16
+ ```
17
+
18
+ You will simply be prompted for your API Key and Workspace ID. The wizard supports injecting settings into VS Code (Roo/Cline), Cursor, Windsurf, and Antigravity automatically.
19
+
20
+ ---
21
+
22
+ ## Manual Setup
11
23
 
12
24
  ### 1. Generate an API Key
13
25
  Log in to Brioright, then run from your browser console:
package/index.js CHANGED
@@ -22,6 +22,13 @@ import { config } from 'dotenv'
22
22
  import { fileURLToPath } from 'url'
23
23
  import { dirname, join } from 'path'
24
24
 
25
+ // Handle setup flow `npx brioright-mcp connect`
26
+ if (process.argv[2] === 'connect') {
27
+ const { runSetup } = await import('./setup.js')
28
+ await runSetup()
29
+ process.exit(0)
30
+ }
31
+
25
32
  // Load .env from mcp-server directory
26
33
  const __dirname = dirname(fileURLToPath(import.meta.url))
27
34
  config({ path: join(__dirname, '.env') })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brioright-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for Brioright — lets AI assistants create and manage tasks via natural language",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -22,4 +22,4 @@
22
22
  "engines": {
23
23
  "node": ">=18.0.0"
24
24
  }
25
- }
25
+ }
package/setup.js ADDED
@@ -0,0 +1,105 @@
1
+ #!/usr/bin/env node
2
+
3
+ import readline from 'readline'
4
+ import fs from 'fs'
5
+ import path from 'path'
6
+ import os from 'os'
7
+
8
+ export async function runSetup() {
9
+ console.log('\n🌟 Welcome to the Brioright MCP Setup!\n')
10
+ console.log('This will configure your local IDE to connect to your Brioright workspace.')
11
+
12
+ const rl = readline.createInterface({
13
+ input: process.stdin,
14
+ output: process.stdout
15
+ })
16
+
17
+ const ask = (query) => new Promise(resolve => rl.question(query, resolve))
18
+
19
+ // 1. Gather credentials
20
+ const apiKey = await ask('Enter your Brioright API Key: ')
21
+ if (!apiKey.trim()) {
22
+ console.log('āŒ API Key is required. Exiting.')
23
+ rl.close()
24
+ process.exit(1)
25
+ }
26
+
27
+ const workspaceId = await ask('Enter your Workspace ID (slug): ')
28
+ if (!workspaceId.trim()) {
29
+ console.log('āŒ Workspace ID is required. Exiting.')
30
+ rl.close()
31
+ process.exit(1)
32
+ }
33
+
34
+ rl.close()
35
+
36
+ // 2. The config block to inject
37
+ const newConfig = {
38
+ "command": "npx",
39
+ "args": ["-y", "brioright-mcp"],
40
+ "env": {
41
+ "BRIORIGHT_API_URL": "https://brioright.online/api",
42
+ "BRIORIGHT_API_KEY": apiKey.trim(),
43
+ "BRIORIGHT_WORKSPACE_ID": workspaceId.trim()
44
+ }
45
+ }
46
+
47
+ // 3. Search for known IDE configs
48
+ const home = os.homedir()
49
+
50
+ // Antigravity
51
+ const antigravityPath = path.join(home, '.gemini', 'antigravity', 'mcp_config.json')
52
+ // VS Code / Cursor generic
53
+ const vscodeMcpPath = path.join(home, '.vscode', 'mcp.json')
54
+ // Cline / Roo Code (Windows)
55
+ const clineWindowsPath = path.join(home, 'AppData', 'Roaming', 'Code', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline', 'settings', 'cline_mcp_settings.json')
56
+ // Cline / Roo Code (Mac)
57
+ const clineMacPath = path.join(home, 'Library', 'Application Support', 'Code', 'User', 'globalStorage', 'rooveterinaryinc.roo-cline', 'settings', 'cline_mcp_settings.json')
58
+
59
+ const possiblePaths = [
60
+ { name: 'Antigravity IDE', path: antigravityPath },
61
+ { name: 'VS Code (Roo/Cline) Windows', path: clineWindowsPath },
62
+ { name: 'VS Code (Roo/Cline) Mac', path: clineMacPath },
63
+ { name: 'Generic VS Code', path: vscodeMcpPath }
64
+ ]
65
+
66
+ let injected = false
67
+
68
+ for (const ide of possiblePaths) {
69
+ if (fs.existsSync(ide.path)) {
70
+ try {
71
+ const content = fs.readFileSync(ide.path, 'utf8')
72
+ const json = JSON.parse(content || '{}')
73
+
74
+ if (!json.mcpServers) json.mcpServers = {}
75
+
76
+ json.mcpServers['brioright-remote'] = newConfig
77
+
78
+ fs.writeFileSync(ide.path, JSON.stringify(json, null, 2))
79
+ console.log(`\nāœ… Successfully added Brioright to: ${ide.name}`)
80
+ console.log(` šŸ“ File: ${ide.path}`)
81
+ injected = true
82
+ } catch (err) {
83
+ console.log(`\nāš ļø Found config for ${ide.name} but failed to update it: ${err.message}`)
84
+ }
85
+ }
86
+ }
87
+
88
+ if (injected) {
89
+ console.log('\nšŸŽ‰ Setup complete! Please completely close and RESTART YOUR IDE for the new tools to load.')
90
+ return
91
+ }
92
+
93
+ // 4. Fallback if no IDE config found
94
+ console.log('\nāš ļø We could not find a supported IDE configuration file automatically.')
95
+ console.log('To set up Brioright, please copy the following JSON block into your MCP Settings file (e.g. mcp_settings.json):\n')
96
+
97
+ const fallbackBlock = {
98
+ "mcpServers": {
99
+ "brioright-remote": newConfig
100
+ }
101
+ }
102
+
103
+ console.log(JSON.stringify(fallbackBlock, null, 2))
104
+ console.log('\n(Once saved, restart your IDE.)\n')
105
+ }