当前位置: 首页 > news >正文

DeepSeek 总结的pgEdge for Postgres 的 MCP 服务器

原文地址:https://www.pgedge.com/blog/pgedge-mcp-server-for-postgres-is-now-ga-here-s-why-that-matters

pgEdge for Postgres 的 MCP 服务器现已正式发布。以下是其重要意义

Antony Pegg | 2026年4月2日


如果你正在构建基于代理的人工智能应用,很可能已经遇到了那个瓶颈:你的大语言模型需要真正地与数据库进行交互。不仅仅是转储一个模式然后听天由命,而是要真正理解数据模型、编写合理的查询、为新的用户界面甚至整个应用程序生成代码,并且无需你在每一次交互中都手把手地指导。这正是 MCP 服务器应该解决的问题,当你还在笔记本电脑上进行原型设计时,大多数 MCP 服务器都能做得不错。

但在生产环境中,情况则完全不同。

pgEdge for Postgres 的 MCP 服务器现已正式发布,它也可以在 pgEdge Cloud内部作为托管服务使用。我们构建它,是因为“在演示中有效”和“在生产环境中运行,满足真正的安全、真正的可用性要求和真正的合规性约束”之间的差距比大多数人意识到的要大,而现有的 MCP 服务器未能弥合这一差距。


大多数 MCP 服务器存在的问题

通常的情况是这样的:你下载一个 MCP 服务器,将其连接到 Claude Code 或 Cursor,指向一个本地 Postgres 实例,一切运行良好。你的大语言模型能够内省模式、编写查询、生成应用程序代码和用户界面,甚至还能提出优化建议。你会感觉自己仿佛生活在未来。

然后,有人要求你将其连接到生产数据库。那个包含个人身份信息的数据库。那个出于合规性原因需要留在 eu-west-1 区域或本地的数据库。那个不能宕机,因为其他三个服务都依赖它的数据库。突然间,你面对的是一个不支持 TLS、没有真正的身份验证、无法强制执行只读访问,并且肯定不是为在气隙环境中运行而设计的工具。

因此,我们构建了一个能够弥合这一差距的服务器。pgEdge MCP 服务器可与任何运行 v14 或更新版本的标准 Postgres 数据库协同工作,并且它是从头开始设计的,专为那些“启动它看看会发生什么”不能被接受的部署策略的环境而打造。


pgEdge MCP Server v1.0 提供的内容

我们来谈谈具体包含的功能,因为功能列表比围绕它的营销语言更重要。

你首先会注意到的是模式内省。服务器不仅仅是将表名列表交给大语言模型就完事了。它会提取主键、外键、索引、列类型、约束,甚至是分区表的层次结构。这意味着大语言模型可以真正理解你的数据模型是如何组合在一起的,而不是盲目地发出SELECT *查询并希望返回一些有用的信息。对于基于时间分区的数据库(其中可能有成百上千个子表挤满上下文窗口),它能识别出分区的父表并默认隐藏子表,保持模型工作环境的整洁。

安全方面,这不是一个“我们稍后再添加身份验证”的情况。服务器支持 stdio、HTTP 以及带有 TLS 的 HTTPS,同时支持用户和令牌身份验证,并且支持热加载,这样你可以在不重启任何服务的情况下轮换凭证。只读模式默认强制执行,并且 1.0 版本进一步提供了针对绕过攻击的主动防御,会拒绝那些试图通过 PL/pgSQLDO块或set_config()调用来操纵transaction_read_only设置的查询。最终效果是,你可以让大语言模型代理访问生产数据,而无需将整个系统的钥匙都交给它。

多数据库支持让你可以从同一台服务器连接到开发、预发布和生产环境,并在它们之间切换。这听起来很简单,但如果你知道大多数 MCP 设置需要为你接触的每个环境都进行单独的配置,就能体会到其价值了。


GA 版本的新增功能

pgEdge MCP Server v1.0 版本增加了一些直接来自测试期间开发者反馈的功能,其中一些从根本上改变了你使用该服务器的能力。

其中最大的可能是自定义工具。你现在可以通过用 SQL、Python、Perl 或 JavaScript 编写工具来扩展 MCP 服务器,在 YAML 文件中定义它们,并将其放入你的配置中。它们会与内置工具一起作为一流的 MCP 工具出现。这意味着,如果你的团队有定期运行的特定工作流程或分析任务,你可以将其打包成一个大语言模型可以直接调用的工具。对于那些希望将特定领域的数据库操作引入其 AI 工作流程的团队来说,这才是真正开始变得有趣的地方。

为了展示这在实践中的样子,我们附带了一个DBA 入门工具包,作为一个即插即用的 YAML 定义文件。它附带了三个预构建的工具:get_top_queries用于分析最消耗资源的查询,analyze_db_health用于运行一个七类别的健康检查,以及recommend_indexes用于提供两层的索引建议(可选 HypoPG 模拟)。可以把它看作是给你的大语言模型开箱即用地提供了一个坚实的 DBA 知识基础,这样它就能开始为性能优化工作提供帮助,而无需你从头开始教它一切。(请阅读博文《使用 pgEdge MCP Server 自定义工具复制 CrystalDBA》以了解更多信息)。

运维方面,有几个值得关注的点。多主机连接支持意味着服务器原生支持高可用和故障转移,通过target_session_attrs使用与 libpq 兼容的连接字符串,将读操作路由到备用节点,将写操作路由到主节点。当启用写访问时,写查询确认会在服务器执行任何 DDL 或 DML 之前进行提示,并且服务器会设置 MCP 工具注解(destructiveHint,readOnlyHint),以便第三方客户端可以实现自己的确认流程。一键安装程序支持 Claude Code 和 Claude Desktop,可以自动化二进制文件下载、配置生成和客户端注册过程,这样你就不必为了入门而手动编辑 JSON 文件。

还有一系列你更多是感受到而非直接看到的变更。服务器现在使用制表符分隔值而不是 JSON 作为查询结果,自动分页,并应用上下文窗口压缩,所有这些都显著减少了令牌的使用量。如果你运行的代理需要大量数据库调用,这将对你的 API 账单产生积极影响。


与你正在使用的工具协同工作

pgEdge MCP 服务器支持开发者如今真正在使用的工具:Claude Code、Claude Desktop、Cursor、Windsurf、VS Code Copilot。在模型方面,它与 Anthropic 和 OpenAI 的尖端模型,以及通过 Ollama、LM Studio 和其他任何支持 OpenAI API 的本地托管模型协同工作。生产级 CLI 客户端包含 Anthropic 的提示缓存功能,对于针对同一模式的重复交互,可将成本降低高达 90%。你不需要重新设计你的 AI 技术栈来使用它。


按你的方式部署

每个数据库产品都在谈论部署的灵活性,但以下是它的实际体现。如果你希望走完全托管的路径,pgEdge Cloud 会在你的数据库集群旁部署 MCP 服务器,无需额外设置或维护。如果你想自己运行,GitHub Container Registry 上提供了 Docker 镜像,并且支持 Docker Compose 进行多实例部署,让你在自己的云环境中对配置和网络拥有完全控制权。如果你需要在本地部署,包括在完全不接触公共互联网的气隙环境中运行,该服务器可以编译成一个完全静态的二进制文件,无需依赖 C 编译器,因此在受限环境中不会遇到任何麻烦。

整个项目在 PostgreSQL 许可证下开源,并且订阅了 Enterprise Postgres 或 Distributed Postgres 的 pgEdge 客户无需额外付费即可获得支持。


开始使用

如果你想要托管路径,pgEdge Cloud 中的 MCP 服务器已准备就绪。启动一个数据库,启用 MCP 服务器,然后开始查询。

对于自托管部署,请查阅文档或立即下载。它与任何标准 Postgres v14+ 版本协同工作,因此你可以将其指向任何你已经运行的数据库。

如果你想在不进行任何设置的情况下就进行体验,GitHub Codespaces 演示提供了一个一键式的、基于浏览器的环境,其中已经加载了示例数据并准备就绪可供查询。

http://www.cnnetsun.cn/news/1675758.html

相关文章:

  • AI大模型应用开发学习路线(2026最新)从零基础入门到精通,非常详细收藏我这一篇就够了!
  • FluidTransitions 插值器系统:位置、缩放、旋转动画的底层实现
  • 飞书CLI开源,AI办公新突破?
  • 从Java全栈到Vue3实战:一次真实面试中的技术对话
  • PDFKit核心源码分析:揭秘HTML到PDF的转换魔法
  • Qwen3.5-35B-A3B-AWQ-4bit政务场景落地:政策文件附图解读+办事流程图转化
  • 2025届最火的六大AI科研平台实际效果
  • 基础入门-Shell脚本编程-编写简单的自动化脚本
  • 外贸参展的十种实用小礼品推荐
  • 某型全任务直升机飞行模拟器总体设计方案
  • 向量数据库:大模型的高效外存
  • kprobe函数入口时的汇编跳板执行流程与栈帧机制
  • CPU与操作系统【简单的认识理解】
  • 【C++27静态反射工业落地白皮书】:揭秘航天嵌入式系统中零运行时开销序列化实现路径
  • 论文查重还在花冤枉钱?Paperxie 免费查重,本科生的毕业省钱神器
  • 代码随想录算法训练营第一天 | Leetcode 704.二分查找 | Leetcode 27.移除元素 | Leetcode 977.有序数组的平方 (c#和c++双语)
  • MySql(简单处理查询结果--查询结果去重)
  • Vue指令对决:v-if vs v-for|谁才是真正的“渲染之王”?
  • 3步打造浏览器二维码工作站:Chrome QRCode重新定义信息交互方式
  • Agent在非结构化数据处理方面表现最好的工具是哪个?实在Agent商业案例库深度解析
  • C++如何将std--vector写入YAML文件_Emitter直接输入容器用法【实战】
  • 前端实现支付宝沙箱的一种方案
  • 2026届学术党必备的五大AI科研平台横评
  • OpenCV 颜色空间(RGB/BGR/HSV)超详细用法教程
  • HPE OneView 11.1 - HPE 服务器、存储和网络设备集中管理软件
  • PyCINRAD气象雷达数据处理解决方案:从数据解码到专业可视化的完整技术实现
  • 从GPT-3到ChatGPT:少样本学习的演进之路,给开发者的启示与避坑指南
  • 5大维度重构华硕笔记本控制体验:写给硬件爱好者的GHelper实战指南
  • TEKLauncher:重新定义方舟生存进化游戏管理的智能解决方案
  • CentOS7服务器流量飙升?别慌,用iftop+nload五分钟定位‘吃流量’的进程