NihFix.Postgres.Mcp

April 28, 2025 ยท View on GitHub

NihFix.Postgres.Mcp is a lightweight and efficient Model Context Protocol (MCP) server for PostgreSQL, built to allow AI agents to interact with databases easily and in real-time.
It supports two transport types: STDIO for direct process communication and SSE (Server-Sent Events) for streaming data over HTTP.

Features

  • ๐Ÿ—„๏ธ Connects seamlessly to PostgreSQL databases.
  • ๐Ÿง  Designed for AI agent database interaction.
  • ๐Ÿ”ฅ Supports SSE and STDIO transport protocols.
  • ๐Ÿณ Easy to run in isolated Docker containers.
  • โšก Minimal and optimized for fast response times.

Quick Start (SSE Mode)

docker run -i --rm   -e McpServerOptions__ServerType=Sse   -e McpServerOptions__ConnectionString="Host=host.docker.internal;Port=5432;Database=MyDbName;User ID=dbUser;Password=dbUserPassword;"   -p 3002:8080   nihfix/postgres.mcp

Then define server url in your client:

http://localhost:3002/sse

Quick Start (STDIO Mode)

Example MCP client configuration for STDIO:

{
  "mcpServers": {
    "postgres": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "McpServerOptions__ConnectionString",
        "nihfix/postgres.mcp",
        "--access-mode=unrestricted"
      ],
      "env": {
        "McpServerOptions__ConnectionString": "Host=host.docker.internal;Port=5432;Database=MyDbName;User ID=dbUser;Password=dbUserPassword;"
      }
    }
  }
}

Environment Variables

VariableDescriptionRequiredExample
McpServerOptions__ServerTypeServer mode (Sse or Stdio)Yes (for SSE)Sse
McpServerOptions__ConnectionStringPostgreSQL connection stringYesHost=host.docker.internal;Port=5432;Database=MyDb;User ID=user;Password=pass;

Requirements

  • Docker
  • PostgreSQL server (12+ recommended)

License

MIT License.