Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

postgresql-mcp-server

MCP.Pizza Chef: nahmanmate

The PostgreSQL MCP Server is a Model Context Protocol server that provides comprehensive PostgreSQL database management capabilities. It enables analysis of database configurations, performance metrics, and security assessments, offering actionable recommendations for optimization and debugging. This server facilitates real-time insights into PostgreSQL environments, helping developers and DBAs maintain efficient, secure, and well-tuned databases.

Use This MCP server To

Analyze PostgreSQL database configuration for optimization Assess database performance metrics and bottlenecks Perform security audits on PostgreSQL setups Generate recommendations for database tuning Debug PostgreSQL database issues with detailed insights Monitor real-time database health and status Integrate PostgreSQL context into AI-driven workflows Automate database maintenance tasks via LLM commands

README

PostgreSQL MCP Server

smithery badge

A Model Context Protocol (MCP) server that provides PostgreSQL database management capabilities. This server assists with analyzing existing PostgreSQL setups, providing implementation guidance, and debugging database issues.

PostgreSQL Server MCP server

Features

1. Database Analysis (analyze_database)

Analyzes PostgreSQL database configuration and performance metrics:

  • Configuration analysis
  • Performance metrics
  • Security assessment
  • Recommendations for optimization
// Example usage
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "analysisType": "performance" // Optional: "configuration" | "performance" | "security"
}

2. Setup Instructions (get_setup_instructions)

Provides step-by-step PostgreSQL installation and configuration guidance:

  • Platform-specific installation steps
  • Configuration recommendations
  • Security best practices
  • Post-installation tasks
// Example usage
{
  "platform": "linux", // Required: "linux" | "macos" | "windows"
  "version": "15", // Optional: PostgreSQL version
  "useCase": "production" // Optional: "development" | "production"
}

3. Database Debugging (debug_database)

Debug common PostgreSQL issues:

  • Connection problems
  • Performance bottlenecks
  • Lock conflicts
  • Replication status
// Example usage
{
  "connectionString": "postgresql://user:password@localhost:5432/dbname",
  "issue": "performance", // Required: "connection" | "performance" | "locks" | "replication"
  "logLevel": "debug" // Optional: "info" | "debug" | "trace"
}

Prerequisites

  • Node.js >= 18.0.0
  • PostgreSQL server (for target database operations)
  • Network access to target PostgreSQL instances

Installation

Installing via Smithery

To install PostgreSQL MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @nahmanmate/postgresql-mcp-server --client claude

Manual Installation

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Build the server:
    npm run build
  4. Add to MCP settings file:
    {
      "mcpServers": {
        "postgresql-mcp": {
          "command": "node",
          "args": ["/path/to/postgresql-mcp-server/build/index.js"],
          "disabled": false,
          "alwaysAllow": []
        }
      }
    }

Development

  • npm run dev - Start development server with hot reload
  • npm run lint - Run ESLint
  • npm test - Run tests

Security Considerations

  1. Connection Security

    • Uses connection pooling
    • Implements connection timeouts
    • Validates connection strings
    • Supports SSL/TLS connections
  2. Query Safety

    • Validates SQL queries
    • Prevents dangerous operations
    • Implements query timeouts
    • Logs all operations
  3. Authentication

    • Supports multiple authentication methods
    • Implements role-based access control
    • Enforces password policies
    • Manages connection credentials securely

Best Practices

  1. Always use secure connection strings with proper credentials
  2. Follow production security recommendations for sensitive environments
  3. Regularly monitor and analyze database performance
  4. Keep PostgreSQL version up to date
  5. Implement proper backup strategies
  6. Use connection pooling for better resource management
  7. Implement proper error handling and logging
  8. Regular security audits and updates

Error Handling

The server implements comprehensive error handling:

  • Connection failures
  • Query timeouts
  • Authentication errors
  • Permission issues
  • Resource constraints

Running evals and tests

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can see the full documentation here.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/index.ts

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the AGPLv3 License - see LICENSE file for details.

postgresql-mcp-server FAQ

How do I connect the PostgreSQL MCP Server to my database?
Use a valid PostgreSQL connection string including user credentials and host details to connect securely.
Can this server analyze both performance and security aspects?
Yes, it supports configuration, performance, and security analysis types for comprehensive insights.
Is it possible to get optimization recommendations from this server?
Absolutely, it provides actionable recommendations to improve database performance and security.
Does the server support real-time monitoring of PostgreSQL databases?
It can provide up-to-date analysis based on current database metrics, enabling near real-time insights.
Can I use this server with different LLM providers?
Yes, it is compatible with models like OpenAI GPT, Anthropic Claude, and Google Gemini through MCP integration.
What kind of debugging assistance does this server offer?
It helps identify configuration issues, performance bottlenecks, and security vulnerabilities with detailed reports.
How secure is the connection between the MCP server and PostgreSQL?
Connections use standard PostgreSQL authentication and encryption methods to ensure data security.
Can this server be integrated into existing AI workflows?
Yes, it is designed to feed structured PostgreSQL context into LLMs for enhanced database-related AI tasks.