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

pg MCP server

MCP Server

一个通用的PostgreSQL MCP服务器,支持PostGIS和PgVector扩展,用于高效管理LLM上下文和数据库结构信息。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PostgreSQL数据分析API集成

安装说明

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

作者 / 组织

cbc3929

提供方

cbc3929

最后核验

2026/5/17 21:11

运行时

Docker

快速接入

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

命令预览

docker run -d -p 8181:8181 --name my-mcp-server pg-mcp-server:latest

详细介绍

PG_MCP_SERVER

Custom Implementation for PostgreSQL + PostGIS Support

引言

中文文档

一个通用的PostgreSQL MCP服务器。MCP部分使用 去mcp,支持Stdio和SSE传输。

PostGIS和PgVector的描述来自另一个开源项目:https://github.com/stuzero/pg-mcp-server 🙏🙏🙏 这种提供上下文的方法令人耳目一新。
⚠️ 数据库需要定义角色以防止SQL注入。授予 SELECT 允许 public 防止敏感数据暴露的模式。 ⚠️ 为新角色授予所有权限 temp 模式,以确保数据隔离。

特性

在本地部署LLM时,需要高效地管理上下文。在每次调用时读取数据库模式会消耗时间和重要的令牌上下文。本项目采用预处理方法。它本机支持从数据库中获取表结构,并向LLM提供描述性信息:

  • 利用工具描述和输入模式隐式或显式地传达模式信息。
  • 在初始化过程中利用MCP资源读取表名、列、约束、外键、索引、几何图形类型和EPSG代码,为大型模型创建基本理解。

安装

在……里面 main.go:

// Here you can set the connection string for database interaction
schemaLoadConnID, err := dbService.RegisterConnection(tempCtx, "postgres://mcp_user:mcp123456@192.168.2.19:5432/postgres")

格式为 postgres://user:pass@host:port/db\ 或者,您可以通过.env进行配置,取消注释并设置 SCHEMA_LOAD_DB_URL 变量。 在这里,RegisterConnection为服务器提供了一个初始连接字符串来缓存数据库表信息。\ 🏁 建议创建专用服务器角色。SQL如下:

-- Create a new role and set a password
CREATE ROLE mcp_user WITH LOGIN PASSWORD 'mcp123456';

-- Set basic permissions for mcp_user
GRANT CONNECT ON DATABASE postgres TO mcp_user;
GRANT USAGE ON SCHEMA public TO mcp_user;

-- Grant SELECT permission on all existing tables in the public schema
GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_user;

-- Automatically grant SELECT on future tables in public schema to mcp_user
ALTER DEFAULT PRIVILEGES IN SCHEMA public
   GRANT SELECT ON TABLES TO mcp_user;

-- Create a temp schema
CREATE SCHEMA temp;

-- Grant all privileges on the temp schema to mcp_user
GRANT USAGE, CREATE ON SCHEMA temp TO mcp_user;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA temp TO mcp_user;

-- Grant all privileges on future tables in temp schema to mcp_user
ALTER DEFAULT PRIVILEGES IN SCHEMA temp
   GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO mcp_user;
Use code with caution.

跑步

  • 🐋 使用Docker运行
git clone https://github.com/cbc3929/pg_mcp_server.git
cd pg_mcp_server
docker build -t pg-mcp-server:latest .
docker run -d -p 8181:8181 --name my-mcp-server pg-mcp-server:latest
  • 🀄 直接运行
  1. 克隆项目
git clone https://github.com/cbc3929/pg_mcp_server.git
cd pg_mcp_server
  1. 安装依赖项
go mod tidy

go mod download
  1. 直接运行\

确保设置了必要的环境变量或存在.env文件

go run ./cmd/server/main.go
  1. 构建(可选)
go build -o pg_mcp_server ./cmd/server/main.go
./pg_mcp_server

扩展支持

PostGIS✅\ Pg矢量✅\ Pg路由⭕

全部/未完成

  • 临时模式中的表管理:应实现表清理/回收机制。
  • 单元测试。

目录标签

目录标签

PostgreSQL数据分析API集成Go本地部署PostGISPgVectorLLM上下文管理数据库结构预加载

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP