1. Conduid
  2. Data
  3. Postgresql MCP Server
MCP server · Data

Postgresql MCP Server

Unclaimed AGPL-3.0 last commit a year ago data
35Low

Scored 4 days ago · breakdown

About Postgresql MCP Server

Postgresql MCP Server is an MCP server published by jamesjohnsdev in the Data category.

The repository has 24 stars and 44 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/jamesjohnsdev/postgresql-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Postgresql MCP Server

Powered by Claude · Grounded in docs

I know everything about Postgresql MCP Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository yesterday. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.

1 check has not been run yet.

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.

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.

README fetched from the repository yesterday. The original is authoritative.

Questions

About Postgresql MCP Server

How do I install Postgresql MCP Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Postgresql MCP Server safe to use with an AI agent?

Its trust score is 35 out of 100 (low). It passes 4 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Postgresql MCP Server still maintained?

The last commit was a year ago and 1 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.