Skip to main content
Glama
antonorlov

MCP PostgreSQL Server

MCP PostgreSQL 服务器

提供 PostgreSQL 数据库操作的模型上下文协议服务器。该服务器使 AI 模型能够通过标准化接口与 PostgreSQL 数据库进行交互。

安装

手动安装

npm install mcp-postgres-server

或者直接运行:

npx mcp-postgres-server

Related MCP server: PostgreSQL MCP Server

配置

服务器需要以下环境变量:

{
  "mcpServers": {
    "postgres": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-postgres-server"],
      "env": {
        "PG_HOST": "your_host",
        "PG_PORT": "5432",
        "PG_USER": "your_user",
        "PG_PASSWORD": "your_password",
        "PG_DATABASE": "your_database"
      }
    }
  }
}

可用工具

1. 连接数据库

使用提供的凭据建立与 PostgreSQL 数据库的连接。

use_mcp_tool({
  server_name: "postgres",
  tool_name: "connect_db",
  arguments: {
    host: "localhost",
    port: 5432,
    user: "your_user",
    password: "your_password",
    database: "your_database"
  }
});

2. 查询

使用可选的预处理语句参数执行 SELECT 查询。支持 PostgreSQL 风格的 ($1, $2) 和 MySQL 风格的 (?) 参数占位符。

use_mcp_tool({
  server_name: "postgres",
  tool_name: "query",
  arguments: {
    sql: "SELECT * FROM users WHERE id = $1",
    params: [1]
  }
});

3. 执行

使用可选的预处理语句参数执行 INSERT、UPDATE 或 DELETE 查询。支持 PostgreSQL 风格的 ($1、$2) 和 MySQL 风格的 (?) 参数占位符。

use_mcp_tool({
  server_name: "postgres",
  tool_name: "execute",
  arguments: {
    sql: "INSERT INTO users (name, email) VALUES ($1, $2)",
    params: ["John Doe", "john@example.com"]
  }
});

4. 列表模式

列出所连接数据库中的所有模式。

use_mcp_tool({
  server_name: "postgres",
  tool_name: "list_schemas",
  arguments: {}
});

5. 列表表

列出已连接数据库中的表。接受可选的 schema 参数(默认为“public”)。

// List tables in the 'public' schema (default)
use_mcp_tool({
  server_name: "postgres",
  tool_name: "list_tables",
  arguments: {}
});

// List tables in a specific schema
use_mcp_tool({
  server_name: "postgres",
  tool_name: "list_tables",
  arguments: {
    schema: "my_schema"
  }
});

6. describe_table

获取特定表的结构。接受可选的 schema 参数(默认为“public”)。

// Describe a table in the 'public' schema (default)
use_mcp_tool({
  server_name: "postgres",
  tool_name: "describe_table",
  arguments: {
    table: "users"
  }
});

// Describe a table in a specific schema
use_mcp_tool({
  server_name: "postgres",
  tool_name: "describe_table",
  arguments: {
    table: "users",
    schema: "my_schema"
  }
});

特征

  • 通过自动清理来安全处理连接

  • 查询参数的预处理语句支持

  • 支持 PostgreSQL 样式 ($1、$2) 和 MySQL 样式 (?) 参数占位符

  • 全面的错误处理和验证

  • TypeScript 支持

  • 自动连接管理

  • 支持 PostgreSQL 特定的语法和功能

  • 数据库操作的多模式支持

安全

  • 使用准备好的语句来防止 SQL 注入

  • 支持通过环境变量进行安全密码处理

  • 执行前验证查询

  • 完成后自动关闭连接

错误处理

服务器提供了常见问题的详细错误消息:

  • 连接失败

  • 无效查询

  • 缺少参数

  • 数据库错误

执照

麻省理工学院

Install Server
A
license - permissive license
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Issues opened vs closed

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antonorlov/mcp-postgres-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server