mcpField
M
Mcp Postgres Analytics

Mcp Postgres Analytics

本地服务
github.com/archimedes-market数据与分析023 周前更新

关于 Mcp Postgres Analytics

面向数据库运维与分析团队的只读 PostgreSQL 分析 MCP 服务,提供查询计划、性能、索引、膨胀和锁等诊断工具。启动时检查数据库角色权限,且查询计划分析不会实际执行目标查询。

主要功能

  1. 01查询计划与成本热点分析
  2. 02慢查询与索引使用统计
  3. 03表膨胀及 vacuum 状态
  4. 04连接与锁等待诊断
  5. 05数据库对象大小汇总
  6. 06启动时拒绝写入权限

适用场景

  1. 01排查应用请求变慢原因
  2. 02制定数据库容量规划
  3. 03检查索引与表膨胀情况

MCP 相关

作为 MCP 服务向客户端提供 8 种 PostgreSQL 只读分析工具,涵盖查询、索引、表、连接、锁和容量信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Archimedes Trust Report — VERIFIED 92/100

已在 Archimedes Market 验证的资产。查看完整的 4 维信任报告(安全 · 质量 · 许可证 · 复杂度)以及 资产页面上的精选目录。


MCP PostgreSQL Analytics

以 MCP 服务形式提供的只读 PostgreSQL 分析 Agent。可安全接入生产数据库,不执行 DDL、DML,也绝不写入数据。

八种工具覆盖了大多数团队在事故响应和容量规划期间需要关注的可观测性范围:

  • query_plan — 对查询字符串执行 EXPLAIN (ANALYZE, BUFFERS, VERBOSE),并标注成本热点
  • slow_queries — 从 pg_stat_statements 获取平均耗时/总耗时/调用次数排名前 N 的查询
  • index_usage — 从 pg_stat_user_indexes 获取索引命中率、无效索引和缺失索引提示
  • table_bloat — 使用与 pgstattuple 等效的启发式方法估算每张表的膨胀情况
  • vacuum_status — 获取每张表上次 vacuum/autovacuum/analyze 的时间,并标记事务 ID 回卷风险
  • connection_stats — 活动会话、事务中的空闲会话、运行时间最长的事务
  • lock_waits — 获取被阻塞的查询,并解析阻塞链
  • size_summary — 按大小排序的数据库/模式/表/索引

安全保障

MCP 服务使用仅具有 pg_read_all_stats 和 CONNECT 权限的角色连接。启动时会验证 MCP_POSTGRES_DSN 中的连接字符串,拒绝任何在任何模式上具有 CREATE、INSERT、UPDATE、DELETE、TRUNCATE、ALTER 或 DROP 权限的角色。验证失败时会以明确的错误信息退出,而不会使用更高权限继续运行。

query_plan 接受查询字符串,但只会在 EXPLAIN (...) 中执行该字符串,绝不会实际运行查询本身。

快速开始

pip install mcp-postgres-analytics
export MCP_POSTGRES_DSN="postgresql://reader@host:5432/db"
mcp-postgres-analytics serve

Claude Desktop 配置:

{
  "mcpServers": {
    "postgres-analytics": {
      "command": "mcp-postgres-analytics",
      "args": ["serve"],
      "env": {
        "MCP_POSTGRES_DSN": "postgresql://reader@host:5432/db"
      }
    }
  }
}

典型的 Agent 工作流

Agent: "Why is our /api/checkout endpoint slow this week?"
↓
1. slow_queries → top 5 queries by mean time
2. query_plan on the worst → spots a sequential scan
3. index_usage → confirms missing index hint
4. size_summary → confirms the table is 14GB
5. Output: "Index on orders(status, created_at) missing. ~150ms saved per call. Run during low-traffic window."

不会执行的操作

  • 不执行任何类型的写入操作
  • 不连接 PostgreSQL 以外的数据库(Parquet/CSV 请使用 DuckDB MCP)
  • 不执行备份/恢复(请直接使用 pg_dump)
  • 不管理复制拓扑

如果 Agent 工作流需要写入权限,请使用另一个带有明确限制的 MCP 服务。将只读分析与写入操作混在一起,正是此服务旨在避免的工具职责混淆。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。