npm mcp
MCP服务器,用于通过Claude/AI助手管理Nginx代理管理器(NPM)实例。 50工具 涵盖整个NPM API。
版本跟踪NPM版本——v2.14.0目标 Nginx代理管理器v2.14.0.
安装
# Install via uvx (recommended)
uvx nginx-proxy-manager-mcp
# Or install from source
uv sync
uv run nginx-proxy-manager-mcp配置
添加到您的Claude桌面配置(~/.config/claude/config.json):
{
"mcpServers": {
"nginx-proxy-manager": {
"command": "uvx",
"args": ["nginx-proxy-manager-mcp"],
"env": {
"NPM_URL": "http://your-npm-instance:81",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "your-password"
}
}
}
}可用工具(50)
代理主机(7个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_proxy_hosts | 列出所有代理主机 | -- |
get_proxy_host | 按ID获取代理主机 | host_id |
create_proxy_host | 创建新的代理主机 | domain_names, forward_host, forward_port |
update_proxy_host | 更新代理主机 | host_id +任何要更改的字段 |
delete_proxy_host | 删除代理主机 | host_id |
enable_proxy_host | 启用代理主机 | host_id |
disable_proxy_host | 禁用代理主机 | host_id |
可选创建/更新参数: forward_scheme, certificate_id, ssl_forced, block_exploits, advanced_config
重定向主机(7个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_redirection_hosts | 列出所有重定向主机 | -- |
get_redirection_host | 按ID获取重定向主机 | host_id |
create_redirection_host | 创建HTTP重定向 | domain_names, forward_http_code, forward_domain_name |
update_redirection_host | 更新重定向主机 | host_id +任何要更改的字段 |
delete_redirection_host | 删除重定向主机 | host_id |
enable_redirection_host | 启用重定向主机 | host_id |
disable_redirection_host | 禁用重定向主机 | host_id |
可选创建/更新参数: forward_scheme (自动/http/https), preserve_path, certificate_id, ssl_forced, block_exploits, advanced_config
流(7个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_streams | 列出所有TCP/UDP流 | -- |
get_stream | 按ID获取流 | stream_id |
create_stream | 创建TCP/UDP流代理 | incoming_port, forwarding_host, forwarding_port |
update_stream | 更新流 | stream_id +任何要更改的字段 |
delete_stream | 删除流 | stream_id |
enable_stream | 启用流 | stream_id |
disable_stream | 禁用流 | stream_id |
可选创建/更新参数: tcp_forwarding, udp_forwarding, certificate_id
死主机/404主机(7个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_dead_hosts | 列出所有404个死主机 | -- |
get_dead_host | 按ID获取死主机 | host_id |
create_dead_host | 创建404死主机 | domain_names |
update_dead_host | 更新死主机 | host_id +任何要更改的字段 |
delete_dead_host | 删除死主机 | host_id |
enable_dead_host | 启用死主机 | host_id |
disable_dead_host | 禁用死主机 | host_id |
可选创建/更新参数: certificate_id, ssl_forced, hsts_enabled, hsts_subdomains, http2_support, advanced_config
SSL证书(7个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_certificates | 列出所有SSL证书 | -- |
get_certificate | 按ID获取证书 | certificate_id |
request_certificate | 请求Let's Encrypt证书 | domain_names, nice_name |
delete_certificate | 删除证书 | certificate_id |
renew_certificate | 续订Let’s Encrypt证书 | certificate_id |
list_dns_providers | 列出支持的DNS提供商 | -- |
test_http_challenge | 测试HTTP-01 ACME可达性 | domains |
访问列表(5个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_access_lists | 列出所有访问列表 | -- |
get_access_list | 按ID获取访问列表 | access_list_id |
create_access_list | 创建访问列表 | name |
update_access_list | 更新访问列表 | access_list_id +任何要更改的字段 |
delete_access_list | 删除访问列表 | access_list_id |
可选创建/更新参数: satisfy_any, pass_auth
用户(5工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_users | 列出所有NPM用户 | -- |
get_user | 按ID获取用户 | user_id |
create_user | 创建新用户 | name, email |
update_user | 更新用户 | user_id +任何要更改的字段 |
delete_user | 删除用户 | user_id |
可选创建/更新参数: nickname, roles, is_disabled
设置(3个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_settings | 列出所有NPM设置 | -- |
get_setting | 按ID获取设置 | setting_id |
update_setting | 更新设置 | setting_id |
可选更新参数: value, meta
审计日志(1个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
list_audit_log | 列出最近的审核日志条目 | -- |
报告(1个工具)
| 工具 | 描述 | 必需参数 |
|---|---|---|
get_host_report | 获取主机计数报告 | -- |
使用示例
配置后,使用自然语言:
- “列出我的所有代理主机”
- “为example.com创建指向192.168.1.100:8080的代理主机”
- “设置从old.example.com到new.example.com的301重定向”
- “创建到我的数据库服务器的TCP流转发端口3306”
- “为api.example.com申请Let's Encrypt证书”
- “启用ID为5的代理主机”
- “显示审核日志”
发展
uv sync --dev
uv run pytest需求
- Python 3.10+
- Nginx代理管理器实例
- 有效的NPM凭据
许可证
麻省理工学院
