使用说明
Nginx代理管理器MCP服务器
MCP(模型上下文协议)服务器,用于通过Claude等人工智能助手管理Nginx代理管理器。
特性
此服务器提供管理工具:
代理主机
list_proxy_hosts-列出所有代理主机get_proxy_host-获取特定代理主机的详细信息create_proxy_host-创建新的代理主机update_proxy_host-更新现有代理主机delete_proxy_host-删除代理主机enable_proxy_host/disable_proxy_host-启用/禁用代理主机
流(TCP/UDP)
list_streams-列出所有流create_stream-创建新流delete_stream-删除流enable_stream/disable_stream-启用/禁用流
重定向主机
list_redirection_hosts-列出所有重定向create_redirection_host-创建新的重定向delete_redirection_host-删除重定向
SSL证书
list_certificates-列出所有证书get_certificate-获取证书详细信息renew_certificate-续订证书delete_certificate-删除证书
访问列表
list_access_lists-列出所有访问列表create_access_list-创建新的访问列表delete_access_list-删除访问列表
404主机
list_dead_hosts-列出所有404台主机create_dead_host-新建404主机delete_dead_host-删除404主机
用户和状态
list_users-列出所有用户get_status-获取NPM状态和MCP服务器模式
安装
cd npm-mcp-server
npm install
npm run build
配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
NPM_URL |
Nginx代理管理器URL | http://localhost:81 |
NPM_EMAIL |
登录电子邮件(必填) | - |
NPM_PASSWORD |
登录密码(必填) | - |
NPM_READONLY |
只读模式(块创建/更新/删除) | false |
只读模式
当 NPM_READONLY=true,服务器只允许读取操作:
- ✅
list_*-列出资源 - ✅
get_*-获取资源详细信息 - ❌
create_*-创建(已阻止) - ❌
update_*-更新(已阻止) - ❌
delete_*-删除(已阻止) - ❌
enable_*/disable_*-启用/禁用(阻止) - ❌
renew_certificate-续订证书(已阻止)
当您只想让AI查看信息而不修改配置时,请使用只读模式。
克劳德桌面版
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nginx-proxy-manager": {
"command": "node",
"args": ["/path/to/npm-mcp-server/dist/index.js"],
"env": {
"NPM_URL": "http://your-npm-host:81",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "your-password",
"NPM_READONLY": "false"
}
}
}
}
克劳德代码(VSCode)
添加到 .claude/settings.json:
{
"mcpServers": {
"nginx-proxy-manager": {
"command": "node",
"args": ["/path/to/npm-mcp-server/dist/index.js"],
"env": {
"NPM_URL": "http://your-npm-host:81",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "your-password",
"NPM_READONLY": "false"
}
}
}
}
只读模式配置示例
{
"mcpServers": {
"nginx-proxy-manager": {
"command": "node",
"args": ["/path/to/npm-mcp-server/dist/index.js"],
"env": {
"NPM_URL": "http://your-npm-host:81",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "your-password",
"NPM_READONLY": "true"
}
}
}
}
用法示例
创建代理主机
Create a proxy host for domain app.example.com, forward to 192.168.1.100:8080
列出所有代理主机
Show me all proxy hosts
创建TCP流
Create a TCP stream from port 3306 forwarding to mysql-server:3306
管理证书
List all SSL certificates and tell me which ones are expiring soon
CLI工具
独立的CLI工具也可用于直接命令行使用或与OpenClaw技能集成。
CLI使用情况
# Set environment variables
export NPM_URL="http://your-npm-host:81"
export NPM_EMAIL="admin@example.com"
export NPM_PASSWORD="your-password"
# Get status
node dist/cli.js status
# List proxy hosts
node dist/cli.js proxy-hosts list
# Create a proxy host
node dist/cli.js proxy-hosts create --domains "app.example.com" --forward-host "192.168.1.100" --forward-port 8080
# Delete a proxy host
node dist/cli.js proxy-hosts delete 15
# List certificates
node dist/cli.js certificates list
# List streams
node dist/cli.js streams list
开放式法律技能
对于OpenClaw用户,请复制 skills/nginx-proxy-manager 文件夹到 ~/.openclaw/skills/:
cp -r skills/nginx-proxy-manager ~/.openclaw/skills/
然后设置所需的环境变量,并使用OpenClaw中的技能。
发展
# Build
npm run build
# Watch mode
npm run dev
许可证
麻省理工学院