@pedrocid/music-mcp
Version:
MCP server for controlling Apple Music on macOS (v1.0.5)
42 lines (41 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
const logger_js_1 = require("./logger.js");
const version_js_1 = require("./version.js");
const server_js_1 = require("./server.js");
// Ensure clean exit
process.on('SIGINT', () => {
logger_js_1.logger.info('Shutting down Music MCP server');
logger_js_1.logger.flush();
process.exit(0);
});
process.on('SIGTERM', () => {
logger_js_1.logger.info('Shutting down Music MCP server');
logger_js_1.logger.flush();
process.exit(0);
});
async function main() {
const server = new index_js_1.Server({
name: 'music-mcp',
vendor: 'pedrocid',
version: (0, version_js_1.getVersion)(),
description: `MCP server for controlling Apple Music on macOS (v${(0, version_js_1.getVersion)()})`
}, {
capabilities: {
tools: {}
}
});
// Register all tools
await (0, server_js_1.registerTools)(server);
const transport = new stdio_js_1.StdioServerTransport();
await server.connect(transport);
logger_js_1.logger.info(`Music MCP server v${(0, version_js_1.getVersion)()} started`);
}
main().catch((error) => {
logger_js_1.logger.error({ error }, 'Failed to start Music MCP server');
console.error('Failed to start Music MCP server:', error.message);
process.exit(1);
});