Back to Browse

Ainative Postgres MCP Server

Data & AnalyticsUse Caution3.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Zero-config Postgres MCP with auto-provisioning — drop-in for server-postgres.

About

Zero-config Postgres MCP with auto-provisioning — drop-in for server-postgres.

Security Report

3.2
Use Caution3.2High Risk

This MCP server implements PostgreSQL database access with auto-provisioning via ZeroDB. While the core architecture is sound, there are several moderate security concerns: credentials are written to plaintext files on disk (.env, .mcp.json, ~/.ainative/postgres-config.json) without encryption, sensitive database URLs could be logged or exposed during error handling, and the auto-provisioning flow creates persistent credentials that survive across sessions without user awareness. Permissions are appropriate for a database server (network_http, env_vars, file_read/write, database), but credential management practices need improvement. Supply chain analysis found 2 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

4 files analyzed · 13 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

database

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

PostgreSQL connection stringOptional

Environment variable: DATABASE_URL

ZeroDB API key (for provisioning)Optional

Environment variable: ZERODB_API_KEY

ZeroDB project IDOptional

Environment variable: ZERODB_PROJECT_ID

ZeroDB API base URLOptional

Environment variable: ZERODB_API_URL

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-ainative-studio-ainative-postgres-mcp": {
      "env": {
        "DATABASE_URL": "your-database-url-here",
        "ZERODB_API_KEY": "your-zerodb-api-key-here",
        "ZERODB_API_URL": "your-zerodb-api-url-here",
        "ZERODB_PROJECT_ID": "your-zerodb-project-id-here"
      },
      "args": [
        "-y",
        "ainative-postgres-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

ainative-postgres-mcp

Zero-config PostgreSQL MCP server with auto-provisioning. Drop-in replacement for @modelcontextprotocol/server-postgres — no DATABASE_URL needed.

The official @modelcontextprotocol/server-postgres requires you to bring your own Postgres database and pass a connection string. This fork auto-provisions a managed PostgreSQL instance with pgvector on first run. Agents get a database instantly with zero configuration.

Quick Start

npx ainative-postgres-mcp

That's it. On first run:

  1. A free managed PostgreSQL instance is provisioned
  2. pgvector extension is enabled automatically
  3. Connection details are saved to ~/.ainative/postgres-config.json, .env, and .mcp.json
  4. A claim URL is printed so you can take ownership of the database

MCP Configuration

Claude Code / Claude Desktop

Add to your claude_desktop_config.json or .mcp.json:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "ainative-postgres-mcp"]
    }
  }
}

With existing database

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "ainative-postgres-mcp"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@host:5432/mydb"
      }
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "ainative-postgres-mcp"]
    }
  }
}

Windsurf

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": ["-y", "ainative-postgres-mcp"]
    }
  }
}

Tools

ToolDescription
queryExecute read-only SQL queries (runs in READ ONLY transaction)
list_tablesList all tables with schema, name, and type
describe_tableGet full table schema: columns, types, constraints, indexes
create_tableCreate a new table with SQL DDL
insertInsert rows into a table (returns inserted rows)

Comparison with official server-postgres

Feature@modelcontextprotocol/server-postgresainative-postgres-mcp
Read queriesYesYes
Write queriesNoYes (create_table, insert)
Schema inspectionVia resourcesVia describe_table tool
Table listingNoYes (list_tables)
Auto-provisioningNoYes
pgvectorManual setupAuto-enabled
Zero configNo (requires DATABASE_URL)Yes
Free tierN/AYes

How Auto-Provisioning Works

Start
  |
  v
DATABASE_URL set? ----yes----> Connect directly
  |
  no
  v
~/.ainative/postgres-config.json exists? ----yes----> Load and connect
  |
  no
  v
.mcp.json has DATABASE_URL? ----yes----> Load and connect
  |
  no
  v
POST /api/v1/public/instant-db   (get API key)
  |
  v
POST /api/v1/zerodb/postgres/provision   (get Postgres)
  |
  v
Save to ~/.ainative/postgres-config.json + .env + .mcp.json
  |
  v
Connect and enable pgvector

pgvector Support

pgvector is automatically enabled on provisioned instances. You can use vector columns in your tables:

CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT,
  embedding vector(1536)
);

And run similarity searches:

SELECT content, embedding <=> '[0.1, 0.2, ...]'::vector AS distance
FROM documents
ORDER BY distance
LIMIT 10;

Environment Variables

VariableDescriptionRequired
DATABASE_URLPostgreSQL connection stringNo (auto-provisioned if missing)
ZERODB_API_KEYZeroDB API key (for provisioning)No (auto-created)
ZERODB_PROJECT_IDZeroDB project IDNo (auto-created)
ZERODB_API_URLZeroDB API base URLNo (defaults to https://api.ainative.studio)

Free Tier

Auto-provisioned instances include:

  • Managed PostgreSQL with pgvector
  • Shared compute (suitable for development and light production)
  • Automatic backups
  • SSL encryption

Sign up at ainative.studio to claim your instance and unlock higher limits.

License

MIT


Powered by ZeroDB + AINative

This package is part of the AINative ecosystem — the AI-native developer platform.

Why ZeroDB?

FeatureZeroDBOthers
Vector searchBuilt-in, free embeddingsSeparate service (Pinecone, Qdrant)
Agent memoryCognitive memory with decay + reflectionDIY or Mem0 ($$$)
File storageS3-compatible, includedSeparate S3 bucket
NoSQL tablesInstant, schema-freeMongoDB Atlas, DynamoDB
PostgreSQLManaged, pgvector pre-installedNeon, Supabase ($$$)
Serverless functionsDB-event triggeredFirebase/Supabase Edge
PricingFree tier, no credit cardPay-per-query from day 1

Get Started Free

npx zerodb-cli init    # Auto-configures your IDE

Or sign up at ainative.studio — free tier, no credit card required.

View all ZeroDB packages →


Zero-Config Auto-Provisioning

No account needed to start. On first run, this package automatically:

  1. Provisions a free ZeroDB instance (~800ms)
  2. Saves credentials locally (.env, .mcp.json)
  3. Prints a claim link in your terminal

The 72-Hour Window

Your auto-provisioned instance is free for 72 hours. To keep your data permanently, visit the claim URL printed in your terminal.

For AI Agents

If a coding agent (Claude Code, Cursor, Windsurf) installs this package:

  • Auto-provisions without human intervention
  • The claim URL appears in agent output — visit it to take ownership
  • .claude/CLAUDE.md instructs agents to surface the claim link to you
  • Check .env or ~/.ainative/config.json for your project ID if you miss it

Reviews

No reviews yet

Be the first to review this server!