@kognar/nginx-manager-mcp-server
Provides tools for managing Nginx Proxy Manager resources including proxy hosts, redirection hosts, 404 hosts, streams, certificates (Let's Encrypt and custom), access lists, users, and settings via its API.
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., "@@kognar/nginx-manager-mcp-server list all 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.
@kognar/nginx-manager-mcp-server
MCP server que abstrai chamadas à API do Nginx Proxy Manager.
Instalação
npm install
npm run buildRelated MCP server: coolify-mcp
Configuração
Aceita via argumentos de CLI ou variáveis de ambiente (CLI tem precedência):
flag | env | descrição |
|
| URL completa da API do NPM (use como está — não adicione porta) |
|
| email de login |
|
| senha |
npx @kognar/nginx-manager-mcp-server \
--base-url https://npm.example.com \
--email admin@example.com \
--password changemeUso com Claude Code / Desktop
Adicione no claude_desktop_config.json (ou .mcp.json):
{
"mcpServers": {
"nginx-manager": {
"command": "npx",
"args": [
"-y",
"@kognar/nginx-manager-mcp-server",
"--base-url", "https://npm.example.com",
"--email", "admin@example.com",
"--password", "changeme"
]
}
}
}Alternativa com env vars:
{
"mcpServers": {
"nginx-manager": {
"command": "npx",
"args": ["-y", "@kognar/nginx-manager-mcp-server"],
"env": {
"NPM_BASE_URL": "https://npm.example.com",
"NPM_EMAIL": "admin@example.com",
"NPM_PASSWORD": "changeme"
}
}
}
}Tools disponíveis
Proxy hosts —
npm_list_proxy_hosts,npm_get_proxy_host,npm_create_proxy_host,npm_update_proxy_host,npm_delete_proxy_host,npm_enable_proxy_host,npm_disable_proxy_hostRedirection hosts — idem com
redirection_host404 hosts — idem com
dead_hostStreams — idem com
streamCertificates —
npm_list_certificates,npm_get_certificate,npm_create_certificate_letsencrypt,npm_create_certificate_custom,npm_renew_certificate,npm_test_certificate_http_reach,npm_delete_certificateAccess lists —
npm_list_access_lists,npm_get_access_list,npm_create_access_list,npm_update_access_list,npm_delete_access_listUsers —
npm_list_users,npm_get_user,npm_get_me,npm_create_user,npm_update_user,npm_set_user_password,npm_set_user_permissions,npm_delete_userMisc —
npm_get_settings,npm_get_setting,npm_update_setting,npm_get_audit_log,npm_get_reports_hosts,npm_health
Desenvolvimento
npm run dev # executa via tsx
npm run typecheck # valida tipos sem emitirAutenticação usa POST /api/tokens com cache em memória e refresh automático 1 min antes da expiração.
Licença
Available Tools
54 toolsnpm_create_access_listCreate access listD
Create an access list.
Inputs: name (required), items, clients, pass_auth, +1 more.
npm_create_certificate_customUpload custom certificate (metadata only)B
Create a custom certificate record. File upload must follow via npm_upload_certificate.
Inputs: nice_name (required), domain_names (required).
npm_create_certificate_letsencryptRequest Let's Encrypt certificateC
Request a new Let's Encrypt certificate for the given domain names.
Inputs: meta (required), domain_names (required).
npm_create_dead_hostCreate 404 hostD
Create a 404 host.
Inputs: domain_names (required), meta, ssl_forced, hsts_enabled, +4 more.
npm_create_proxy_hostCreate proxy hostC
Create a new proxy host.
Inputs: domain_names (required), forward_host (required), forward_port (required), forward_scheme (required), +12 more.
npm_create_redirection_hostCreate redirection hostD
Create a redirection host.
Inputs: domain_names (required), forward_scheme (required), forward_domain_name (required), meta, +9 more.
npm_create_streamCreate streamC
Create a TCP/UDP stream.
Inputs: incoming_port (required), forwarding_host (required), forwarding_port (required), meta, +3 more.
npm_create_userCreate userC
Create a new user.
Inputs: name (required), email (required), nickname (required), auth, +2 more.
npm_delete_access_listDelete access listC
Delete an access list.
Inputs: id (required).
npm_delete_certificateDelete certificateC
Delete a certificate by ID.
Inputs: id (required).
npm_delete_dead_hostDelete 404 hostC
Delete a 404 host.
Inputs: id (required).
npm_delete_proxy_hostDelete proxy hostC
Delete a proxy host by ID.
Inputs: id (required).
npm_delete_redirection_hostDelete redirection hostC
Delete a redirection host.
Inputs: id (required).
npm_delete_streamDelete streamC
Delete a stream.
Inputs: id (required).
npm_delete_userDelete userD
Delete a user.
Inputs: id (required).
npm_disable_dead_hostDisable 404 hostC
Disable a 404 host.
Inputs: id (required).
npm_disable_proxy_hostDisable proxy hostD
Disable a proxy host.
Inputs: id (required).
npm_disable_redirection_hostDisable redirection hostC
Disable a redirection host.
Inputs: id (required).
npm_disable_streamDisable streamD
Disable a stream.
Inputs: id (required).
npm_enable_dead_hostEnable 404 hostC
Enable a 404 host.
Inputs: id (required).
npm_enable_proxy_hostEnable proxy hostC
Enable a proxy host.
Inputs: id (required).
npm_enable_redirection_hostEnable redirection hostC
Enable a redirection host.
Inputs: id (required).
npm_enable_streamEnable streamC
Enable a stream.
Inputs: id (required).
npm_get_access_listGet access listB
Get an access list by ID.
Inputs: id (required), expand.
npm_get_audit_logGet audit logB
Fetch the audit log.
Inputs: no named parameters.
npm_get_certificateGet certificateB
Get a certificate by ID.
Inputs: id (required), expand.
npm_get_dead_hostGet 404 hostC
Get a 404 host by ID.
Inputs: id (required), expand.
npm_get_meGet current userA
Get the currently authenticated user.
Inputs: no named parameters.
npm_get_proxy_hostGet proxy hostC
Get a proxy host by ID.
Inputs: id (required), expand.
npm_get_redirection_hostGet redirection hostC
Get a redirection host by ID.
Inputs: id (required), expand.
npm_get_reports_hostsHosts reportB
Aggregate hosts report (counts by type/status).
Inputs: no named parameters.
npm_get_settingGet settingC
Get a setting by name.
Inputs: name (required).
npm_get_settingsList settingsA
List all NPM settings.
Inputs: no named parameters.
npm_get_streamGet streamC
Get a stream by ID.
Inputs: id (required), expand.
npm_get_userGet userA
Get a user by ID. Pass 'me' via id=0 is not supported; use the numeric ID.
Inputs: id (required), expand.
npm_healthAPI healthA
Check NPM API health/version.
Inputs: no named parameters.
npm_list_access_listsList access listsC
List all access lists.
Inputs: expand.
npm_list_certificatesList certificatesB
List all SSL certificates.
Inputs: expand.
npm_list_dead_hostsList 404 hostsC
List all 404 (dead) hosts.
Inputs: expand.
npm_list_proxy_hostsList proxy hostsB
List all proxy hosts configured in Nginx Proxy Manager.
Inputs: expand.
npm_list_redirection_hostsList redirection hostsC
List all redirection hosts.
Inputs: expand.
npm_list_streamsList streamsB
List all TCP/UDP streams.
Inputs: expand.
npm_list_usersList usersC
List all NPM users.
Inputs: expand.
npm_renew_certificateRenew certificateC
Renew a Let's Encrypt certificate.
Inputs: id (required).
npm_set_user_passwordSet user passwordC
Set a user's password.
Inputs: id (required), secret (required), current.
npm_set_user_permissionsSet user permissionsC
Set a user's permissions.
Inputs: id (required), streams (required), dead_hosts (required), visibility (required), +4 more.
npm_test_certificate_http_reachTest HTTP reachabilityA
Test whether domains are HTTP-reachable before requesting a cert.
Inputs: domains (required).
npm_update_access_listUpdate access listD
Update an access list.
Inputs: id (required), name, items, clients, +2 more.
npm_update_dead_hostUpdate 404 hostC
Update a 404 host.
Inputs: id (required), meta, ssl_forced, domain_names, +5 more.
npm_update_proxy_hostUpdate proxy hostC
Update an existing proxy host (partial fields allowed).
Inputs: id (required), meta, locations, ssl_forced, +13 more.
npm_update_redirection_hostUpdate redirection hostC
Update a redirection host.
Inputs: id (required), meta, ssl_forced, domain_names, +10 more.
npm_update_settingUpdate settingC
Update a setting by name.
Inputs: name (required), meta, value.
npm_update_streamUpdate streamD
Update a stream.
Inputs: id (required), meta, incoming_port, certificate_id, +4 more.
npm_update_userUpdate userD
Update a user.
Inputs: id (required), name, email, roles, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 54 tools
Each tool has a unique combination of action and resource (e.g., npm_create_proxy_host vs npm_delete_proxy_host). Actions like create, delete, get, list, update, enable, disable are clearly distinct across resource types (proxy_host, redirection_host, stream, etc.), leaving no ambiguity for an agent.
All tools follow a consistent 'npm_<verb>_<noun>' pattern. Verbs are standard CRUD plus enable/disable, and nouns are resource names. No mixing of camelCase or snake_case, and the pattern is predictable across all 54 tools.
With 54 tools, this server has a very high tool count for a single domain. While each tool serves a distinct purpose, the number exceeds the 25+ threshold for 'too many', potentially overwhelming an agent or requiring excessive navigation.
The tool set covers full CRUD for all major Nginx Proxy Manager resources (proxy hosts, redirection hosts, streams, certificates, access lists, users, settings) plus enabling/disabling, certificate testing and renewal, audit log, and reports. No obvious gaps exist for core proxy management tasks.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
Secure and manage MCP servers through the Speakeasy AI Control Plane from your agent.
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
- AlicenseBqualityBmaintenanceMCP server for managing Coolify instances, enabling control of applications, databases, services, servers, and more via natural language.13657 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for managing SWAG reverse-proxy configurations, including config generation, backups, logs, and health checks. Enables managing nginx subdomain configs for SWAG through a unified action router.7MIT
- AlicenseBqualityCmaintenanceEnables AI agents to manage Nginx Proxy Manager (reverse proxies, streams, redirects, and Let's Encrypt certificates) through natural language commands.3023 npmMIT