Skip to main content
Glama

Ableton Copilot MCP

by xiaolaa2
main.ts2.11 kB
import { startServer as startMcp } from './mcp/core.js' import { createLogger } from './utils/logger.js' import path from 'path' import { initAbleton } from './ableton.js' import { initializeDataSource } from './db.js' import os from 'os' import BrowserTools from './tools/browser-tools.js' import ClipTools from './tools/clip-tools.js' import DeviceTools from './tools/device-tools.js' import HistoryTools from './tools/history-tools.js' import SongTools from './tools/song-tools.js' import TrackTools from './tools/track-tools.js' import PerformanceMonitor from './utils/performance-monitor.js' import fs from 'fs' import ExtraTools from './tools/extra-tools.js' import ApplicationTools from './tools/application-tools.js' // Set environment variables process.env.NODE_OPTIONS = process.env.NODE_OPTIONS || '--max-old-space-size=4096' // Configure base path const basePath = process.env.BASE_PATH || path.join(os.homedir(), '.ableton-copilot-mcp') const logFile = path.join(basePath, 'logs', 'ableton.log') const dbFile = path.join(basePath, 'data.db') export const logger = createLogger(logFile) const logsDir = path.join(basePath, 'logs') if (!fs.existsSync(logsDir)) { fs.mkdirSync(logsDir, { recursive: true }) } try { // Initialize database await initializeDataSource(dbFile) // Start MCP server await startMcp({ // Register tool classes, make decorators available tools: [BrowserTools, ClipTools, DeviceTools, HistoryTools, SongTools, TrackTools, ExtraTools, ApplicationTools] }) // Initialize Ableton connection await initAbleton(logger) } catch (error) { logger.error('Error initializing Ableton Copilot MCP:', error) } // Set up performance monitoring timer setInterval(() => { PerformanceMonitor.instance.logMetrics() // Reset metrics every hour if (new Date().getHours() % 1 === 0 && new Date().getMinutes() === 0) { logger.info('Resetting performance metrics') PerformanceMonitor.instance.resetMetrics() } }, 60 * 60 * 1000) // Log every hour logger.info('Ableton Copilot MCP initialized successfully')

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/xiaolaa2/ableton-copilot-mcp'

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