mcpField
S
Server Ops MCP

Server Ops MCP

本地服务
github.com云与基础设施09 周前更新

关于 Server Ops MCP

Server Ops MCP 供 AI 编码工具在本地或通过 SSH 检查和管理项目服务器,涵盖日志、资源诊断、项目文件操作及 Nginx 和证书管理,并以内置确认与密钥脱敏控制风险。

主要功能

  1. 01搜索和查看项目及系统日志
  2. 02监控 CPU、内存、磁盘和服务
  3. 03读取、搜索、写入、修补及删除项目文件
  4. 04测试和读取 Nginx 配置
  5. 05重载 Nginx 并管理证书
  6. 06确认变更并脱敏密钥

适用场景

  1. 01排查项目或系统日志中的错误
  2. 02检查服务器资源使用和服务状态
  3. 03在沙箱范围内审查或编辑项目文件
  4. 04经确认后管理 Nginx 或证书

MCP 相关

这是一个向 AI 客户端提供服务器运维工具的 MCP 服务,支持本地执行和通过 SSH 进行远程操作。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"gt-dinuo-server-ops": {
"command": "npx",
"args": [
"-y",
"server-ops-mcp"
],
"env": {
"OPS_PROJECT_ROOT": "<OPS_PROJECT_ROOT>",
"OPS_SSH_HOST": "<OPS_SSH_HOST>",
"OPS_SSH_PORT": "<OPS_SSH_PORT>",
"OPS_SSH_USER": "<OPS_SSH_USER>",
"OPS_SSH_KEY": "<OPS_SSH_KEY>",
"OPS_SSH_PASSWORD": "<OPS_SSH_PASSWORD>",
"OPS_SSH_PASSPHRASE": "<OPS_SSH_PASSPHRASE>",
"OPS_CONFIG_PATH": "<OPS_CONFIG_PATH>"
}
}
}
}
启动命令npx -y server-ops-mcp
需要配置的环境变量
OPS_PROJECT_ROOTProject root path; all file operations are sandboxed here
OPS_SSH_HOSTRemote server IP / domain; leave empty to run locally
OPS_SSH_PORTSSH port, default 22
OPS_SSH_USERSSH username
OPS_SSH_KEY密钥Path to SSH private key (choose either key or password)
OPS_SSH_PASSWORD密钥SSH password (choose either key or password)
OPS_SSH_PASSPHRASE密钥Private key passphrase
OPS_CONFIG_PATHPath to an extra config file (see config.example.json)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmserver-ops-mcp1.0.3

工具

23

收录的工具列表 · 更新于 2 周前

参数类型必填说明
typeenum否all | cpu | memory | disk | load | processes

详细介绍

Server Ops MCP

English | 简体中文

npm version License: MIT Node.js MCP GitHub stars

一款通用的服务器运维 MCP 服务。通过 .mcp.json,让 Claude Code / Cursor / Codex 等 AI 工具管理多个项目或服务器——排查日志、检查系统资源、读写代码,以及管理 Nginx / 证书。

支持本地和**远程(SSH)**模式,内置两步确认、命令白名单、路径遍历防护和自动密钥脱敏。

功能特性

  • 🔍 日志排查:列出 / 读取 / 搜索项目日志、多通道日志和系统日志
  • 📊 资源监控:一目了然地查看 CPU / 内存 / 磁盘 / 负载 / 进程 / 服务状态
  • 📁 代码操作:读取、写入、修补、删除和搜索文件——所有操作均限制在项目根目录内
  • 🌐 Nginx 和证书:测试和读取配置、安全重载、安装和续订证书
  • 🔒 安全设计:写入操作需两步确认,提供命令白名单、路径遍历防护和自动脱敏

安装

需要 Node.js 18+。无需克隆或构建——首次使用时,npx 会获取并运行已发布的 npm 包(见下方配置)。

如需从源代码构建(例如用于开发):

git clone https://github.com/GT-dinuo/server-ops-mcp.git
cd server-ops-mcp
npm install
npm run build

构建输出位于 dist/;入口文件为 dist/index.js。

配置

在要使用此工具的每个项目中,创建(或追加内容到).mcp.json,并为每个环境声明一个 MCP 服务。本地模式只需设置 OPS_PROJECT_ROOT;远程模式还需添加 SSH 变量。

{
  "mcpServers": {
    "myproject-server": {
      "command": "npx",
      "args": ["-y", "server-ops-mcp"],
      "env": {
        "OPS_PROJECT_ROOT": "/www/wwwroot/your-project",
        "OPS_SSH_HOST": "<server-ip-or-domain>",
        "OPS_SSH_PORT": "22",
        "OPS_SSH_USER": "ubuntu",
        "OPS_SSH_KEY": "~/.ssh/id_rsa"
      }
    }
  }
}

如果从源代码构建,请将命令指向本地构建文件:"command": "node","args": ["/absolute/path/to/server-ops-mcp/dist/index.js"]。

环境变量
变量必需说明
OPS_PROJECT_ROOT是项目根目录路径;所有文件操作均限制在此目录内
OPS_SSH_HOST否远程服务 IP / 域名;留空则在本地运行
OPS_SSH_PORT否SSH 端口,默认为 22
OPS_SSH_USER否SSH 用户名
OPS_SSH_KEY否SSH 私钥路径(选择密钥或密码其中一种)
OPS_SSH_PASSWORD否SSH 密码(选择密钥或密码其中一种)
OPS_SSH_PASSPHRASE否私钥密码
OPS_CONFIG_PATH否额外配置文件的路径——参见“自定义配置”

用法

配置完成后,只需在 AI 工具中用自然语言描述运维需求。AI 会自动选择并调用合适的工具。

只读操作(直接运行)
Check the server's CPU, memory, and disk usage
Search for error-level logs from the last hour
List the project's log files
Read the Nginx config and check for problems
Find every place in the code that calls sendSms
写入操作(需要确认)

对于写入、删除、命令执行、Nginx 重载、证书安装等操作,工具会先返回一个 confirmationId。AI 会准确展示将要执行的内容,只有在你确认后才会执行:

You: Reload nginx
AI: (calls nginx_reload, returns the pending action + confirmationId)
    About to run: nginx -s reload. Confirm?
You: Confirm
AI: (calls confirm_execute to run it)

file_write、file_patch、file_delete、command_exec 等操作都遵循相同的确认流程。

典型场景
  • 生产环境故障排查:“为什么服务器内存满了?”→ memory_analysis + log_search 协同工作
  • 例行检查:“磁盘快满了吗?哪个目录占用最多?”→ disk_analysis
  • 安全审计:“审查项目配置,查找泄露的密钥”→ config_audit(输出会自动脱敏)

工具列表

系统运维
工具描述
system_infoCPU / 内存 / 磁盘 / 负载 / 进程
memory_analysis内存使用情况分析
disk_analysis磁盘使用情况分析
service_status服务状态
log_search_system搜索系统日志
nginx_config_test测试 Nginx 配置
nginx_config_read读取 Nginx 配置
nginx_reload重新加载 Nginx(需要确认)
certbot_install安装证书(需要确认)
certbot_renew续订证书(需要确认)
项目代码
工具描述
log_list列出项目日志
log_read读取日志
log_search搜索日志
file_read读取文件
file_list列出目录内容
file_search搜索代码
file_write写入文件(需要确认)
file_patch修补文件(需要确认)
file_delete删除文件(需要确认)
command_exec运行白名单中的命令
project_overview项目概览
config_audit审核配置(自动脱敏)
confirm_execute确认并运行待处理操作

安全

  1. 只读工具可直接运行。
  2. 写入、命令执行、重新加载 Nginx、安装证书均需要两步确认(confirm_execute)。
  3. 命令执行使用白名单机制——拒绝 rm -rf、sudo 和向 shell 管道传入命令等危险操作。
  4. 文件操作限制在 OPS_PROJECT_ROOT 沙盒内;路径遍历会被阻止。
  5. .env 文件和日志中的密码、令牌及其他机密信息都会自动脱敏。

自定义配置

下载 config.example.json 并将其另存为 config.json,然后将 OPS_CONFIG_PATH 指向该文件,即可自定义日志通道、命令白名单、读取限制等。

curl -o config.json https://raw.githubusercontent.com/GT-dinuo/server-ops-mcp/main/config.example.json
# (if you cloned the repo: cp config.example.json config.json)
# After editing config.json, set in the .mcp.json env:
# "OPS_CONFIG_PATH": "/absolute/path/to/config.json"

config.example.json 的主要字段:

  • logChannels:通道名称 → 日志目录路径(相对于项目根目录)
  • maxReadLines / maxReadBytes:每次读取的行数 / 字节数上限
  • commandWhitelist.direct:可直接运行的命令
  • commandWhitelist.confirm:需要确认的命令

开发

npm run dev    # watch mode, recompiles on change
npm run build  # build to dist/
npm run clean  # remove dist/
npm start      # run the built Server

注意事项

  • 远程操作依赖 SSH——请为 AI 使用只读账户或严格限定范围的命令白名单。
  • 私钥文件的权限应设为 600(chmod 600 ~/.ssh/id_rsa)。
  • 切勿将包含密码的 .mcp.json 或 config.json 提交到代码仓库。

许可证

MIT © 2026 server-ops-mcp

评论

支持 Markdown

第一次接触 MCP?

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

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