Nginx Proxy Manager MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NPM_BASE_URL | No | The base URL of the Nginx Proxy Manager server. | |
| NPM_PASSWORD | No | The password for NPM authentication. | |
| NPM_USERNAME | No | The username for NPM authentication. | |
| MCP_HTTP_PORT | No | Port for streamable-http mode. | |
| MCP_TRANSPORT | No | Transport mode: stdio or streamable-http. | stdio |
| MCP_HTTP_AUTH_TOKEN | No | Optional auth token for streamable-http mode. | |
| NPM_TOKEN_REFRESH_MARGIN | No | Optional token refresh margin in seconds (default: 300). | 300 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| npm_list_proxy_hostsB | List all proxy hosts configured in Nginx Proxy Manager |
| npm_get_proxy_hostC | Get details of a specific proxy host by ID |
| npm_create_proxy_hostC | Create a new proxy host in Nginx Proxy Manager. Supports advanced_config for custom nginx configuration and locations with per-location advanced_config. |
| npm_update_proxy_hostC | Update an existing proxy host. Supports advanced_config for custom nginx configuration and locations with per-location advanced_config. |
| npm_delete_proxy_hostB | Delete a proxy host by ID |
| npm_enable_proxy_hostC | Enable a proxy host |
| npm_disable_proxy_hostC | Disable a proxy host |
| npm_list_redirection_hostsB | List all redirection hosts configured in Nginx Proxy Manager |
| npm_get_redirection_hostB | Get details of a specific redirection host by ID |
| npm_create_redirection_hostC | Create a new redirection host. Supports advanced_config for custom nginx configuration. |
| npm_update_redirection_hostC | Update an existing redirection host. Supports advanced_config for custom nginx configuration. |
| npm_delete_redirection_hostC | Delete a redirection host by ID |
| npm_enable_redirection_hostC | Enable a redirection host |
| npm_disable_redirection_hostC | Disable a redirection host |
| npm_list_dead_hostsB | List all 404 dead hosts configured in Nginx Proxy Manager |
| npm_get_dead_hostC | Get details of a specific dead host by ID |
| npm_create_dead_hostC | Create a new 404 dead host. Supports advanced_config for custom nginx configuration. |
| npm_update_dead_hostC | Update an existing dead host. Supports advanced_config for custom nginx configuration. |
| npm_delete_dead_hostC | Delete a dead host by ID |
| npm_enable_dead_hostC | Enable a dead host |
| npm_disable_dead_hostC | Disable a dead host |
| npm_list_streamsB | List all TCP/UDP stream proxies configured in Nginx Proxy Manager |
| npm_get_streamB | Get details of a specific stream by ID |
| npm_create_streamC | Create a new TCP/UDP stream proxy |
| npm_update_streamC | Update an existing stream |
| npm_delete_streamC | Delete a stream by ID |
| npm_enable_streamC | Enable a stream |
| npm_disable_streamC | Disable a stream |
| npm_list_access_listsC | List all access lists (basic auth, IP restrictions) |
| npm_get_access_listC | Get details of a specific access list by ID |
| npm_create_access_listC | Create a new access list with HTTP Basic Auth and/or IP restrictions |
| npm_update_access_listC | Update an existing access list |
| npm_delete_access_listC | Delete an access list by ID |
| npm_list_certificatesC | List all SSL certificates in Nginx Proxy Manager |
| npm_get_certificateB | Get details of a specific SSL certificate by ID |
| npm_create_certificateB | Request a new Let's Encrypt SSL certificate |
| npm_delete_certificateC | Delete an SSL certificate by ID |
| npm_renew_certificateB | Renew a Let's Encrypt SSL certificate |
| npm_list_dns_providersB | List supported DNS providers for DNS challenge certificates |
| npm_test_http_challengeC | Test if domains are reachable for HTTP-01 ACME challenge |
| npm_list_usersB | List all Nginx Proxy Manager users |
| npm_get_userB | Get details of a specific user by ID (use "me" for current user) |
| npm_create_userC | Create a new Nginx Proxy Manager user |
| npm_update_userC | Update an existing user |
| npm_delete_userC | Delete a user by ID |
| npm_get_user_permissionsC | Get permissions for a specific user |
| npm_set_user_permissionsC | Set permissions for a specific user |
| npm_list_settingsB | List all Nginx Proxy Manager settings |
| npm_get_settingC | Get a specific setting by ID |
| npm_update_settingC | Update a setting (e.g., default site behavior) |
| npm_list_audit_logB | List recent audit log entries |
| npm_get_reportB | Get host count report (proxy, redirection, stream, dead) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 52 tools
Each tool pairs a distinct action with a distinct resource (proxy_host, redirection_host, dead_host, stream, access_list, certificate, user, setting), so boundaries are generally clear. The parallel operation sets across the four host types are well-differentiated by resource name, though the near-identical list/get/create/update/delete/enable/disable patterns raise mild misselection risk.
Tool names follow a highly predictable npm_<verb>_<resource> snake_case pattern throughout (list/get/create/update/delete/enable/disable), with consistent plural-for-list and singular-for-single conventions. No mixed conventions or vague verbs.
52 tools is heavy, well above the typical 3-15 range. It is largely justified by the broad domain (four host types, access lists, certificates, users, settings) each needing full CRUD plus enable/disable, but the volume makes the surface intimidating and some operations could be consolidated.
The surface covers full lifecycle CRUD for every host type, access lists, certificates (including renew and challenge testing), users (with permissions), settings, audit logs, and reports. No obvious domain operations are missing.