Token导航 LogoToken导航TokenDH.com
Enhanced PostgreSQL MCP Server logo
数据服务未说明官方级别未说明来源级核验

Enhanced PostgreSQL MCP Server

MCP Server

一个提供对PostgreSQL数据库读写访问的模型上下文协议服务器,支持数据库模式检查、查询执行、数据修改和模式对象管理。

工具数

1

提示词数

0

GitHub Stars

12

资源数

0
数据分析JavaScriptClaude数据操作Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

GarethCott

提供方

GarethCott

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

PostgreSQL MCP服务器(增强型)

一个模型上下文协议服务器,提供对PostgreSQL数据库的读写访问。此服务器使LLM能够检查数据库模式、执行查询、修改数据以及创建/修改数据库模式对象。

注: 这是原始版本的增强版 PostgreSQL MCP服务器 通过Anthropic。原始服务器提供只读访问,而此增强版本添加了写入功能和模式管理。

组件

工具

数据查询

  • 怎么翻译

- 对连接的数据库执行只读SQL查询 - 输入: sql (string):要执行的SQL查询 - 所有查询都在只读事务中执行

数据修改

  • 执行

- 执行修改数据的SQL语句(INSERT、UPDATE、DELETE) - 输入: sql (string):要执行的SQL语句 - 在具有适当COMMIT/ROLLBACK处理的事务中执行

  • 插入

- 将新记录插入表中 - 输入: - table (string):表名 - data (object):键值对,其中键是列名,值是要插入的数据

  • 更新

- 更新表中的记录 - 输入: - table (string):表名 - data (object):要更新的字段的键值对 - where (string):用于标识要更新的记录的WHERE条件

  • 删除

- 从表中删除记录 - 输入: - table (string):表名 - where (string):用于标识要删除的记录的WHERE条件

模式管理

  • createTable

- 使用指定的列和约束创建新表 - 输入: - tableName (string):表名 - columns (array):具有名称、类型和可选约束的列定义数组 - constraints (array):表级约束的可选数组

  • createFunction

- 创建PostgreSQL函数/过程 - 输入: - name (string):函数名称 - parameters (string):函数参数 - returnType (string):返回类型 - language (string):语言(plpgsql、sql等) - body (string):函数体 - options (string):可选附加功能选项

  • createTrigger

- 在桌子上创建触发器 - 输入: - name (string):触发器名称 - tableName (string):应用触发器的表 - functionName (string):要调用的函数 - when (string):之前、之后或代替 - events (array):事件数组(INSERT、UPDATE、DELETE) - forEach (string):ROW或STATEMENT - condition (string):可选WHEN条件

  • 创建指数

- 在表上创建索引 - 输入: - tableName (string):表名 - indexName (string):索引名称 - columns (数组):要索引的列 - unique (boolean):索引是否唯一 - type (string):可选索引类型(BTREE、HASH、GIN、GIST等) - where (string):可选条件

  • alterTable

- 更改表结构 - 输入: - tableName (string):表名 - operation (string):操作(添加列、删除列等) - details (string):操作细节

资源

服务器为数据库中的每个表提供架构信息:

  • 持微软签名的表模式 (postgres:////schema)

- 每个表的JSON模式信息 - 包括列名和数据类型 - 从数据库元数据中自动发现

使用Claude Desktop

要将此服务器与Claude Desktop应用程序一起使用,请将以下配置添加到您的“mcpServers”部分 claude_desktop_config.json:

码头工人

  • 在macos上运行docker时,如果服务器在主机网络上运行(例如localhost),请使用host.docker.internal
  • 用户名/密码可以添加到postgresql url中 postgresql://user:password@host:port/db-name
  • 添加 ?sslmode=no-verify 如果您需要绕过SSL证书验证
{
  "mcpServers": {
    "postgres": {
      "command": "docker",
      "args": [
        "run", 
        "-i", 
        "--rm", 
        "mcp/postgres", 
        "postgresql://host.docker.internal:5432/mydb"]
    }
  }
}

NPX

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}

替换 /mydb 使用您的数据库名称。

示例用法

查询数据

/query SELECT * FROM users LIMIT 5

插入数据

/insert table="users", data={"name": "John Doe", "email": "john@example.com"}

更新数据

/update table="users", data={"status": "inactive"}, where="id='123'"

创建表

/createTable tableName="tasks", columns=[
  {"name": "id", "type": "SERIAL", "constraints": "PRIMARY KEY"}, 
  {"name": "title", "type": "VARCHAR(100)", "constraints": "NOT NULL"},
  {"name": "created_at", "type": "TIMESTAMP", "constraints": "DEFAULT CURRENT_TIMESTAMP"}
]

创建函数和触发器

/createFunction name="update_timestamp", parameters="", returnType="TRIGGER", language="plpgsql", body="BEGIN NEW.updated_at = NOW(); RETURN NEW; END;"

/createTrigger name="set_timestamp", tableName="tasks", functionName="update_timestamp", when="BEFORE", events=["UPDATE"], forEach="ROW"

建筑

Docker:

docker build -t mcp/postgres -f Dockerfile . 

安全注意事项

  1. 所有数据修改操作都使用具有适当COMMIT/ROLLBACK处理的事务
  2. 每个操作都返回为提高透明度而执行的SQL
  3. 服务器使用参数化查询进行插入/更新操作,以防止SQL注入
  4. 安全修复程序(v1.0.2):只读查询工具现在使用预处理语句来防止SQL注入攻击,这些攻击可以通过执行多个语句来绕过事务隔离

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

目录标签

目录标签

数据分析JavaScriptClaude数据操作数据库管理本地部署模式管理SQL查询PostgreSQL

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP