Skip to main content
Glama

DevDb MCP Server

file-picker-sqlite-provider.ts1.62 kB
import * as vscode from 'vscode'; import { DatabaseEngine, DatabaseEngineProvider } from "../../types"; import { addSqlDatabaseToConfig } from '../../services/config-service'; import { SqliteEngine } from '../../database-engines/sqlite-engine'; export const FilePickerSqliteProvider: DatabaseEngineProvider = { name: 'SQLite Database File Picker', type: 'sqlite', id: 'file-picker-sqlite', description: 'SQLite database file from your computer', engine: undefined, isDefault: true, async canBeUsedInCurrentWorkspace(): Promise<boolean> { return true; }, reconnect(): Promise<boolean> { return this.canBeUsedInCurrentWorkspace() }, async getDatabaseEngine(): Promise<DatabaseEngine | undefined> { const filePath = await selectFile(); if (!filePath) { vscode.window.showErrorMessage('No file selected.') return } this.engine = new SqliteEngine(filePath); let isOkay = false; try { isOkay = (await this.engine.isOkay()) } catch (error) { vscode.window.showErrorMessage(`Error opening ${filePath}: ${String(error)}`) return } if (!isOkay) { vscode.window.showErrorMessage('The selected file is not a valid SQLite database.') return } await addSqlDatabaseToConfig(filePath) return this.engine } } async function selectFile(): Promise<string | undefined> { const fileUri = await vscode.window.showOpenDialog({ canSelectMany: false, openLabel: 'Open SQLite File', canSelectFolders: false, title: 'Select SQLite File', filters: { 'SQLite': ['sqlite', 'db'], 'All Files': ['*'] } }) if (fileUri && fileUri[0]) { return fileUri[0].fsPath; } }

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/damms005/devdb-vscode'

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