SuperAPI AI 工具集

infra-mcp

infra-mcp 是一个本地 stdio 模式的 MCP 服务器,提供对本地部署 Linux 虚拟机和 PostgreSQL 数据库的只读诊断访问。它通过 SSH 连接远程主机,让 AI 智能体能够检查服务健康状态、获取有界日志、查看数据库状态以及探索表结构,而无需直接使用终端。所有远程操作均受白名单控制,并记录到仅追加的审计日志中。

访问官网

工具介绍

用途

infra-mcp 是一个本地 stdio 模式的 MCP(模型上下文协议)服务器,专为本地部署(on-prem)的 Linux 虚拟机和 PostgreSQL 数据库提供只读诊断访问。它允许 AI 智能体通过 SSH 连接远程主机,检查服务健康状态、获取有界日志、查看数据库状态以及探索表结构,而无需为智能体提供终端访问权限。

主要能力

  • 通过 SSH 对本地部署的 Linux VM 执行只读诊断操作。
  • 检查 systemd 服务健康状态。
  • 检索有界日志(服务端限制为 200 行日志)。
  • 检查 PostgreSQL 数据库状态。
  • 探索数据库表结构(最多 200 个表/列)。
  • 所有远程操作均受白名单控制,并写入仅追加的审计日志。
  • 所有输出均在服务端进行边界限制(200 行日志、100 行数据库记录、200 个表/列),截断时始终以 -- TRUNCATED: 标记提示。
  • list_tables 和 describe_table 的结果会缓存在内存中(TTL 由 schema_cache_ttl_hours 控制,默认 24 小时);传入 refresh: true 可强制实时重新读取。
  • SSH 命令和 systemd 服务在执行任何网络调用前,会先根据每个 VM 的白名单进行检查。
  • 所有数据库查询均以只读角色在 READ ONLY 事务中运行。
  • 日志文件路径会根据每个 VM 的目录白名单进行解析(阻止 .. 路径遍历)。
  • 每个远程操作都会追加到本地 JSONL 审计日志中。

使用方式

  1. 将 infra-mcp.yaml.example 复制到 ~/.infra-mcp/infra-mcp.yaml 并进行编辑。
  2. 可通过 --config 或环境变量 INFRA_MCP_CONFIG 覆盖配置文件路径。
  3. 在客户端(如 Claude Code、Cursor 等)中注册为 stdio MCP 服务器,命令为 infra-mcp run。
  4. infra-mcp 每天会检查一次 PyPI 是否有新版本,如有新版本,会向 stderr 打印一行提示,告知如何升级。该检查在后台运行,不会阻塞启动,也不会触碰 stdout。
  5. 使用 infra-mcp --version 打印已安装版本。
  6. 设置 INFRA_MCP_NO_UPDATE_CHECK=1 可完全禁用更新检查。

适用场景

适用于需要对本地部署的 Linux 虚拟机和 PostgreSQL 数据库进行只读诊断的场景,例如检查服务运行状态、查看日志、验证数据库状态和表结构等。适合希望让 AI 智能体在无终端访问权限的情况下安全地执行运维诊断任务的团队。

限制

  • 仅提供只读访问,不支持任何写入或修改操作。
  • 远程操作受白名单限制,未列入白名单的命令、服务或路径无法执行或访问。
  • 输出结果有服务端边界限制,超出部分会被截断并标记。
  • 日志文件路径受目录白名单限制,无法访问白名单之外的路径。
  • 关于具体的安装要求、支持的 Python 版本、依赖项以及许可证信息,资料中暂未提供。