mcpField
I
Infra MCP

Infra MCP

本地服务
github.com/esp4ce开发工具118 周前更新

关于 Infra MCP

Infra MCP 是面向运维人员的只读 MCP 服务,通过 SSH 检查本地部署的 Linux 虚拟机和 PostgreSQL。它以允许列表和审计日志约束远程操作,并提供服务、日志与数据库检查工具。

主要功能

  1. 01查看虚拟机可达性与服务状态
  2. 02读取受限的 journald 和日志文件
  3. 03检查 PostgreSQL 状态并执行只读查询
  4. 04浏览数据库表和结构
  5. 05记录远程操作审计日志

适用场景

  1. 01排查虚拟机上的服务健康问题
  2. 02查看特定严重级别的服务日志
  3. 03检查数据库连接、锁和长查询
  4. 04查询表结构或执行受限 SELECT

MCP 相关

作为 stdio MCP 服务运行,供 MCP 客户端调用。通过 SSH 检查虚拟机和 PostgreSQL,并将远程操作写入本地审计日志。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

infra-mcp

PyPI Glama License: MIT

通过 SSH 只读访问本地部署的 Linux VM 和 PostgreSQL 数据库的 MCP。

 agent ──stdio──▶ infra-mcp ──SSH──▶  VMs  (journald · log files)
                                  └──▶  DBs  (read-only PostgreSQL)

Agent 无需访问终端,即可检查服务运行状况、获取有限日志、查看数据库状态并探索表结构。所有远程操作都受允许列表控制,并写入仅追加的审计日志。

安装

uv tool install infra-mcp
# or
pip install infra-mcp

配置

将 infra-mcp.yaml.example 复制到 ~/.infra-mcp/infra-mcp.yaml 并进行编辑。

# Generate a starter config from ~/.ssh/config
infra-mcp generate-config -o ~/.infra-mcp/infra-mcp.yaml

# Create the read-only PostgreSQL role(s)
infra-mcp setup

# Check VM reachability
infra-mcp test

# Refresh discovered services, log dirs, and databases (updates config in place)
infra-mcp discover --in-place

使用 --config 或 INFRA_MCP_CONFIG 覆盖配置路径。

运行

infra-mcp run

在客户端(Claude Code、Cursor、…)中将其注册为 stdio MCP 服务,命令为 infra-mcp run。

更新

infra-mcp 每天检查一次 PyPI 是否有更新版本;如果有,会向 stderr 输出一行提示,告知如何升级:

uv tool upgrade infra-mcp   # or: pip install --upgrade infra-mcp

检查在后台运行,不会阻塞启动,也不会触及 stdout。使用 infra-mcp --version 查看已安装版本。设置 INFRA_MCP_NO_UPDATE_CHECK=1 可完全禁用检查。

工具

VM 和服务
工具用途
list_vms列出所有 VM,包括可访问性和受监控服务
get_infra_overview一次调用即可获取单个 VM 的服务状态和数据库运行状况
get_service_statussystemd 状态、运行时间、最近 5 行日志
get_service_logs按严重性筛选的有限 journald 日志
get_log_file获取允许访问的日志文件最后 N 行,可选 grep
数据库
工具用途
get_db_status连接数、等待中的锁、长时间运行的查询数
query_db调用方提供的有限 SELECT 查询
list_tables列出数据库中的表(架构 + 名称),最多 200 个
describe_table查看单个表的列、类型、主键和外键
元信息
工具用途
get_audit_log本地审计日志中的近期条目

所有输出都在服务端设有上限(最多 200 行日志、100 行数据库结果、200 个表/列)。截断时始终会标记 -- TRUNCATED:。list_tables 和 describe_table 会在内存中缓存结果(TTL:schema_cache_ttl_hours,默认 24 h);传入 refresh: true 可强制实时重新读取。

安全模型

  • SSH 命令和 systemd 服务在发起任何网络调用前,都会根据每台 VM 的允许列表进行检查。
  • 所有数据库查询都以只读角色在 READ ONLY 事务中运行。
  • 日志文件路径会根据每台 VM 的目录允许列表进行解析(阻止 .. 路径遍历)。
  • 每项远程操作都会追加到本地 JSONL 审计日志中。

评论

支持 Markdown

第一次接触 MCP?

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

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