Skip to main content
Glama
nahmanmate

PostgreSQL MCP Server

by nahmanmate

analyze_database

Analyze PostgreSQL database configuration, performance, or security to identify optimization opportunities and ensure efficient operations.

Instructions

Analyze PostgreSQL database configuration and performance

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionStringYesPostgreSQL connection string
analysisTypeNoType of analysis to perform

Implementation Reference

  • Core handler function that orchestrates database analysis: connects to DB, fetches version/settings/metrics, generates recommendations, and returns structured AnalysisResult.
    export async function analyzeDatabase( connectionString: string, analysisType: 'configuration' | 'performance' | 'security' = 'configuration' ): Promise<AnalysisResult> { const db = DatabaseConnection.getInstance(); await db.connect(connectionString); try { const version = await getVersion(); const settings = await getSettings(); const metrics = await getMetrics(); const recommendations = await generateRecommendations(analysisType, settings, metrics); return { version, settings, metrics, recommendations, }; } finally { await db.disconnect(); } }
  • Tool definition including name, description, and input schema (connectionString required, analysisType optional enum). Used in TOOL_DEFINITIONS[0] and capabilities.
    { name: 'analyze_database', description: 'Analyze PostgreSQL database configuration and performance', inputSchema: { type: 'object', properties: { connectionString: { type: 'string', description: 'PostgreSQL connection string' }, analysisType: { type: 'string', enum: ['configuration', 'performance', 'security'], description: 'Type of analysis to perform' } }, required: ['connectionString'] } },
  • src/index.ts:102-106 (registration)
    Registers the analyze_database tool in the MCP server's capabilities object, advertising it to clients.
    tools: { analyze_database: TOOL_DEFINITIONS[0], get_setup_instructions: TOOL_DEFINITIONS[1], debug_database: TOOL_DEFINITIONS[2] },
  • src/index.ts:122-124 (registration)
    Registers handler for ListToolsRequestSchema that returns all tool definitions including analyze_database.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOL_DEFINITIONS }));
  • src/index.ts:129-143 (registration)
    Dispatch logic in CallToolRequestSchema handler: extracts arguments, calls analyzeDatabase, formats and returns result as MCP content.
    case 'analyze_database': { const { connectionString, analysisType } = request.params.arguments as { connectionString: string; analysisType?: 'configuration' | 'performance' | 'security'; }; const result = await analyzeDatabase(connectionString, analysisType); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; }

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/nahmanmate/postgresql-mcp-server'

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