Nginx Proxy Manager MCP
Lets Claude read and modify Nginx Proxy Manager through its API, with confirmations for changes and deletions.
npm_status — check NPM is reachable and logged in; returns version and counts of proxy hosts, redirection hosts, 404 hosts, and streams. Read only.
npm_hosts — list, get, create, update, delete, enable, or disable proxy hosts, redirection hosts, dead hosts, streams, certificates, and access lists; updates merge with the existing item so nothing else is lost. Certificates and access lists can only be listed, read, or deleted here.
npm_call — call any
/api/path directly with GET, POST, PUT, PATCH, or DELETE; use for certificates (create, renew), access lists, users, settings, and the audit log.npm_audit_log — see the newest changes in NPM (who did what, and when). Read only.
Safety — reads run immediately; changes need
confirm=true; deletes and user/settings changes also need an exactconfirm_phrase; login/token paths are blocked and credentials are never printed.
Provides tools for interacting with the Nginx Proxy Manager API, enabling status checks, management of proxy hosts, redirection hosts, 404 hosts, streams, certificates, and access lists, viewing audit logs, and making arbitrary NPM API calls with safety confirmations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Nginx Proxy Manager MCP list my Nginx Proxy Manager proxy hosts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Nginx Proxy Manager MCP
A small tool that lets Claude read and change Nginx Proxy Manager through its API.
It runs on your own computer. Your password stays on your computer.
What Claude can do with it
Check that NPM is up (npm_status).
List, look at, add, change, turn on, turn off, and delete: proxy hosts, redirection hosts, 404 hosts, and streams (npm_hosts).
List and delete certificates. List access lists (npm_hosts).
See the newest changes made in NPM (npm_audit_log).
Anything else in the NPM API, such as making or renewing a certificate, access lists, users, and settings (npm_call).
When Claude changes a host, the tool reads the current one first and merges your change. Nothing else on that host is lost.
Related MCP server: npm-mcp
Safety
Every call has a safety level.
read: runs right away.
change: adding, editing, turning on or off. It does not run until Claude asks you and sets
confirm. Claude shows you what will be sent first.destructive: deleting anything, and any change to users or settings. It also needs an exact phrase typed back, like
delete proxy-hosts 5.
Other protections:
Login and token calls are blocked. The tool logs in by itself.
The password and the login token are never printed. They are removed from error messages.
Paths must start with
/api/. The tool cannot be pointed at another site.
Set up
1. Make a user for Claude
Open the NPM web page (port 81).
Go to Users, then Add User.
Use a separate user just for this, like
claude@example.com. Then you can turn it off on its own later.Turn OFF two-step login for this user. The tool cannot do the code step.
Give it Administrator, or pick the permissions you want it to have.
Do not paste the password in a chat. Put it only in the config file below.
2. Add the tool to Claude
Open the Claude desktop app settings and find the MCP servers config file.
Add the block from claude_desktop_config.example.json.
Change the address, email, and password.
NPM_URL: your NPM admin address, likehttp://192.168.1.75:81NPM_EMAIL: the login email of the user you madeNPM_PASSWORD: that user's password
That file now holds a secret. Do not share it. Do not put it on GitHub.
The example uses uvx. If you do not have it, use Python instead:
pip install D:\GitHub-Projects\nginx-proxy-manager-mcpThen use "command": "nginx-proxy-manager-mcp" and no args.
Restart the Claude desktop app.
3. Try it
Ask Claude: "Show my Nginx Proxy Manager proxy hosts."
Other settings
NPM_VERIFY_TLS=false: for an https address with a self-signed certificate.
Good to know
For a new outside address, use its own subdomain as a proxy host. Custom Locations under an existing domain were unreliable on this NPM.
The NPM API is not officially documented. This tool follows the schema in the NPM GitHub repo. If a new NPM version changes it, use
npm_calland tell me what broke.Not tested against a real NPM when first built. It was tested against a fake server.
Available Tools
4 toolsnpm_audit_logB
Show the newest changes made in NPM (who did what, and when). Read only.
Inputs: limit. Returns: object
npm_callA
Call any NPM API path directly (the catch-all).
method: GET, POST, PUT, PATCH or DELETE. path: starts with /api/, for example /api/nginx/certificates. data: JSON body for POST and PUT. GET runs right away. POST and PUT need confirm=true after asking the user. DELETE, and anything under /api/users or /api/settings, also needs confirm_phrase set to ' ' exactly, for example 'DELETE /api/nginx/certificates/3'. Login and token paths are blocked. Use npm_hosts for normal hosts and streams. Use this for certificates (create, renew), access lists, users, settings, and the audit log.
Inputs: path (required), method (required), data, confirm, +1 more. Returns: object
npm_hostsA
List, look at, add, change, delete, enable or disable NPM items.
kind: proxy-hosts, redirection-hosts, dead-hosts, streams, certificates, or access-lists. action: list, get, create, update, delete, enable, disable.
list and get are read only. list gives a short summary unless full=true.
create needs
data. Only the main fields are needed. Sensible defaults fill the rest (for proxy-hosts: http, no certificate, block_exploits on). Proxy host example: {"domain_names": ["app.example.com"], "forward_host": "172.16.1.5", "forward_port": 8080, "allow_websocket_upgrade": true}update needs
idanddatawith ONLY the fields to change. The tool reads the current item and merges, so nothing else is lost.create, update, enable and disable need confirm=true, after asking the user.
delete needs confirm=true and confirm_phrase='delete '. certificates and access-lists can only be listed, read, or deleted here. To make or change those, use npm_call. Tip: for a new outside address, use its own subdomain as a proxy host. Custom Locations under an existing domain have been unreliable on this NPM.
Inputs: kind (required), id, data, full, +3 more. Returns: object
npm_statusA
Check that Nginx Proxy Manager is reachable and logged in.
Returns the NPM version and how many proxy hosts, redirection hosts, 404 hosts and streams exist. Read only. Good first call.
Inputs: no named parameters. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
npm_status and npm_audit_log are clearly distinct, but npm_hosts and npm_call overlap for certificate and access-list operations. The descriptions provide clear guidance on when to use each, though npm_call as a catch-all could subsume other tools.
All names use snake_case with an npm_ prefix, which is consistent. However, they mix nouns (npm_status, npm_hosts, npm_audit_log) with a verb (npm_call), deviating from a strict verb_noun pattern.
Four tools cover the domain efficiently: a health check, a multi-resource manager, a raw API gateway, and an audit log. Each tool earns its place without redundancy or bloat.
The combination of npm_hosts (CRUD for hosts/streams) and npm_call (any API path) ensures full lifecycle coverage for all NPM resources. Minor convenience gaps (e.g., certificate creation only via npm_call) do not limit overall capability.
Maintenance
Related MCP Connectors
Manage hosts, redirects, SSL, and traffic analytics from Claude and other AI assistants.
Lets your AI build and edit websites in Xodia, a visual website builder for real code (Vite, React, Tailwind CSS or plain HTML in your own git repo): read and write site files, create pages and CMS collections, run typecheck, design and link checks, take screenshots, manage forms and translations, and pick up change requests the user sends from the visual editor. Sign in once with your Xodia account (OAuth). Free plan, no card needed. Setup: https://xodia.ai/ai/mcp
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Run field service from Claude, ChatGPT or Copilot: dispatch, billing, customer messages, photos, and change the software itself, with a confirm step before every change. This address is the India region; US East, Canada, Norway and NZ addresses are at fieldproxy.ai/mcp.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables management of Nginx Proxy Manager instances for configuring proxy hosts, requesting Let's Encrypt SSL certificates, and managing access lists. It allows users to control their web proxy infrastructure through natural language commands in MCP-compatible environments.503MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Nginx Proxy Manager instances through natural language, covering 28 tools for proxy hosts, certificates, streams, and more.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Nginx Proxy Manager, including proxy hosts, SSL certificates, streams, and more.6 npmISC
- AlicenseBqualityCmaintenanceEnables AI agents to manage Nginx Proxy Manager (reverse proxies, streams, redirects, and Let's Encrypt certificates) through natural language commands.3023 npmMIT