mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-15 12:55:51 +00:00
71 lines
1.8 KiB
JavaScript
71 lines
1.8 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Unified Chrome MCP setup script.
|
|
*
|
|
* Usage:
|
|
* node scripts/setup-chrome-mcp.mjs # Run full setup (fix-permissions → register → doctor)
|
|
* node scripts/setup-chrome-mcp.mjs doctor # Run a single sub-command
|
|
*/
|
|
|
|
import { execFileSync } from 'node:child_process'
|
|
import { mkdirSync } from 'node:fs'
|
|
import { createRequire } from 'node:module'
|
|
import { homedir } from 'node:os'
|
|
import { join } from 'node:path'
|
|
|
|
if (process.env.CLAUDE_CODE_SKIP_CHROME_MCP_SETUP === '1') {
|
|
process.exit(0)
|
|
}
|
|
|
|
const require = createRequire(import.meta.url)
|
|
const cliPath = require.resolve(
|
|
'@claude-code-best/mcp-chrome-bridge/dist/cli.js',
|
|
)
|
|
|
|
const userArgs = process.argv.slice(2)
|
|
|
|
function getChromeMcpLogDir() {
|
|
const home = homedir()
|
|
if (process.platform === 'darwin') {
|
|
return join(home, 'Library', 'Logs', 'mcp-chrome-bridge')
|
|
}
|
|
if (process.platform === 'win32') {
|
|
return join(
|
|
process.env.LOCALAPPDATA || join(home, 'AppData', 'Local'),
|
|
'mcp-chrome-bridge',
|
|
'logs',
|
|
)
|
|
}
|
|
return join(
|
|
process.env.XDG_STATE_HOME || join(home, '.local', 'state'),
|
|
'mcp-chrome-bridge',
|
|
'logs',
|
|
)
|
|
}
|
|
|
|
if (userArgs.length > 0) {
|
|
// Forward single sub-command
|
|
execFileSync('node', [cliPath, ...userArgs], { stdio: 'inherit' })
|
|
} else {
|
|
// Full setup sequence
|
|
const steps = [
|
|
['fix-permissions'],
|
|
['register', '--browser', 'chrome'],
|
|
['doctor'],
|
|
]
|
|
|
|
mkdirSync(getChromeMcpLogDir(), { recursive: true })
|
|
|
|
for (let i = 0; i < steps.length; i++) {
|
|
const args = steps[i]
|
|
const isLast = i === steps.length - 1
|
|
if (isLast) console.log(`\n[${i + 1}/${steps.length}] ${args.join(' ')}`)
|
|
execFileSync('node', [cliPath, ...args], {
|
|
stdio: isLast ? 'inherit' : 'pipe',
|
|
})
|
|
}
|
|
|
|
console.log('\nChrome MCP setup complete!')
|
|
}
|