Skip to main content
Glama
setup.js2.93 kB
#!/usr/bin/env node import * as fs from 'fs'; import * as path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const CLAUDE_SETTINGS_PATH = path.join(process.env.HOME || "", ".claude", "settings.json"); const PROJECT_ROOT = __dirname; const MCP_SERVER_PATH = path.join(PROJECT_ROOT, "dist", "index.js"); /** * Updates the global Claude Code settings to include this MCP server */ export function updateClaudeSettings() { console.log('\n⚙️ Configuring Claude Code Settings'); console.log('═'.repeat(60)); console.log(); // Ensure .claude directory exists const claudeDir = path.dirname(CLAUDE_SETTINGS_PATH); if (!fs.existsSync(claudeDir)) { console.log(`📁 Creating Claude settings directory: ${claudeDir}`); fs.mkdirSync(claudeDir, { recursive: true }); } // Read existing settings or create new let settings = {}; if (fs.existsSync(CLAUDE_SETTINGS_PATH)) { try { const content = fs.readFileSync(CLAUDE_SETTINGS_PATH, 'utf-8'); settings = JSON.parse(content); console.log('✅ Found existing Claude settings'); } catch (error) { console.log('⚠️ Could not parse existing settings, creating new file'); settings = {}; } } else { console.log('📝 Creating new Claude settings file'); } // Ensure mcpServers object exists if (!settings.mcpServers) { settings.mcpServers = {}; } // Add or update google-sheets MCP server const serverConfig = { command: "node", args: [MCP_SERVER_PATH] }; const existingConfig = settings.mcpServers["google-sheets"]; if (existingConfig && JSON.stringify(existingConfig) === JSON.stringify(serverConfig)) { console.log('✅ Google Sheets MCP server already configured correctly'); } else { settings.mcpServers["google-sheets"] = serverConfig; console.log('✅ Added Google Sheets MCP server configuration'); } // Write updated settings try { fs.writeFileSync(CLAUDE_SETTINGS_PATH, JSON.stringify(settings, null, 2) + '\n'); console.log(); console.log('═'.repeat(60)); console.log('✅ SUCCESS! Claude Code settings updated!'); console.log('═'.repeat(60)); console.log(); console.log('📁 Settings file:', CLAUDE_SETTINGS_PATH); console.log('🔧 MCP server path:', MCP_SERVER_PATH); console.log(); console.log('⚠️ IMPORTANT: Restart Claude Code for changes to take effect!'); console.log(); } catch (error) { console.error('❌ Error writing settings file:', error.message); console.error('\n💡 You may need to manually add this to your Claude settings:'); console.error(JSON.stringify({ mcpServers: { "google-sheets": serverConfig } }, null, 2)); process.exit(1); } } // Run if called directly if (import.meta.url === `file://${process.argv[1]}`) { updateClaudeSettings(); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saturnino-adrales/gdocs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server