UNPKG

@mseep/supabase-mcp

Version:

MCP server for Supabase CRUD operations

43 lines 1.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createServer = createServer; const express_1 = __importDefault(require("express")); const cors_1 = __importDefault(require("cors")); const body_parser_1 = __importDefault(require("body-parser")); const index_js_1 = require("./handlers/index.js"); function createServer() { const app = (0, express_1.default)(); // Middleware app.use((0, cors_1.default)()); app.use(body_parser_1.default.json()); // Skip API key validation for manifest endpoint app.use((req, res, next) => { if (req.path === '/.well-known/mcp-manifest' || req.path === '/mcp') { return next(); } (0, index_js_1.validateApiKey)(req, res, next); }); // MCP required endpoints app.get('/.well-known/mcp-manifest', index_js_1.handleManifest); // MCP JSON-RPC endpoint app.post('/mcp', index_js_1.handleJsonRpc); // Health check app.get('/health', index_js_1.handleHealthCheck); // Database operations app.post('/database/:operation', index_js_1.handleDatabaseOperation); app.get('/database/tables', index_js_1.handleListTables); // 404 handler app.use((req, res) => { res.status(404).json({ error: 'Not found' }); }); // Error handler app.use((err, req, res, next) => { console.error('Server error:', err); res.status(500).json({ error: `Server error: ${err.message}` }); }); return app; } //# sourceMappingURL=server.js.map