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.zh JSON响应 - MCP:返回带有双语部分的工具文本或 messages 对象 - 错误:附加 code, messages.en, messages.zh,可选 details - 日志:将双语文本写入 combined.log 具有相同的标签
- 中文:
- CLI:输出两行,先 [EN] ... 后 [ZH] ... - API:JSON 响应包含 messages.en 与 messages.zh - MCP:工具返回文本含双语段落或提供 messages 对象 - 错误:包含 code、messages.en、messages.zh 与可选 details - 日志:以相同标签写入 combined.log
示例/示例:
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:npm start(默认端口 3000) - 运行测试:npm test - MCP 本地测试:npm run mcp:test
______________________________________________________________________
CLI Usage / CLI 使用
- 英语:
- 检查服务器: - serverready inspect -h -u -p -P 22 --json - 初始化服务器: - serverready init -h -u -p --web-server nginx --database mysql --json - 快速检查: - serverready quick-check -h -u -p --json - 由本地项目部门自动配置: - serverready auto-config -h -u -p --project . --env prod --json
- 中文:
- 服务器预检: - serverready inspect -h -u -p -P 22 --json - 服务器初始化: - serverready init -h -u -p --web-server nginx --database mysql --json - 快速检查: - serverready quick-check -h -u -p --json - 基于本地项目依赖自动配置: - serverready auto-config -h -u -p --project . --env prod --json
Notes / 备注:
- 您可以提供 `--private-key
而不是 -p `
- 可使用 `--private-key
替代 -p `
______________________________________________________________________
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":"","username":"root","password":"
","port":22}'
# Init / 初始化
curl -X POST http://localhost:3000/api/init \
-H "Content-Type: application/json" \
-d '{"host":"","username":"root","password":"
","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":"","username":"root","password":"
","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_info - batch_inspect, analyze_dependencies, auto_configure_server
- 中文:
- 启动 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_info - batch_inspect、analyze_dependencies、auto_configure_server
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":"","username":"root","password":"
","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,工作目录到工作区根目录。
- 中文:
- 打开 Cursor 设置 → MCP,添加服务器 serverready。 - 命令设为 node,参数为 src/mcp-server.js,工作目录为项目根目录。
Usage examples / 使用示例:
- 英语:
- “分析当前存储库依赖关系和建议的服务器设置”→ calls analyze_dependencies. - “这台机器的3000端口打开了吗?”→ calls check_port. - “初始化此项目的服务器环境”→ calls auto_configure_server.
- 中文:
- “分析当前仓库依赖并给出服务器推荐” → 调用 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 工具配置,添加 serverready-mcp。 - 命令设为 node,参数为 ${workspaceFolder}/src/mcp-server.js。
Usage examples / 使用示例:
- 英语:
- 使用命令面板或聊天中的MCP工具: inspect_server, quick_check, initialize_server, check_port, get_system_info, batch_inspect, analyze_dependencies, auto_configure_server.
- 中文:
- 在命令面板或聊天中调用 MCP 工具:inspect_server、quick_check、initialize_server、check_port、get_system_info、batch_inspect、analyze_dependencies、auto_configure_server。
______________________________________________________________________
克劳德代码
- 英语:
- 创建 .claude/mcp.yml 在您的工作空间中,使用:
- 中文:
- 在项目根目录创建 .claude/mcp.yml,内容如下:
# .claude/mcp.yml
servers:
serverready:
command: node
args:
- src/mcp-server.js
working_directory: .
environment:
NODE_ENV: developmentSteps / 步骤:
- 英语:
- 必要时重新启动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,args src/mcp-server.js,工作目录 .. - 可选设置 NODE_ENV=development,选择交通工具 stdio. - 保存,然后提及 @serverready 在聊天室或打开工具面板进行测试。
- 中文:
- 打开 Codex 设置 → Tools/MCP。 - 添加服务器 serverready,命令 node,参数 src/mcp-server.js,工作目录 .。 - 可选设置 NODE_ENV=development,传输方式选择 stdio。 - 保存后在聊天中输入 @serverready 或打开工具面板测试连接。
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;评估项目健康并扫描常见安全问题;按环境(dev/test/prod)生成服务器配置建议。
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。提交前请运行 npm test。
______________________________________________________________________
License / 许可证
- 中文:ISC许可证
- 中文:ISC 许可证
