A general-purpose server-ops MCP server — logs, resources, code edit, Nginx/certs via AI. Local + SSH modes with confirmations & secret redaction. 中文文档见 README.zh-CN.md
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add server-ops --env OPS_PROJECT_ROOT='<OPS_PROJECT_ROOT>' --env OPS_SSH_PASSWORD='<OPS_SSH_PASSWORD>' --env OPS_SSH_PASSPHRASE='<OPS_SSH_PASSPHRASE>' -- npx -y server-ops-mcp~/.codex/config.toml
[mcp_servers.server-ops]
command = "npx"
args = ["-y", "server-ops-mcp"]
env = { OPS_PROJECT_ROOT = "<OPS_PROJECT_ROOT>", OPS_SSH_PASSWORD = "<OPS_SSH_PASSWORD>", OPS_SSH_PASSPHRASE = "<OPS_SSH_PASSPHRASE>" }
# codex mcp add server-ops --env OPS_PROJECT_ROOT='<OPS_PROJECT_ROOT>' --env OPS_SSH_PASSWORD='<OPS_SSH_PASSWORD>' --env OPS_SSH_PASSPHRASE='<OPS_SSH_PASSPHRASE>' -- npx -y server-ops-mcp~/.cursor/mcp.json
{
"mcpServers": {
"server-ops": {
"command": "npx",
"args": [
"-y",
"server-ops-mcp"
],
"env": {
"OPS_PROJECT_ROOT": "<OPS_PROJECT_ROOT>",
"OPS_SSH_PASSWORD": "<OPS_SSH_PASSWORD>",
"OPS_SSH_PASSPHRASE": "<OPS_SSH_PASSPHRASE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"server-ops": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"server-ops-mcp"
],
"env": {
"OPS_PROJECT_ROOT": "<OPS_PROJECT_ROOT>",
"OPS_SSH_PASSWORD": "<OPS_SSH_PASSWORD>",
"OPS_SSH_PASSPHRASE": "<OPS_SSH_PASSPHRASE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"server-ops": {
"command": "npx",
"args": [
"-y",
"server-ops-mcp"
],
"env": {
"OPS_PROJECT_ROOT": "<OPS_PROJECT_ROOT>",
"OPS_SSH_PASSWORD": "<OPS_SSH_PASSWORD>",
"OPS_SSH_PASSPHRASE": "<OPS_SSH_PASSPHRASE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"server-ops": {
"command": "npx",
"args": [
"-y",
"server-ops-mcp"
],
"env": {
"OPS_PROJECT_ROOT": "<OPS_PROJECT_ROOT>",
"OPS_SSH_PASSWORD": "<OPS_SSH_PASSWORD>",
"OPS_SSH_PASSPHRASE": "<OPS_SSH_PASSPHRASE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"server-ops": {
"command": "npx",
"args": [
"-y",
"server-ops-mcp"
],
"env": {
"OPS_PROJECT_ROOT": "<OPS_PROJECT_ROOT>",
"OPS_SSH_PASSWORD": "<OPS_SSH_PASSWORD>",
"OPS_SSH_PASSPHRASE": "<OPS_SSH_PASSPHRASE>"
}
}
}
}需要的环境变量
OPS_PROJECT_ROOTOPS_SSH_PASSWORDOPS_SSH_PASSPHRASE
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。