使用说明
ServerReady / 服务器就绪
一种实用的工具,可智能地检查和初始化服务器,并支持CLI、HTTP API和模型上下文协议(MCP)。它分析您的项目依赖关系,并相应地自动配置服务器。
一个实用的智能服务器预检与初始化工具,支持 CLI、HTTP API 和 MCP(模型上下文协议)。它能分析项目依赖,并据此自动配置服务器。
概述/概述
- 中文:ServerReady帮助团队在部署前快速验证远程服务器,执行必要的初始化,并通过自动依赖性分析将服务器设置与应用程序堆栈对齐。
- 中文:ServerReady 帮助团队在部署前快速验证远程服务器,执行关键初始化,并通过自动依赖分析让服务器配置与应用技术栈保持一致。
Bilingual Prompts Policy / 双语提示规范
- 英语:
- 所有用户通知消息都以中英文提供,包括CLI输出、HTTP API响应、MCP工具结果、错误/异常、日志和交互式提示。
- 运行时输出使用简洁的标签
[EN]和[ZH]为了清晰和一致。 - 文档使用章节标签
English:和中文:如本README中所示。
- 中文:
- 所有面向用户的消息均提供中英双语,包括 CLI 输出、HTTP API 响应、MCP 工具结果、错误/异常、日志以及交互式提示。
- 运行时输出统一使用简洁标签
[EN]与[ZH],保持清晰一致。 - 文档采用
English:与中文:的分段标注方式,便于阅读与检索。
Format guidelines / 格式规范:
- 英语:
- CLI:打印两行
[EN] ...然后[ZH] ... - API:包括
messages.en和messages.zhJSON响应 - MCP:返回带有双语部分的工具文本或
messages对象 - 错误:附加
code,messages.en,messages.zh,可选details - 日志:将双语文本写入
combined.log具有相同的标签
- CLI:打印两行
- 中文:
- CLI:输出两行,先
[EN] ...后[ZH] ... - API:JSON 响应包含
messages.en与messages.zh - MCP:工具返回文本含双语段落或提供
messages对象 - 错误:包含
code、messages.en、messages.zh与可选details - 日志:以相同标签写入
combined.log
- CLI:输出两行,先
示例/示例:
CLI outputs / CLI 输出:
[EN] Inspect succeeded: SSH connected, ports open, resources healthy.
[ZH] 预检成功:SSH 连通、端口可用、系统资源健康。
[EN] Error: Failed to connect SSH. Please verify host and credentials.
[ZH] 错误:SSH 连接失败。请检查主机地址与凭证信息。
API responses / API 响应:
{
"ok": true,
"code": "INSPECT_OK",
"messages": {
"en": "Inspection completed successfully.",
"zh": "预检已成功完成。"
},
"data": { "host": "10.0.0.1", "summary": { "ssh": "ok", "ports": [22, 80] } }
}
Error payload / 错误载荷:
{
"ok": false,
"code": "SSH_CONNECT_FAILED",
"messages": {
"en": "Failed to establish SSH connection.",
"zh": "无法建立 SSH 连接。"
},
"details": { "host": "10.0.0.1", "port": 22 }
}
MCP tool result / MCP 工具结果:
{
"tool": "analyze_dependencies",
"ok": true,
"messages": {
"en": "Dependencies analyzed and recommendations generated.",
"zh": "依赖分析完成并生成配置建议。"
},
"result": { "dependencies": ["node", "docker"], "recommendations": ["enable ufw"] }
}
Logs / 日志:
2025-01-12T10:00:00.000Z [INFO] [EN] Initialized firewall rules.
2025-01-12T10:00:00.000Z [INFO] [ZH] 防火墙规则已初始化。
Interactive prompts / 交互式提示:
[EN] Missing required option: --host. Please provide a target host.
[ZH] 缺少必需参数:--host。请提供目标主机。
Consistency / 一致性要求:
- 英语:
- 保持不同语言的动态值相同;避免内容分歧。
- 喜欢简短、可诉的句子;不要在一条消息中混合多个操作。
- 中文:
- 动态值应在两种语言中保持一致,避免内容不一致。
- 采用简短、可执行的句式;一个消息不应混杂多个操作。
Features / 功能特性
- 英语:
- 部署前检查:网络、SSH连接、端口、系统资源、安全性
- 初始化:更新、防火墙规则、web服务器、数据库、网络优化、安全强化
- 多接口:CLI、HTTP API、MCP工具
- 依赖分析和自动配置(Node/Python/Java/Go/Ruby/PHP/Docker)
- 批量操作和快速检查
- 结构化日志和JSON输出
- 中文:
- 预部署检查:网络、SSH连通性、端口、系统资源、安全
- 初始化:系统更新、防火墙、Web服务器、数据库、网络优化、安全加固
- 多接口:CLI、HTTP API、MCP工具
- 依赖分析与自动配置(支持 Node/Python/Java/Go/Ruby/PHP/Docker)
- 批量操作与快速检查
- 结构化日志与 JSON 输出
Installation / 安装
- 英语:
- 要求:Node.js≥18(在Node24.x上测试),npm
- 安装依赖项:
npm install
- 中文:
- 环境要求:Node.js ≥ 18(已在 Node 24.x 上测试)、npm
- 安装依赖:
npm install
Configuration / 配置
- 英语:
- 集中配置
config/config.js:- SSH默认值、网络检查、服务检查(web/db/SSH)、阈值和初始化预设
- 通过CLI标志或API主体参数覆盖
- 集中配置
- 中文:
- 统一配置文件:
config/config.js- SSH默认值、网络检查、服务检查(web/db/ssh)、系统阈值、初始化预设
- 可通过 CLI 参数或 API 请求体覆盖
- 统一配置文件:
Quick Start / 快速开始
- 英语:
- 启动HTTP API:
npm start(默认端口3000) - 运行测试:
npm test - MCP本地测试:
npm run mcp:test
- 启动HTTP API:
- 中文:
- 启动 HTTP API:
npm start(默认端口3000) - 运行测试:
npm test - MCP 本地测试:
npm run mcp:test
- 启动 HTTP API:
CLI Usage / CLI 使用
- 英语:
- 检查服务器:
serverready inspect -h <host> -u <username> -p <password> -P 22 --json
- 初始化服务器:
serverready init -h <host> -u <username> -p <password> --web-server nginx --database mysql --json
- 快速检查:
serverready quick-check -h <host> -u <username> -p <password> --json
- 由本地项目部门自动配置:
serverready auto-config -h <host> -u <username> -p <password> --project . --env prod --json
- 检查服务器:
- 中文:
- 服务器预检:
serverready inspect -h <host> -u <username> -p <password> -P 22 --json
- 服务器初始化:
serverready init -h <host> -u <username> -p <password> --web-server nginx --database mysql --json
- 快速检查:
serverready quick-check -h <host> -u <username> -p <password> --json
- 基于本地项目依赖自动配置:
serverready auto-config -h <host> -u <username> -p <password> --project . --env prod --json
- 服务器预检:
Notes / 备注:
- 您可以提供
--private-key <path>而不是-p <password> - 可使用
--private-key <path>替代-p <password>
HTTP API / HTTP 接口
- 英语:
- 健康:
GET /health - 版本:
GET /api/version - 检查:
POST /api/inspect - 初始化:
POST /api/init - 快速检查:
POST /api/quick-check - 配置转储:
GET /api/config - 批量操作:
POST /api/batch(操作:inspect或init) - 端口检查:
POST /api/check-port - 依赖性分析:
POST /api/deps/analyze - 自动配置(按部门):
POST /api/deps/auto-config
- 健康:
- 中文:
- 健康检查:
GET /health - 版本信息:
GET /api/version - 服务器预检:
POST /api/inspect - 服务器初始化:
POST /api/init - 快速检查:
POST /api/quick-check - 配置输出:
GET /api/config - 批量操作:
POST /api/batch(操作:inspect或init) - 端口检查:
POST /api/check-port - 依赖分析:
POST /api/deps/analyze - 基于依赖的自动配置:
POST /api/deps/auto-config
- 健康检查:
示例/示例:
# Inspect / 预检
curl -X POST http://localhost:3000/api/inspect \
-H "Content-Type: application/json" \
-d '{"host":"<ip>","username":"root","password":"<pwd>","port":22}'
# Init / 初始化
curl -X POST http://localhost:3000/api/init \
-H "Content-Type: application/json" \
-d '{"host":"<ip>","username":"root","password":"<pwd>","webServer":"nginx","database":"mysql"}'
# Analyze deps / 分析依赖
curl -X POST http://localhost:3000/api/deps/analyze \
-H "Content-Type: application/json" \
-d '{"projectPath":".","env":"dev"}'
# Auto-config by deps / 基于依赖自动配置
curl -X POST http://localhost:3000/api/deps/auto-config \
-H "Content-Type: application/json" \
-d '{"host":"<ip>","username":"root","password":"<pwd>","projectPath":".","env":"prod"}'
MCP Tool / MCP 工具
- 英语:
- 启动MCP服务器(stdio):
node src/mcp-server.js - 本地MCP测试:
npm run mcp:test(使用bin/test-mcp-client.js) - 工具:
inspect_server,quick_check,initialize_server,check_port,get_system_infobatch_inspect,analyze_dependencies,auto_configure_server
- 启动MCP服务器(stdio):
- 中文:
- 启动 MCP(stdio):
node src/mcp-server.js - 本地测试:
npm run mcp:test(使用bin/test-mcp-client.js) - 工具列表:
inspect_server、quick_check、initialize_server、check_port、get_system_infobatch_inspect、analyze_dependencies、auto_configure_server
- 启动 MCP(stdio):
MCP usage examples / MCP 使用示例:
# List tools / 列出工具
npm run mcp:test -- --list
# Analyze deps / 分析依赖
npm run mcp:test -- --call analyze_dependencies --args '{"projectPath":".","env":"dev"}'
# Auto-config / 自动配置
npm run mcp:test -- --call auto_configure_server --args '{"host":"<ip>","username":"root","password":"<pwd>","projectPath":".","env":"prod"}'
AI IDE Integration / AI IDE集成
- 英语:
- 将ServerReady MCP服务器与流行的AI IDE集成,直接在聊天和命令面板中发现和使用工具。
- 以下是Cursor、Trae、Claude Code和Codex的双语配置示例和步骤。
- 中文:
- 将 ServerReady MCP 服务器集成到主流 AI IDE,在聊天/命令面板中直接发现并使用工具。
- 下方提供 Cursor、Trae、Claude Code、Codex 的中英双语配置示例与步骤。
Prerequisites / 前提条件:
- 英语:
- 确保
Node.js >= 18:node --version - 在工作区中安装依赖项:
npm install
- 确保
- 中文:
- 确保
Node.js >= 18:node --version - 在项目根目录安装依赖:
npm install
- 确保
光标
- 英语:
- 在游标设置或工作区配置中添加MCP服务器。
- 配置示例:
- 中文:
- 在 Cursor 设置或工作区配置中添加 MCP 服务器。
- 示例配置:
{
"mcp": {
"servers": {
"serverready": {
"command": "node",
"args": ["src/mcp-server.js"],
"cwd": "${workspaceFolder}",
"env": {
"NODE_ENV": "development"
}
}
}
}
}
Steps / 步骤:
- 英语:
- 打开光标设置→ MCP,添加服务器
serverready. - 将命令设置为
node,参数为src/mcp-server.js,工作目录到工作区根目录。
- 打开光标设置→ MCP,添加服务器
- 中文:
- 打开 Cursor 设置 → MCP,添加服务器
serverready。 - 命令设为
node,参数为src/mcp-server.js,工作目录为项目根目录。
- 打开 Cursor 设置 → MCP,添加服务器
Usage examples / 使用示例:
- 英语:
- “分析当前存储库依赖关系和建议的服务器设置”→ calls
analyze_dependencies. - “这台机器的3000端口打开了吗?”→ calls
check_port. - “初始化此项目的服务器环境”→ calls
auto_configure_server.
- “分析当前存储库依赖关系和建议的服务器设置”→ calls
- 中文:
- “分析当前仓库依赖并给出服务器推荐” → 调用
analyze_dependencies。 - “这台机器是否开放 3000 端口?” → 调用
check_port。 - “为本项目完成基础环境初始化” → 调用
auto_configure_server。
- “分析当前仓库依赖并给出服务器推荐” → 调用
崔
- 英语:
- 在Trae工具配置中添加MCP工具。
- 配置示例:
- 中文:
- 在 Trae 工具配置中添加 MCP 工具。
- 示例配置:
{
"tools": {
"serverready-mcp": {
"type": "mcp",
"config": {
"command": "node",
"args": ["${workspaceFolder}/src/mcp-server.js"],
"workingDirectory": "${workspaceFolder}"
}
}
}
}
Steps / 步骤:
- 英语:
- 打开Trae工具配置,添加
serverready-mcp. - 将命令设置为
node,参数为${workspaceFolder}/src/mcp-server.js.
- 打开Trae工具配置,添加
- 中文:
- 打开 Trae 工具配置,添加
serverready-mcp。 - 命令设为
node,参数为${workspaceFolder}/src/mcp-server.js。
- 打开 Trae 工具配置,添加
Usage examples / 使用示例:
- 英语:
- 使用命令面板或聊天中的MCP工具:
inspect_server,quick_check,initialize_server,check_port,get_system_info,batch_inspect,analyze_dependencies,auto_configure_server.
- 使用命令面板或聊天中的MCP工具:
- 中文:
- 在命令面板或聊天中调用 MCP 工具:
inspect_server、quick_check、initialize_server、check_port、get_system_info、batch_inspect、analyze_dependencies、auto_configure_server。
- 在命令面板或聊天中调用 MCP 工具:
克劳德代码
- 英语:
- 创建
.claude/mcp.yml在您的工作空间中,使用:
- 创建
- 中文:
- 在项目根目录创建
.claude/mcp.yml,内容如下:
- 在项目根目录创建
# .claude/mcp.yml
servers:
serverready:
command: node
args:
- src/mcp-server.js
working_directory: .
environment:
NODE_ENV: development
Steps / 步骤:
- 英语:
- 必要时重新启动Claude Code;工具出现在MCP面板中。
- 中文:
- 必要时重启 Claude Code;工具会在 MCP 面板中显示。
Usage examples / 使用示例:
- 中文:Call
analyze_dependencies,inspect_server,check_port,auto_configure_server从工具面板或聊天。 - 中文:在工具面板或聊天中调用
analyze_dependencies、inspect_server、check_port、auto_configure_server。
法典
- 英语:
- 创建
.codex/mcp.json在您的工作空间中,使用:
- 创建
- 中文:
- 在项目根目录创建
.codex/mcp.json,内容如下:
- 在项目根目录创建
{
"servers": {
"serverready": {
"command": "node",
"args": ["src/mcp-server.js"],
"cwd": ".",
"env": {
"NODE_ENV": "development"
},
"transport": "stdio",
"capabilities": {
"tools": true,
"resources": true
}
}
}
}
Features / 特点:
- 英语:
- 本地MCP工具面板、每个工作区的服务器上下文和日志、自动重新连接和重试、细粒度权限提示。
- 中文:
- 原生 MCP 工具面板、工作区级服务器上下文与日志、自动重连与重试、细粒度权限提示。
Steps / 步骤(UI):
- 英语:
- 打开Codex设置→
Tools/MCP. - 添加服务器
serverready,命令node,argssrc/mcp-server.js,工作目录.. - 可选设置
NODE_ENV=development,选择交通工具stdio. - 保存,然后提及
@serverready在聊天室或打开工具面板进行测试。
- 打开Codex设置→
- 中文:
- 打开 Codex 设置 →
Tools/MCP。 - 添加服务器
serverready,命令node,参数src/mcp-server.js,工作目录.。 - 可选设置
NODE_ENV=development,传输方式选择stdio。 - 保存后在聊天中输入
@serverready或打开工具面板测试连接。
- 打开 Codex 设置 →
Usage examples / 使用示例:
- 英语:
- “分析当前存储库并推荐服务器环境”→
analyze_dependencies. - 命令面板:
ServerReady › inspect_server并填写目标主机信息。 - “3000号港口现在开放了吗?”→
check_port. - “在目标服务器上初始化此项目的基础环境”→
auto_configure_server.
- “分析当前存储库并推荐服务器环境”→
- 中文:
- “分析当前仓库并推荐服务器环境” →
analyze_dependencies。 - 命令面板:选择
ServerReady › inspect_server并填写目标主机信息。 - “现在这台机器是否开放 3000 端口?” →
check_port。 - “根据本项目在目标服务器完成基础环境搭建” →
auto_configure_server。
- “分析当前仓库并推荐服务器环境” →
Dependency Analysis & Auto Config / 依赖分析与自动配置
- 英语:
- 检测运行时、框架、数据库、缓存、队列、构建/测试工具、docker;评估健康状况并扫描常见的安全问题;按环境生成服务器推荐(
dev/test/prod).
- 检测运行时、框架、数据库、缓存、队列、构建/测试工具、docker;评估健康状况并扫描常见的安全问题;按环境生成服务器推荐(
- 中文:
- 检测运行时、框架、数据库、缓存、消息队列、构建/测试工具、Docker;评估项目健康并扫描常见安全问题;按环境(
dev/test/prod)生成服务器配置建议。
- 检测运行时、框架、数据库、缓存、消息队列、构建/测试工具、Docker;评估项目健康并扫描常见安全问题;按环境(
Outputs include / 输出内容包含:
dependencies,recommendations,health,securityIssues,timestamp
Logs / 日志
- 英语:
- 日志被写入
logs/combined.log和logs/error.log
- 日志被写入
- 中文:
- 日志输出到
logs/combined.log和logs/error.log
- 日志输出到
Testing & Lint / 测试与代码规范
- 英语:
- 运行测试:
npm test - 新闻报道:
npm run test:coverage - MCP测试:
npm run mcp:test - 棉绒:
npm run lint,修复:npm run lint:fix
- 运行测试:
- 中文:
- 运行测试:
npm test - 覆盖率:
npm run test:coverage - MCP 测试:
npm run mcp:test - 棉绒:
npm run lint,自动修复:npm run lint:fix
- 运行测试:
Security Notes / 安全说明
- 英语:
- 避免以纯文本形式存储凭据;更喜欢
--private-key - 使用
env=prod更严格的安全强化
- 避免以纯文本形式存储凭据;更喜欢
- 中文:
- 避免明文保存凭证,尽量使用
--private-key - 生产环境设置
env=prod开启更严格的安全加固
- 避免明文保存凭证,尽量使用
Contributing / 参与贡献
- 英语:
- 欢迎发布问题和PR。请运行
npm test在提交之前。
- 欢迎发布问题和PR。请运行
- 中文:
- 欢迎提交问题和 PR。提交前请运行
npm test。
- 欢迎提交问题和 PR。提交前请运行
License / 许可证
- 中文:ISC许可证
- 中文:ISC 许可证
