PGSQL-MCP-Server
一款用 Golang 实现的操作 PG 数据库的 MCP Server , 支持创建表、查询表、插入数据等 , 欢迎 共 建!!!
1
Github Watches
1
Github Forks
1
Github Stars
PostgreSQL MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with a PostgreSQL database. This server enables AI assistants to execute SQL queries, create tables, and list database tables through the MCP protocol.
Features
The server provides the following tools:
- read_query: Execute SELECT queries on the PostgreSQL database
 - write_query: Execute INSERT, UPDATE, or DELETE queries on the PostgreSQL database
 - create_table: Create a new table in the PostgreSQL database
 - list_tables: List all user tables in the database (with optional schema filtering)
 
Installation
Prerequisites
- Go 1.23 or later
 - PostgreSQL database server
 
Steps
- 
Clone the repository:
git clone https://github.com/sql-mcp-server.git cd sql-mcp-server - 
Install dependencies:
go mod download - 
Build the server:
go build -o sql-mcp-server 
Configuration
The server requires database connection details through environment variables. Create a .env file in the project root with the following variables:
DB_HOST=localhost      # PostgreSQL server host
DB_PORT=5432           # PostgreSQL server port
DB_NAME=postgres       # Database name
DB_USER=your_username  # Database user
DB_PASSWORD=your_pass  # Database password
DB_SSLMODE=disable     # SSL mode (disable, require, verify-ca, verify-full)
Usage
Running the Server
./sql-mcp-server
MCP Configuration
To use this server with an AI assistant that supports MCP, add the following to your MCP configuration:
{
  "mcpServers": {
    "pgsql-mcp-server": {
      "command": "/path/to/sql-mcp-server",
      "args": [],
      "env": {
        "DB_HOST": "localhost",
        "DB_PORT": "5432",
        "DB_NAME": "postgres",
        "DB_USER": "your_username",
        "DB_PASSWORD": "your_password",
        "DB_SSLMODE": "disable"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Tool Examples
List Tables
List all user tables in the database:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "list_tables",
  "arguments": {}
}
List tables in a specific schema:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "list_tables",
  "arguments": {
    "schema": "public"
  }
}
Create Table
Create a new table:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "create_table",
  "arguments": {
    "schema": "CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(100), email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)"
  }
}
Read Query
Execute a SELECT query:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "read_query",
  "arguments": {
    "query": "SELECT * FROM users LIMIT 10"
  }
}
Write Query
Execute an INSERT query:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "write_query",
  "arguments": {
    "query": "INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')"
  }
}
Execute an UPDATE query:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "write_query",
  "arguments": {
    "query": "UPDATE users SET name = 'Jane Doe' WHERE id = 1"
  }
}
Execute a DELETE query:
{
  "server_name": "pgsql-mcp-server",
  "tool_name": "write_query",
  "arguments": {
    "query": "DELETE FROM users WHERE id = 1"
  }
}
Security Considerations
- The server validates query types to ensure that only appropriate operations are performed with each tool.
 - Input sanitization is performed for schema names to prevent SQL injection.
 - Consider using a dedicated database user with limited permissions for this server.
 - In production environments, enable SSL by setting 
DB_SSLMODEtorequireor higher. 
Dependencies
- github.com/joho/godotenv - For loading environment variables from .env file
 - github.com/lib/pq - PostgreSQL driver for Go
 - github.com/mark3labs/mcp-go - Go SDK for Model Context Protocol
 
License
[Add license information here]
Contributing
[Add contribution guidelines here]
相关推荐
I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.
I find academic articles and books for research and literature reviews.
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.
L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.
Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX
Plateforme d'automatisation de workflow à code équitable avec des capacités d'IA natives. Combinez le bâtiment visuel avec du code personnalisé, de l'auto-hôte ou du cloud, 400+ intégrations.
🧑🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.
Une liste organisée des serveurs de protocole de contexte de modèle (MCP)
Reviews
user_o5NZrMwM
As a dedicated user of the WhatsApp MCP Server by piyushgupta53, I have been extremely impressed with its seamless integration and performance. The server offers robust functionalities that enhance my messaging experience, making it reliable for both personal and professional use. The detailed documentation and user-friendly interface make it accessible, even for those new to MCP applications. Highly recommend checking it out!