Skip to main content
Glama
wirdes

db-mcp-tool

!pg

Establish and manage PostgreSQL database connections. Input host, database, user, and password to interact with the database securely.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionYes

Implementation Reference

  • Inline handler for the !pg tool that initializes a PostgreSQL DatabaseService and connects to the database.
    async (args: { connection: DatabaseConnectionConfig }) => { try { const config: DatabaseConfig = { type: 'postgres', connection: args.connection }; dbService = new DatabaseService(config); await dbService.connect(); return { content: [{ type: "text", text: "Successfully connected to PostgreSQL database!" }], }; } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : 'Unknown error'; return { content: [{ type: "text", text: `PostgreSQL connection error: ${errorMessage}` }], isError: true, }; } }
  • src/index.ts:50-72 (registration)
    Registration of the !pg tool on the MCP server with its schema and handler function.
    server.tool( "!pg", postgresConnectionSchema, async (args: { connection: DatabaseConnectionConfig }) => { try { const config: DatabaseConfig = { type: 'postgres', connection: args.connection }; dbService = new DatabaseService(config); await dbService.connect(); return { content: [{ type: "text", text: "Successfully connected to PostgreSQL database!" }], }; } catch (error: unknown) { const errorMessage = error instanceof Error ? error.message : 'Unknown error'; return { content: [{ type: "text", text: `PostgreSQL connection error: ${errorMessage}` }], isError: true, }; } } );
  • Zod schema defining input parameters for PostgreSQL connection.
    const postgresConnectionSchema = { connection: z.object({ host: z.string(), port: z.number().optional(), database: z.string(), user: z.string(), password: z.string(), }), };
  • DatabaseService.connect() method implementation, specifically the PostgreSQL connection logic (lines 18-22).
    async connect(): Promise<void> { switch (this.config.type) { case 'postgres': { const config = this.config.connection as any; this.postgresClient = new pg.Client(config); await this.postgresClient.connect(); break; } case 'mysql': { const config = this.config.connection as any; this.mysqlConnection = await mysql.createConnection(config); break; } case 'firestore': { const config = this.config.connection as any; this.firestoreClient = new Firestore(config); break; } } }
  • TypeScript interface for database connection config used by !pg schema.
    export interface DatabaseConnectionConfig { // PostgreSQL ve MySQL için host?: string; port?: number; database?: string; user?: string; password?: string; // Firestore için projectId?: string; keyFilename?: string; }
Install Server

Other Tools

Related Tools

Latest Blog Posts

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/wirdes/db-mcp-tool'

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